Bug 45804 - dcopserver fails to start -> ICE default IO error handler doing an exit
Summary: dcopserver fails to start -> ICE default IO error handler doing an exit
Status: RESOLVED WORKSFORME
Alias: None
Product: dcop
Classification: Frameworks and Libraries
Component: dcopserver (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Matthias Ettrich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-07-26 18:33 UTC by Gerard Beekmans
Modified: 2004-05-10 18:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gerard Beekmans 2002-07-26 18:29:52 UTC
(*** This bug was imported into bugs.kde.org ***)

Package:           dcopserver
Version:           KDE 3.0.2 
Severity:          crash
Installed from:    Compiled From Sources
Compiler:          GCC 3.1
OS:                Linux
OS/Compiler notes: Not Specified

When KDE is started the splash screen comes up immediately followed by a pop-up saying:

"There was an error setting up inter-process communications for KDE. The message returned by the system was: Could not open network socket.  Please check that the dcopserver program is running!"

The console shows these lines:

kdeinit: Launched DCOPServer pid = 1131 result = 0
DCOP: register 'anonymous-1131' -> number of clients is now 1
ICE default IO error handler doing an exit() pid = 1131 errno = 2
kdeinit: DCOPServer could not be started aborting.
Warning: connect() failed: : Connection refused
DCOPClient::attachInternal. Attach failed Could not open network socket
KCrash: crashing.... crashRecursionCounter = 2
KCrash: Application Name = ksplash path = <unknown> pid = 1128
DCOPClient::attachInternal. Attach failed Could not open network socket
kdeinit: Launched DCOPServer pid = 1138 result = 0
DCOP: register 'anonymous-1138' -> number of clients is now 1
ICE default IO error handler doing an exit() pid = 1138 errno = 2
kdeinit: DCOPServer could not be started aborting.
DCOPClient::attachInternal. Attach failed Could not open network socket

I've tried to run this as user root as well as a newly created user (so there wouldn't be any stale files lying around in the home directory). Running 'strace' on dcopserver didn't show me anything I could use but maybe it's output is desired anyways. If so I'll send it along.

(Submitted via bugs.kde.org)
Comment 1 Simon Hausmann 2002-10-01 00:14:36 UTC
Could it be that the directory /tmp/.ICE-unix is not writable for you?  
Comment 2 Aaron Williams 2003-02-13 08:05:53 UTC
Another possible hole... 
 
diff -u Xtranssock.c~ Xtranssock.c 
--- Xtranssock.c~       Tue Feb 11 18:49:27 2003 
+++ Xtranssock.c        Wed Feb 12 23:02:57 2003 
@@ -391,6 +391,8 @@ 
       ) { 
        PRMSG (1, "SocketOpen: socket() failed for %s\n", 
            Sockettrans2devtab[i].transname, 0, 0); 
+        if (ciptr->fd > 0) 
+            close(ciptr->fd); 
 
        xfree ((char *) ciptr); 
        return NULL; 
 
In the above, if you exceed TRANS_OPEN_MAX file descriptors you return without closing the 
socket descriptor. 
Comment 3 Waldo Bastian 2003-03-19 19:38:35 UTC
I have removed the TRANS_OPEN_MAX limit, but it is very unlikely that that 
caused this problem: The dcopserver is unlikely to be using very much files shortly 
after startup. 
Comment 4 Gerard Beekmans 2004-05-10 18:55:46 UTC
The problem stopped showing up in later KDE releases and I've been unable to forcefully reproduce it.