VirtualBox

Opened 11 hours ago

#22224 new defect

Regression: pfnClientInitialize() fails if called from a different thread

Reported by: michalprivoznik Owned by:
Component: other Version: VirtualBox-7.1.4
Keywords: Cc: michalprivoznik
Guest type: other Host type: Linux

Description

In libvirt, we have a main thread, that initializes hypervisor drivers. In terms of VBox driver this means, it loads VBoxXPCOMC.so at runtime (via dlsym()) and then tries to get version ->pfnGetVersion(). After this a pool of worker threads is spawned which then execute individual APIs. The very first thread to execute an API against VBox driver then calls ->pfnClientInitialize(). Now, with 7.0.x this worked flawlessly (and even with older 6.x.x releases), but with 7.1.0 we're seeing the function returning an error.

I wrote a small reproducer even that mimics what libvirt is doing. BTW: I've even added ->pfnClientThreadInitialize() call to the other threads but to no help.

Attachments (1)

vbox_repro.c (2.8 KB ) - added by michalprivoznik 11 hours ago.
vbox_repro.c

Download all attachments as: .zip

Change History (1)

by michalprivoznik, 11 hours ago

Attachment: vbox_repro.c added

vbox_repro.c

Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette