Opened 7 years ago
Last modified 7 years ago
#73 new defect
Failed to create the VirtualBoxClient COM object
Reported by: | David McKenna | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Main | Keywords: | |
Cc: |
Description
I had Virtual Box working fine with a WinXP volume, but haven't started it up in about 2 months until today. Now when I double click the VirtualBox icon, I get this error:
Failed to create the VirtualBoxClient COM object. The application will now terminate.
Callee RC: NS_ERROR_ABORT (0x80004004)
I tried re-installing VBox but no help. The only things that may have changed in the past 2 months or so would be AN drivers and RPM ports (which I strive to stay current with). Any idea what may be wrong?
Change History (18)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Thanks for the tip. I did 'Yum reinstall...' on all the listed libraries (and it worked), but still I can't start VirtualBox. I also used PMdll to check if all libraries needed are available, and they are. I have a feeling this may be due to an upgrade in either libcx or pthread (recently updated), but it will be tricky to downgrade them because the most recent python requires these most recent versions....
comment:3 by , 7 years ago
It's libcx... had version 0.6.1-2 installed (from netlabs-exp). Manually copied version 0.6.0-1 (from netlabs-rel) over it and VirtualBox started working. Should this be reported as a bug?
comment:4 by , 7 years ago
Hmm, just updated all dependency libs for VBox, including libcx 0.6.1-1 -> 0.6.1-2, and everything is working for me. Maybe, libcx 0.6.1-2 has some requirements which are not written into its dependencies, so it didn't installed? So, I have this requirements, but you don't. Not sure if it could be a bug. (Just looked into it, it depends on gcc1.dll and libc066.dll, maybe, you need to update these libs too). Anyway, congratulations that everything is now working!
comment:5 by , 7 years ago
Strange! I definitely cannot start VBox with the 0.6.1 version of libcx. Is there any way to enable some kind of logging with VBox so maybe I could get an idea of what is going wrong?
comment:6 by , 7 years ago
David, you may try PMDLL to see if there any LIBCx DLL req that's missing. Do you get any popuplog entry btw?
comment:7 by , 7 years ago
No popuplog, only the error message in the title. I tried PMdll, but it appears that everything expected is available. I went ahead and reinstalled all requirements again, but still VirtualBox won't start unless I put libcx version 0.6.0 in. No other app has any problems that I have seen.
comment:8 by , 7 years ago
Did you tried to update everything, not only libcx? (I mean, doing "yum update")? AFAIK, libcx only requires gcc1.dll and libc066.dll. BTW, Dmitry meant, use PMDLL on libcx0.dll only, not on whole VirtualBox.exe.
comment:9 by , 7 years ago
Yes, I am current on all libraries (from netlabs-exp and netlabs-rel). I did run PMdll on libcx0.dll and everything was shown as available. I did 'Yum reinstall...' on all requirements again (including libgcc1 and libc066), but no change... I do not have gcc installed (I don't develop apps)... does that matter?
comment:10 by , 7 years ago
gcc1.dll doesn't require the whole GCC installed, of course. Sorry, no ideas so far ;( The only idea would be to delete all ports tree and reinstall from scratch, with YUM bootstrap.
comment:11 by , 7 years ago
Well, for now I can start VirtualBox using Run! and the 0.6.0 version of libcx in the VirtualBox directory. Good enough for now since I only use VirtualBox occasionally. When new versions of libcx come out, I'll try them with VirtualBox.
comment:12 by , 7 years ago
Just read the wiki on the libcx github site, and set LIBCX_HIGHMEM=2. Now VirtualBox works with 0.6.1 version of libcx. So apparently somebody doesn't like being loaded high on my machine...
comment:13 by , 7 years ago
Hmm, interesting. It's the first case when using highmem by default causes problems. @Valerius, do you have the latest LIBCx installed? (0.6.1)? Do you use any specific LIBCX_HIGHMEM value or leave it empty?
comment:14 by , 7 years ago
2dmik: I have the latest libcx-0.6.1-2.oc00.pentium4 installed, and no LIBCX_HIGHMEM variable in config.sys. VirtualBox starts successfully.
Note: Now VirtualBox.exe starts successfully. VboxSDL.exe previously started ok too, but after I rebooted, I now have the following errors:
_fmutex operation failed: LIBC Heap request
[code]
Killed by SIGABRT
pid=0x01cf ppid=0x01ce tid=0x0001 slot=0x00e8 pri=0x0200 mc=0x0011 ps=0x0017
L:\SRC\VBOX\OUT\OS2.X86\RELEASE\BIN\VBOXSDL.EXE
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
code
comment:15 by , 7 years ago
Scroll down to the 'C heap displacement' section.
Specifically:
LIBCX_HIGHMEM=2 restores the original kLIBC voting process and disables any LIBCx intervention (for compatibility with old applications).
comment:16 by , 7 years ago
2David McKenna: yes, thanks for explanation
2dmik: So far, libcx-0.6.1-2 is installed. VirtualBox.exe works ok, but VboxSDL.exe crashes. With LIBCX_HIGHMEM=2, VBoxSDL.exe works ok too, without it it crashes.
comment:17 by , 7 years ago
Valerius, my guess is that SDL passes memory to some API that doesn't like high memory. We should either find that place in SDL and force low memory there or force low memory for the whole VBoxSDL binary (LIBCx README.md has a description on how to do that).
David, it may depend on the video driver you are using... (just a guess).
comment:18 by , 7 years ago
I'm using Panorama. I also get a crash (creates a .trp file) when trying to start VBOXSDL, but works with LIBCX_HIGHMEM=2.
If you get this error, this, probably, means that VBox failed to load one of its required libraries. They can be own VBox libraries, or some dependent libraries, installed with yum. If you are sure VBox itself installed correctly, you should try reinstalling all dependent libraries by yum. You can try "yum remove", then "yum install" (or "yum reinstall") on these libraries. The list of all libs is at the main VBox page at Netlabs: http://trac.netlabs.org/vbox/. This is the same problem as with newer FireFox/Seamonkey. Some libs, required by XUL.DLL are mising, or broken. But instead of XUL.DLL, missing/broken are some dependencies of VBoxRT.dll. Most probably, you have removed some required DLL's.