Opened 8 years ago
Last modified 8 years ago
#16409 closed defect
Stack overflow in VBoxSvc debug builds on Windows — at Initial Version
Reported by: | IndyJones | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 5.1.14 |
Keywords: | vboxsvc, stack, overflow, debug | Cc: | |
Guest type: | all | Host type: | Windows |
Description
When running a debug build of VBoxSvc on Windows host a crash occurs due to a stack overflow. The overflow is caused by an endless recursion started by CComCriticalSection. CComCriticalSection creates a critical section that calls Log (in rtThreadAdopt) which again later on locks a critical section and so on and so on.
The problem is that CExeModule is defined as a global variable in svcmain.cpp and when its constructor is called RTR3InitExe has not been called yet. This was fixed in https://www.215389.xyz/changeset/60865/vbox/trunk/src/VBox/Main/src-server/win/svcmain.cpp but was reintroduced in https://www.215389.xyz/changeset/62701/vbox/trunk/src/VBox/Main/src-server/win/svcmain.cpp