Opened 9 years ago
Last modified 9 years ago
#22 new defect
XPCOM or VBOX 'Main' API testcases hang on startup
Reported by: | Valery V. Sedletski | Owned by: | Valery V. Sedletski |
---|---|---|---|
Priority: | major | Milestone: | VBox driver |
Component: | Frontends | Keywords: | |
Cc: |
Description
The programs using XPCOM (XPCOM or VBox 'Main' API testcases) stick on XPCOM init. This is for majority of such programs. The exception is VBoxHeadless VBox frontend. It starts successfuly (The VM is running as intended, if look into VBox logs).
Change History (6)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
And what is the exact reason of the hang itself? A missing directory per se can't be the hang reason... We should fix the hang and give an error message instead. Also, we may instruct test cases look in ../components
instead of just ./components
to avoid moving them to bin
— as an option. What do other linux platform do there? They should have exactly the same problem because they also use XPCOM...
comment:3 by , 9 years ago
This is what the debug build writes (a failed assertion):
N:\src\vbox\out\os2.x86\debug\bin>testcase\tstVBoxAPI.exe tstVBoxAPI: TESTING... No Persistent Registry Found. Type Manifest File: N:\SRC\VBOX\OUT\OS2.X86\DEBUG\BIN\TESTCASE\components\xpti.dat ###!!! ASSERTION: Failed to write xpti manifest!: 'Error', file N:/src/vbox/src/libs/xpcom18a4/xpcom/reflect/xptinfo/src/xptiInterfa ceInfoManager.cpp, line 1937 nsNativeComponentLoader: autoregistering begins. nsNativeComponentLoader: autoregistering FAILED nsNativeComponentLoader: autoregistering begins. nsNativeComponentLoader: autoregistering FAILED !!Assertion Failed!! Expression: SUCCEEDED (rc) Location : N:/src/vbox/src/VBox/Main/glue/initterm.cpp(502) nsresult com::Initialize(bool) COM RC = NS_ERROR_FILE_NOT_FOUND (0x80520012)
On "release" build it just sticks on com::Initialize(). Unfortuantely, I don't have Linux now -- windows XP only. But winXP is a special case. So, I cannot easily check that now (Linux and main data partition are lost because of a bad sector put on EBR :()
Also, I tried to start testcases from bin, and start them as
testcase\tstVBoxAPI.exe
so the result is still as above -- it probably, checks the test binary directory but not a current dir, and searches for ./components relatively to it.
comment:4 by , 9 years ago
Milestone: | VBox driver → preview |
---|
comment:5 by , 9 years ago
Testcases are not so urgent for preview, so I move it to the next milestone.
comment:6 by , 9 years ago
Milestone: | preview → VBox driver |
---|
This is because the location of XPCOM programs should be in "bin" directory, not in "bin\testcase". So, the XPCOM/Main testcases should be copied to "bin". Otherwise, "bin\cpmponents" subdir (and, maybe, something else) will not be found, so it will fail.