Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 22:02:45 +0100
From:      =?ISO-8859-1?Q?Bernhard_Fr=F6hlich?= <decke@bluelife.at>
To:        Joe Maloney <jpm820@gmail.com>
Cc:        "freebsd-emulation@freebsd.org" <freebsd-emulation@freebsd.org>
Subject:   Re: virtualbox-ose segfaults on 10.0
Message-ID:  <CAE-m3X3iPfZ4iGCzvkdUkkWE_KG9PYYXUp8h7tr5nENe_%2BCEOw@mail.gmail.com>
In-Reply-To: <0A5D3966-A5A0-4CB2-84DE-A41022674E9E@gmail.com>
References:  <1386879841.99920.9.camel@localhost> <CAE-m3X0=KbnFzdv7ubv=R7nq0SDVet9ZmzJGpofiBWH65J=aiQ@mail.gmail.com> <0A5D3966-A5A0-4CB2-84DE-A41022674E9E@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks a lot for your help! I have committed a patch now that should fix th=
is
issue once and for all.

http://svnweb.freebsd.org/ports?view=3Drevision&revision=3D336768

The analysis has shown that the vbox buildsystem has a strange check as
part of their hardening that strips away rpath for Hardened-R3
binaries. It looks
like that is supposed to protect against world writable RPATH paths which w=
ould
allow a user to inject malicious shared objects. Our gcc48 path is definite=
ly a
safe place so I decided to disable that check for FreeBSD.

I will send that patch upstream and discuss the implications with the vbox
developers to see if that has some additional risks.


On Sat, Dec 14, 2013 at 1:25 AM, Joe Maloney <jpm820@gmail.com> wrote:
> [jmaloney@jm-desk-pc] ~% sudo ldd /usr/local/bin/VirtualBox
> Password:
> /usr/local/bin/VirtualBox:
> libthr.so.3 =3D> /lib/libthr.so.3 (0x800822000)
> libstdc++.so.6 =3D> /usr/local/lib/gcc46/libstdc++.so.6 (0x800a47000)
> libm.so.5 =3D> /lib/libm.so.5 (0x800d4b000)
> libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x800f71000)
> libc.so.7 =3D> /lib/libc.so.7 (0x80117e000)
>
> On Dec 13, 2013, at 5:02 PM, Bernhard Fr=F6hlich <decke@bluelife.at> wrot=
e:
>
>
> Am 12.12.2013 21:24 schrieb "Joe Maloney" <jpm820@gmail.com>:
>>
>> I cannot get the qt4 interface to start in FreeBSD 10.  VboxManage seems
>> to work fine.  This was just tested with the latest port a few hours ago
>> after Makefile change 336267 Virtualbox 4.2.20.  Below is a backtrace.
>>
>> Joe Maloney
>>
>> [jmaloney@jm-desk-pc] ~% sudo gdb /usr/local/lib/virtualbox/VirtualBox
>> GNU gdb 6.1.1 [FreeBSD]
>> Copyright 2004 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License, and you
>> are
>> welcome to change it and/or distribute copies of it under certain
>> conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB.  Type "show warranty" for
>> details.
>> This GDB was configured as "amd64-marcel-freebsd"...
>> (gdb) run
>> Starting program: /usr/local/lib/virtualbox/VirtualBox
>> [New LWP 101456]
>> [New Thread 801c06400 (LWP 101456/VirtualBox)]
>> Type Manifest File: /root/.VirtualBox/xpti.dat
>> nsNativeComponentLoader: autoregistering begins.
>> nsNativeComponentLoader: autoregistering succeeded
>> nNCL: registering deferred (0)
>> [New Thread 801c11400 (LWP 100154/VirtualBox)]
>> [New Thread 801c0b400 (LWP 101680/VirtualBox)]
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 801c06400 (LWP 101456/VirtualBox)]
>> 0x0000000000000000 in ?? ()
>> (gdb) backtrace
>> #0  0x0000000000000000 in ?? ()
>> #1  0x0000000800afc072 in __dynamic_cast (src_ptr=3D0x7fffffffc7d0,
>> src_type=3D0x8080087c0, dst_type=3D0x808d1cea0, src2dst=3D0)
>>     at ../../.././../gcc-4.6.4/libstdc++-v3/libsupc++/dyncast.cc:61
>> #2  0x000000081142e759 in QtCurve::Style::eventFilter ()
>> from /usr/local/lib/qt4/plugins/styles/qtcurve.so
>> #3  0x0000000807c987cd in
>> QCoreApplicationPrivate::sendThroughObjectEventFilters ()
>> from /usr/local/lib/qt4/libQtCore.so.4
>> #4  0x000000080822750a in QApplicationPrivate::notify_helper ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #5  0x000000080822a1f8 in QApplication::notify ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #6  0x0000000807c984e5 in QCoreApplication::notifyInternal ()
>> from /usr/local/lib/qt4/libQtCore.so.4
>> #7  0x0000000808266ec8 in QWidgetPrivate::propagatePaletteChange ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #8  0x000000080826baa1 in QWidget::setBackgroundRole ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #9  0x000000081142a33f in QtCurve::Style::polish ()
>> from /usr/local/lib/qt4/plugins/styles/qtcurve.so
>> #10 0x0000000808273e21 in QWidget::event ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #11 0x000000080864567f in QMenuBar::event ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #12 0x000000080822751b in QApplicationPrivate::notify_helper ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #13 0x000000080822a1f8 in QApplication::notify ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #14 0x0000000807c984e5 in QCoreApplication::notifyInternal ()
>> from /usr/local/lib/qt4/libQtCore.so.4
>> #15 0x000000080826965e in QWidget::ensurePolished ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #16 0x000000080826970f in QWidget::ensurePolished ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #17 0x000000080824f39d in QLayout::totalMinimumSize ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #18 0x0000000808273569 in QWidget::minimumSizeHint ()
>> from /usr/local/lib/qt4/libQtGui.so.4
>> #19 0x000000080548c8cc in UISelectorWindow::loadSettings
>> (this=3D0x801ed4000)
>>
>> at
>> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.2.20/src/VBox/Fron=
tends/VirtualBox/src/selector/UISelectorWindow.cpp:135
>> #20 0x0000000805485d4e in UISelectorWindow (this=3D0x801ed4000,
>> ppSelf=3D0x805c98300, pParent=3D0x0, flags=3D{i =3D -10976})
>>
>> at
>> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.2.20/src/VBox/Fron=
tends/VirtualBox/src/selector/UISelectorWindow.cpp:102
>> #21 0x00000008053d32fa in VBoxGlobal::selectorWnd (this=3D0x805c981e0)
>> from /usr/local/lib/virtualbox/VirtualBox.so
>> #22 0x0000000805367f84 in TrustedMain (argc=3D1, argv=3D0x7fffffffd8b8) =
at
>> qglobal.h:1510
>> #23 0x00000000004024cb in SUPR3HardenedMain (pszProgName=3D0x404d14
>> "VirtualBox", fFlags=3D1, argc=3D1, argv=3D0x7fffffffd8b8,
>> envp=3D0x7fffffffd8c8)
>>
>> at
>> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.2.20/src/VBox/Host=
Drivers/Support/SUPR3HardenedMain.cpp:346
>> #24 0x00000000004013cf in main (argc=3D1, argv=3D0x7fffffffd8b8,
>> envp=3D0x7fffffffd8c8)
>>
>> at
>> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.2.20/src/VBox/Fron=
tends/VirtualBox/src/hardenedmain.cpp:32
>
> Could you please send me the output of: ldd /usr/local/binVirtualBox
>
>



--=20
Bernhard Fr=F6hlich
http://www.bluelife.at/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-m3X3iPfZ4iGCzvkdUkkWE_KG9PYYXUp8h7tr5nENe_%2BCEOw>