BTW the 3 lines patch in the previous email is under MIT license. Thanks, Florian
Florian Vichot a écrit : > Hello, > > I've been using the virtualbox libvirt driver in my app lately, and I've > noticed a very annoying behaviour: as soon as I initialize the vbox > driver in libvirt, it loads dynamically a bunch of libraries, amongst > which VBoxXPCOM.so. This library spawns a VBoxXPCOMIPCD if none already > exists, and overrides the SIGCLHD handler when it does so, probably to > catch the potential crash of the VBoxXPCOMIPCD daemon. > > Where it gets ugly is when it overwrites the handler without saving the > previous handler, and so whatever was there before in not executed > anymore. My app uses the Qt4 framework, and I make heavy usage of > QProcess (which is a wrapper around a process) and its waitForFinished() > method. To work that method needs to have a handler installed for > SIGCHLD, and Qt4 does so at the app initialisation. > > But as the vbox driver loads its libraries dynamically, those are always > loaded after Qt installed its handler, and thus even though the Qt > handler is well behaved (it saves the previous handler, and executes it > once it's done with it's own code), the VBoxXPCOM.so isn't, and so, my > app freezes every time I make a call to waitForFinished once the vbox > libvirt driver is loaded. > > Actually the fact that's in libvirt is irrelevant, any app using the > XPCOM API will encounter the same problem. > > I've attached a patch that should solve the problem. > > I didn't test it, as whatever version of VirtualBox OSE I got (3.04, > 3.0.6, SVN HEAD), they would either not compile (SVN HEAD) or not work > (in 3.04 and 3.06 OSE, I get this error: "###!!! ASSERTION: > ExceptionStub not thread-safe: '_mOwningThread.GetThread() == > PR_GetCurrentThread()'"), even without the patch. > > As the code I'm patching is the XPCOM library from Mozilla, do I need to > file a bug report with them ? If so, could you point me to the proper > bugtracker, I couldn't find it. > > Thank you, > Florian > > > > ------------------------------------------------------------------------ > > _______________________________________________ > vbox-dev mailing list > [email protected] > http://vbox.innotek.de/mailman/listinfo/vbox-dev _______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
