Summary: | sound server fatal error: cant create mcop dir | ||
---|---|---|---|
Product: | arts | Reporter: | Zé <mmodem00> |
Component: | general | Assignee: | Stefan Westerfeld <stefan> |
Status: | CLOSED UNMAINTAINED | ||
Severity: | crash | CC: | chkr, dato, rdieter |
Priority: | NOR | ||
Version: | 1.5 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | fedora's patch which solves the problem |
Description
Zé
2005-12-03 02:30:41 UTC
To avoid this arts/mcop annoying problem i had to go build a previous arts revision 483876. Please someone fix this. This is the only change between 483876 and HEAD: Index: x11/x11globalcomm_impl.cc =================================================================== --- x11/x11globalcomm_impl.cc (revision 483876) +++ x11/x11globalcomm_impl.cc (revision 487387) @@ -81,7 +81,7 @@ unsigned long nitems; unsigned long bytes_after; long offset; - char *buf; + unsigned char *buf; propertyMap.clear(); @@ -94,15 +94,15 @@ { XGetWindowProperty( X11display, rootWin, atom, offset, 256, False, XA_STRING, &type, &format, &nitems, &bytes_after, - (unsigned char **)&buf); + &buf); if(type == None) // no property -> no contents return; - s += buf; + s += (char*) buf; offset += nitems/4; if (buf) - XFree(buf); + XFree((char*) buf); } // Parse through the property string stripping out key value pairs I run artswrapper and viola,, here you have the cause of the problem, see the output:
]$ artswrapper
>> running as realtime process now (priority 50)
Error: "/home/mmodem/.kde/socket-nl-217-129-163-150.netvisao.pt" points to "/home/mmodem/tmp/ksocket-mmodem" instead of "/tmp/ksocket-mmodem".
Link points to "/home/mmodem/tmp/ksocket-mmodem"
Error: "/home/mmodem/.kde/socket-nl-217-129-163-150.netvisao.pt" points to "/home/mmodem/tmp/ksocket-mmodem" instead of "/tmp/ksocket-mmodem".
Creating link /home/mmodem/.kde/socket-nl-217-129-163-150.netvisao.pt.
can't create mcop directory
*** Bug 118294 has been marked as a duplicate of this bug. *** $ svn di -r483876:484481 | wc -l 0 the diff between those two arts revisions is empty. Anyway, Ze, what are your TMPDIR / KDETMP settings? At which point in your startup do you export those ? Regarding that there isnt any diff, isnt that related but there are many differences regarding mcop, but what matters is that this is a arts-1.5.0 problem, in arts-1.4.2 this doesnt exist, just run make check and you will see the problem. And starts appearing an error window saying cant create a mcop dir if artswrapper is set setuid, but if you just run artswrapper you can see it. Also you can see a email posted in kde-devel mailing list talking about this, it was posted by "Andreas Haumer <andreas@xss.co.at>" in saturday with the subject "arts-1.5.0: testsuite fails", but ill past here the most important: Today I tried to compile KDE-3.5.0 from source, starting with the arts-1.5.0 package (a procedure I sucessfully did for almost all past KDE releases) This time, "make check" fails for arts as follows: [...] make[2]: Entering directory `/work/arts-1.5.0/tests' TestBuffer : 8 test methods - PASS: testbuffer Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testifacerepo Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testanyref Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testwrapper Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testchangenotify Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testflowsystem TestDispatcher : 1 test methods - Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testdispatcher Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testnotification Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory Creating link /home/andreas/.kde/socket-tolstoi. can't create mcop directory FAIL: testremote =================== 8 of 9 tests failed =================== make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/work/arts-1.5.0/tests' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/work/arts-1.5.0/tests' make: *** [check-recursive] Error 1 andreas@tolstoi:/work/arts-1.5.0 {3347} % ... ... I just checked against arts-1.4.3 and here the test-suite works fine: [...] make[2]: Entering directory `/work/arts-1.4.3/tests' TestBuffer : 8 test methods - PASS: testbuffer TestInterfaceRepo : 6 test methods - PASS: testifacerepo TestAnyRef : 2 test methods - PASS: testanyref TestWrapper : 6 test methods - PASS: testwrapper TestChangeNotify : 11 test methods - PASS: testchangenotify TestFlowSystem : 2 test methods - PASS: testflowsystem TestDispatcher : 1 test methods - PASS: testdispatcher TestNotification : 3 test methods - PASS: testnotification TestRemote : 5 test methods - PASS: testremote ================== All 9 tests passed ================== make[2]: Leaving directory `/work/arts-1.4.3/tests' make[1]: Leaving directory `/work/arts-1.4.3/tests' Making check in doc make[1]: Entering directory `/work/arts-1.4.3/doc' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/work/arts-1.4.3/doc' Making check in gmcop make[1]: Entering directory `/work/arts-1.4.3/gmcop' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/work/arts-1.4.3/gmcop' Making check in qtmcop make[1]: Entering directory `/work/arts-1.4.3/qtmcop' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/work/arts-1.4.3/qtmcop' Making check in x11 make[1]: Entering directory `/work/arts-1.4.3/x11' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/work/arts-1.4.3/x11' make[1]: Entering directory `/work/arts-1.4.3' make[1]: Nothing to be done for `check-am'. make[1]: Leaving directory `/work/arts-1.4.3' andreas@tolstoi:/work/arts-1.4.3 {3350} % I noticed that there is already at least one bug report for arts possibly describing the problem I see, which suggests that there might be some substantial problem with arts-1.5.0 I hope now at last this can be fixed. http://lxr.kde.org/source/KDE/kdelibs/kinit/lnusertemp.c#183 Goal: Create a temp directory and link to it. if ((result == -1) && (errno == ENOENT)) { printf("Creating link %s.\n", kde_tmp_dir); // First try: Use /tmp/ksocket-$USER result = create_link(kde_tmp_dir, user_tmp_dir); if (result == 0) return 0; /* Success */ // If that failed, try /tmp/ksocket-$USERXXXXXX where XXXXXX is random unlink(kde_tmp_dir); strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir)); #if 0 mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */ #else if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */ // Wonderful: mkdtemp returns -1 on error, and usually 0 on success. // Essentially, above line successfully creates directory, then returns a failure code!!! // Change to: // if (mkdtemp(user_tmp_dir)==-1) return 1; #endif return create_link(kde_tmp_dir, user_tmp_dir); } I have compiled arts revision 490760 and now when running as user artswrapper doesnt guve any symlink error, but still give error, see the output:
~]$ artswrapper
can't register Arts::MidiManager
There are already artsd objects registered, looking if they are active...
Error: Can't add object reference (probably artsd is already running).
If you are sure it is not already running, remove the relevant files:
/home/mmodem/tmp/ksocket-mmodem/Arts_SoundServerV2
/home/mmodem/tmp/ksocket-mmodem/Arts_SoundServer
/home/mmodem/tmp/ksocket-mmodem/Arts_SimpleSoundServer
/home/mmodem/tmp/ksocket-mmodem/Arts_PlayObjectFactory
/home/mmodem/tmp/ksocket-mmodem/Arts_AudioManager
Now running artswrapper as root it continues giving error regarding the symlink:
]# artswrapper
>> running as realtime process now (priority 50)
Error: "/root/.kde/socket-a81-84.cpe.netcabo.pt" points to "/tmp/ksocket-root" instead of "/root/tmp/ksocket-root".
Link points to "/tmp/ksocket-root"
Error: "/root/.kde/socket-a81-84.cpe.netcabo.pt" points to "/tmp/ksocket-root" instead of "/root/tmp/ksocket-root".
Creating link /root/.kde/socket-a81-84.cpe.netcabo.pt.
Created link from "/root/.kde/socket-a81-84.cpe.netcabo.pt" to "/root/tmp/ksocket-root"
when running artswrapper as user i get this error: ]$ artswrapper can't register Arts::MidiManager There are already artsd objects registered, looking if they are active... Error: Can't add object reference (probably artsd is already running). If you are sure it is not already running, remove the relevant files: /home/mmodem/tmp/ksocket-mmodem/Arts_SoundServerV2 /home/mmodem/tmp/ksocket-mmodem/Arts_SoundServer /home/mmodem/tmp/ksocket-mmodem/Arts_SimpleSoundServer /home/mmodem/tmp/ksocket-mmodem/Arts_PlayObjectFactory /home/mmodem/tmp/ksocket-mmodem/Arts_AudioManager Hi, I've suffered from this problem as well. It seems, that fedora has already solved the problem: http://www.redhat.com/archives/fedora-announce-list/2005-December/msg00085.html I've tried out their patch and it solved the problem for me. In my case, the problem occured when artsd was started when there was no kde session active. I got the following error: ------------------------------ artsd -l0 -F10 -S4096 artsd version is 1.5.0 Creating link /home/chkr/.kde/socket-peppercon-rt. can't create mcop directory ------------------------------ After applying the patch, it works without any problems: ------------------------------- artsd -l0 -F10 -S4096 artsd version is 1.5.0 Creating link /home/chkr/.kde/socket-hostname. Created link from "/home/chkr/.kde/socket-hostname" to "/tmp/ksocket-chkr" gsl: using Unix98 pthreads directly for mutexes and conditions autodetecting driver: - oss: 10 - alsa: 15 ------------------------------ If this isn't the same bug, then please tell me and I'll open another one. Best regards, Christian Created attachment 14640 [details]
fedora's patch which solves the problem
see my last comment
Arts is no longer developed and has been unmaintained for quite some time - more than 2 years. With phonon as the replacement for arts in KDE4, we're closing out all the arts bugs in Bugzilla since there is no chance of them being fixed. Thanks |