Bug 117555 - sound server fatal error: cant create mcop dir
Summary: sound server fatal error: cant create mcop dir
Status: CLOSED UNMAINTAINED
Alias: None
Product: arts
Classification: Miscellaneous
Component: general (show other bugs)
Version: 1.5
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Stefan Westerfeld
URL:
Keywords:
: 118294 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-12-03 02:30 UTC by
Modified: 2008-11-19 23:40 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
fedora's patch which solves the problem (537 bytes, patch)
2006-02-11 16:56 UTC, Christian Krause
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 2005-12-03 02:30:41 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc (GCC) 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0) 
OS:                Linux

Im using kde arts revision 484481, kdelibs revision 484497, kdebase revision 485069

Every time i login i keep receiving an error window saying: sound server fatal error: cant create mcop dir, so i created a new user but its the same problem.

Now is even worst since i entered in kcontrol -> sound -> system sound and activated fuul duplex, so now keep receiving that windows with that mcop error over and over and this is too annoying and stop me to do anything!
Comment 1 2005-12-10 05:34:56 UTC
To avoid this arts/mcop annoying problem i had to go build a previous arts revision 483876.

Please someone fix this.
Comment 2 Thiago Macieira 2005-12-10 15:22:01 UTC
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
Comment 3 2005-12-10 17:39:52 UTC
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

Comment 4 Dirk Mueller 2005-12-15 11:21:29 UTC
*** Bug 118294 has been marked as a duplicate of this bug. ***
Comment 5 Dirk Mueller 2005-12-15 11:23:52 UTC
$ 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 ?



Comment 6 2005-12-15 15:21:39 UTC
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.
Comment 7 Daniel Cheramie 2005-12-21 18:38:50 UTC
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);
}
Comment 8 2005-12-23 04:20:48 UTC
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"
Comment 9 2006-01-18 01:18:51 UTC
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
Comment 10 Christian Krause 2006-02-11 16:54:39 UTC
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
Comment 11 Christian Krause 2006-02-11 16:56:19 UTC
Created attachment 14640 [details]
fedora's patch which solves the problem

see my last comment
Comment 12 Matt Rogers 2008-11-19 23:40:16 UTC
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