Opened 9 years ago

Closed 9 years ago

#13 closed defect (fixed)

The VBox 'Main' server app. won't start with NS_ERROR_FACTORY_NOT_REGISTERED

Reported by: Valery V. Sedletski Owned by: Valery V. Sedletski
Priority: major Milestone: VBox driver
Component: Driver Keywords:
Cc:

Description (last modified by Valery V. Sedletski)

When trying to start the VBox 'Main' server (VBoxSVC.exe), the VBoxXPCOMIPCD.exe (the XPCOM IPC daemon) won't spawn, an error from this ticket title is returned. But if I start VBoxXPCOMIPCD.exe daemon manually, then it starts successfully.
But if I then try starting an appilcation, using the VBox XPCOM API (a user interface app, or a tstVBoxAPIXPCOM.exe testcase), then the next error in ticket #14 occurs.

Change History (11)

comment:1 by Valery V. Sedletski, 9 years ago

Owner: set to Valery V. Sedletski
Status: newassigned

comment:2 by Valery V. Sedletski, 9 years ago

Description: modified (diff)
Summary: The VBoxSVC.exe won't start with NS_ERROR_FACTORY_NOT_REGISTEREDThe XPCOM server app. won't start with NS_ERROR_FACTORY_NOT_REGISTERED

comment:3 by Valery V. Sedletski, 9 years ago

Summary: The XPCOM server app. won't start with NS_ERROR_FACTORY_NOT_REGISTEREDThe VBox 'Main' server app. won't start with NS_ERROR_FACTORY_NOT_REGISTERED

comment:4 by Valery V. Sedletski, 9 years ago

Description: modified (diff)

comment:5 by Valery V. Sedletski, 9 years ago

Description: modified (diff)

comment:6 by Valery V. Sedletski, 9 years ago

Now localized the problem to the concrete file. The problem is with XPCOM, which is the same version xpcom18a4 now and back in 2008 (from the last OS/2 port). It appears that since that, much VBox-related changes are applied to XPCOM. Yesterday I tried to revert back the src\libs\xpcom18a4\ipc\ipcd subdirectory to the old version (of year 2008, the changes patch to IPCD is about 70 KB in size). Then VboxXPCOMIPCD.exe become to remain demonized when I start VBoxSVC.exe. So the problem is, very likely, here. And even more -- today I reduced the problem footprint to a file: it is sufficient to revert only src\libs\xpcom18a4\ipc\ipcd\client\src\ipcdclient.cpp file, so, the problem seems to be here.

comment:7 by Valery V. Sedletski, 9 years ago

Heh, in

nsresult
IPC_SpawnDaemon(const char *path)
...
  devNull = PR_Open("/dev/null", PR_RDWR, 0);
  if (!devNull)
    goto end;

changed to

#ifdef RT_OS_OS2
  devNull = PR_Open("/dev/nul", PR_RDWR, 0);
#else
  devNull = PR_Open("/dev/null", PR_RDWR, 0);
#endif
  if (!devNull)
    goto end;

Now the daemon starts and keep runing until VBoxSVC.exe is terminated :)

Version 0, edited 9 years ago by Valery V. Sedletski (next)

comment:8 by Valery V. Sedletski, 9 years ago

This is fixed, as said in the above note, so I'm closing the ticket.

comment:9 by Valery V. Sedletski, 9 years ago

Resolution: fixed
Status: assignedclosed

comment:10 by dmik, 9 years ago

Resolution: fixed
Status: closedreopened

The repository does not actually contain the above fix. Please commit it first, then close the ticket!

comment:11 by dmik, 9 years ago

Resolution: fixed
Status: reopenedclosed

This actually was fixed by me in a different way :) See r45. Sorry for the hassle.

Note: See TracTickets for help on using tickets.