Muse fails to start and segfaults.

Bug #41780 reported by Frode Haugsgjerd on 2006-04-27
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
muse (Ubuntu)
Medium
MOTU

Bug Description

Muse fails to start and segfaults if not audio is disabled with commandline option -a .
Aditionaly, Muse complains about not being able to set alsa timer frequency to 1024Hz. This is fixed by setting /proc/sys/dev/rtc/max-user-freq to 1024 . I think mplayer also needs to set the timer that high.

Muse 0.7.1+0.7.2pre5-1ubuntu1
kernel 2.6.15-21-686
SB Live Value soundcard.

froh@tigergut:~$ muse -D
No superuser privileges, using system timer fallback
NO Config File </home/froh/.MusE> found
Start euid: 1000 ruid: 1000, Now euid 1000
global lib: </usr/lib/muse>
global share: </usr/share/muse>
muse home: </home/froh>
project dir: <./>
no locale <muse_nn_NO.UTF-8>/</usr/share/muse/locale>
scan ladspa plugin dir </usr/lib/muse/plugins>
scan ladspa plugin dir </usr/lib/ladspa>
scan ladspa plugin dir </usr/local/lib/ladspa>
QtLibraryPath:
  </usr/lib/muse/qtplugins>
  </usr/lib/kde3/plugins/>
  </usr/lib/qt3/plugins>
  </usr/bin>
load instrument definitions from </usr/share/muse/instruments>
READ IDF /usr/share/muse/instruments/Roland_FantomXR.idf
READ IDF /usr/share/muse/instruments/Roland-XP30.idf
READ IDF /usr/share/muse/instruments/Roland-SCD70.idf
READ IDF /usr/share/muse/instruments/Access_Virus.idf
READ IDF /usr/share/muse/instruments/emuproteus2000.idf
READ IDF /usr/share/muse/instruments/Yamaha-PSR530.idf
READ IDF /usr/share/muse/instruments/Yamaha-PSR275.idf
READ IDF /usr/share/muse/instruments/Alesis-QS-78R.idf
READ IDF /usr/share/muse/instruments/Yamaha-S90.idf
READ IDF /usr/share/muse/instruments/AlesisQS6.idf
READ IDF /usr/share/muse/instruments/ns5r.idf
READ IDF /usr/share/muse/instruments/xg.idf
READ IDF /usr/share/muse/instruments/Roland_SRX-09.idf
READ IDF /usr/share/muse/instruments/MC303.idf
READ IDF /usr/share/muse/instruments/MC505.idf
READ IDF /usr/share/muse/instruments/Roland-E28.idf
READ IDF /usr/share/muse/instruments/gs.idf
READ IDF /usr/share/muse/instruments/gm.idf
READ IDF /usr/share/muse/instruments/Waldorf_Microwave-I.idf
READ IDF /usr/share/muse/instruments/Hammond_XB-1.idf
READ IDF /usr/share/muse/instruments/Roland_SRX-02.idf
READ IDF /usr/share/muse/instruments/Yamaha-P50m.idf
READ IDF /usr/share/muse/instruments/ZynAdd-1_4.idf
initMidiAlsa
ALSA port add: <Midi Through Port-0>, 62:0 flags 3 0x63
ALSA port add: <EMU10K1 MPU-401 (UART)>, 64:0 flags 3 0x7f
ALSA port add: <Emu10k1 Port 0>, 65:0 flags 1 0x42
ALSA port add: <Emu10k1 Port 1>, 65:1 flags 1 0x42
ALSA port add: <Emu10k1 Port 2>, 65:2 flags 1 0x42
ALSA port add: <Emu10k1 Port 3>, 65:3 flags 1 0x42
ALSA port add: <MPU-401 UART MIDI>, 80:0 flags 3 0x7f
Start thread Midi with priority 0
Trying RTC timer...
RtcTimer::setTimerFreq(): cannot set tick on /dev/rtc: Permission denied
  precise timer not available
Trying ALSA timer...
got timer = 12
Start thread Disc with priority 0
QInputContext: no input method context available
QInputContext: no input method context available
QObject::connect: No such signal PartCanvas::horizontalScroll(int)
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Arranger::configChanged - no bitmap!
searching for software synthesizer in </usr/lib/muse/synthi>
7 soft synth found
QInputContext: no input method context available
QInputContext: no input method context available
starting with default template
  name2route: <alsa_pcm:playback_1> not found
  name2route: <alsa_pcm:playback_2> not found
Arranger::configChanged - no bitmap!
Thread <Disc> set to SCHED_OTHER priority 0
AlsaTimer::setTimerTicks(): requested freq 1024 Hz too high for timer (max is 1000)
  freq stays at 1000 Hz
Segmentation fault

Changed in muse:
assignee: nobody → motu
status: Unconfirmed → Confirmed

on den 03.05.2006 klokka 09:21 (+0000) skreiv Emmet Hikory:
> *** This bug is a duplicate of bug 33713 ***
>
> ** This bug has been marked a duplicate of bug 33713
> Segfaults on startup for AMD64
>
I dissagree, as i already run the version supposed to fix my problem.
And i dont run in 64bit mode, as I have a Celleron 2.2Ghz.

Emmet Hikory (persia) wrote :

    You are entirely correct. It is not a duplicate. The easiest workaround is to run `sudo dpkg-reconfigure muse` and set it to run setuid, which will enable it to run anyway. On my system, even setting /proc/sys/dev/rtc/max-user-freq
to 1024 still results in the following output:

AlsaTimer::setTimerTicks(): requested freq 1024 Hz too high for timer (max is 1000)
  freq stays at 1000 Hz

Emmet Hikory (persia) wrote :

MuSe upstream has added rtcap support through the --enable-rtcap parameter to ./configure, but this 1) depends on givertcap (http://www.tml.tkk.fi/~tilmonen/givertcap/) which is not in the repositories, and 2) requires the entry of the root password during compilation (prevents auto-building). Until this is resolved, MuSe will continue to require either root execution or setuid.

Vassilis Pandis (pandisv) wrote :

Isn't the setuid a different issue from the segfaulting? I can also confirm that it segfaults, running it with -a stops the segfaulting (this is latest dapper) . I'm attaching a backtrace ...

Vassilis Pandis (pandisv) wrote :

pandis@maxwell:~$ gdb muse
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) set pagination 0
(gdb) handle SIG33 pass nostop noprint
Signal Stop Print Pass to program Description
SIG33 No No Yes Real-time event 33
(gdb) run
Starting program: /usr/bin/muse
[Thread debugging using libthread_db enabled]
[New Thread -1223878976 (LWP 10822)]
No superuser privileges, using system timer fallback
Qt: gdb: -nograb added to command-line options.
         Use the -dograb option to enforce grabbing.
NO Config File </home/pandis/.MusE> found
no locale <muse_en_US.UTF-8>/</usr/share/muse/locale>
Trying RTC timer...
RtcTimer::setTimerFreq(): cannot set tick on /dev/rtc: Permission denied
  precise timer not available
Trying ALSA timer...
got timer = 15
QObject::connect: No such signal PartCanvas::horizontalScroll(int)
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Arranger::configChanged - no bitmap!
open projectfile: No such file or directory
starting with default template
  name2route: <alsa_pcm:playback_1> not found
  name2route: <alsa_pcm:playback_2> not found
Arranger::configChanged - no bitmap!
[New Thread -1226667088 (LWP 10836)]
AlsaTimer::setTimerTicks(): requested freq 1024 Hz too high for timer (max is 1000)
  freq stays at 1000 Hz
[New Thread -1235059792 (LWP 10837)]
[New Thread -1243452496 (LWP 10838)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223878976 (LWP 10822)]
0x73203a72 in ?? ()
(gdb) backtrace
#0 0x73203a72 in ?? ()
#1 0x080a4e3a in main (argc=1, argv=0xbfd91ec4) at app.cpp:2011
(gdb) thread apply all bt

Thread 4 (Thread -1243452496 (LWP 10838)):
#0 0xb71c34d8 in clone () from /lib/tls/i686/cmov/libc.so.6
#1 0x007d0f00 in ?? ()
#2 0x00000000 in ?? ()

Thread 3 (Thread -1235059792 (LWP 10837)):
#0 0x08073666 in Thread::loop (this=0x8494418) at thread.cpp:226
#1 0x08073803 in loop (mops=0xadf71) at thread.cpp:34
#2 0xb736a341 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#3 0xb71c34ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread -1226667088 (LWP 10836)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb71b98c4 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x08073723 in Thread::loop (this=0x8496f48) at thread.cpp:255
#3 0x08073803 in loop (mops=0xfffffffc) at thread.cpp:34
#4 0xb736a341 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5 0xb71c34ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1223878976 (LWP 10822)):
#0 0x73203a72 in ?? ()
#1 0x080a4e3a in main (argc=1, argv=0xbfd91ec4) at app.cpp:2011

Strace log...

Emmet Hikory (persia) wrote :

The difficulty here is not that I cannot reproduce the bug, but that everytime I run under gdb, whether setuid or not, I get a slightly different backtrace from the crash. I can repeat this with the repository version, or with a local version with debug symbols. When running the version from the repositories setuid, everything works, and when running without setuid, it crashes.

Upstream recommends running setuid, and has patched as described above (which works when compiled). As a result, I do not expect that distribution-level effort will have lasting value.

zettberlin (zettberlin) wrote :

On dapper i can run muse whithout being setuid just perfectly after setting /proc/sys/dev/rtc/max-user-freq to 1024 - no seqfaults, no trouble at all.

Dappers kernel is built with the option CONFIG_HZ being set at 1000 at least, 2.6.17-7-generic on edgy is configured with only 250 Hz, wich is too low for using this trick for muse.

Correct me, if i am wrong, fact is, that muse(and rosegarden) runs on dapper like a charm after tweaking /dev/rtc - on edgy it is forced to use alsa-seq timer wich makes it impossible to work with loops as needed.

on den 27.09.2006 klokka 22:26 (+0000) skreiv zettberlin:
> On dapper i can run muse whithout being setuid just perfectly after
> setting /proc/sys/dev/rtc/max-user-freq to 1024 - no seqfaults, no
> trouble at all.
>
> Dappers kernel is built with the option CONFIG_HZ being set at 1000 at
> least, 2.6.17-7-generic on edgy is configured with only 250 Hz, wich is
> too low for using this trick for muse.
>
> Correct me, if i am wrong, fact is, that muse(and rosegarden) runs on
> dapper like a charm after tweaking /dev/rtc - on edgy it is forced to
> use alsa-seq timer wich makes it impossible to work with loops as
> needed.
>
Muse runs fine setuid

froh@tigergut:~$ muse
no locale <muse_nn_NO.UTF-8>/</usr/share/muse/locale>
Trying RTC timer...
got timer = 14
QObject::connect: No such signal PartCanvas::horizontalScroll(int)
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Arranger::configChanged -
bitmap /usr/share/muse/wallpapers/gray_rock.gif!
starting with default template
Arranger::configChanged -
bitmap /usr/share/muse/wallpapers/gray_rock.gif!
cca_open_socket: could not connect to host 'localhost', service '14541'
cca_init: could not connect to server 'localhost' - disabling ladcca

froh@tigergut:~$ ls -l /usr/bin/muse
-rwsr-xr-x 1 root root 2391900 2006-05-08 18:47 /usr/bin/muse

Without the almighty root capabilities, it's reduced to a bucket of bits
and bytes:

froh@tigergut:~$ sudo chmod -s /usr/bin/muse

froh@tigergut:~$ muse
No superuser privileges, using system timer fallback
no locale <muse_nn_NO.UTF-8>/</usr/share/muse/locale>
Trying RTC timer...
got timer = 12
QObject::connect: No such signal PartCanvas::horizontalScroll(int)
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Arranger::configChanged -
bitmap /usr/share/muse/wallpapers/gray_rock.gif!
starting with default template
  name2route: <alsa_pcm:playback_1> not found
  name2route: <alsa_pcm:playback_2> not found
Arranger::configChanged -
bitmap /usr/share/muse/wallpapers/gray_rock.gif!
Segmentation fault

froh@tigergut:~$ ls -l /dev/rtc
crw-rw---- 1 root audio 10, 135 2006-09-30 21:41 /dev/rtc

froh@tigergut:~$ groups
froh adm dialout cdrom floppy audio dip video plugdev games lpadmin
scanner admin
--
Frode Haugsgjerd <email address hidden>

zettberlin (zettberlin) wrote :

>Muse runs fine setuid

This is not an option, isnt it considered ucool to run big beasts like Muse setuid??
Plus: as I said, muse runs like a charm if max-user-freq can be tweaked to 1024, I now use a rt-kernel for edgy from ubuntumusique, that is more or less configured like the older Dapper-Kernel and again: problem solved.

So the result is:
muse does not run in edgy if an official standardkernel is being used

So I have to avoid kernel-upgrades to keep the apps functioning, because the problem is ignored by the maintainers of the official kernel....

<email address hidden>

sam_uk (sam-bristolwireless) wrote :

Not sure if this is the same issue as above - using edgy..

Daniel T Chen (crimsun) wrote :

Is this symptom reproducible in 8.10 alpha?

Changed in muse:
status: Confirmed → Incomplete
Pedro Villavicencio (pedro) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to New. Thanks again!.

Changed in muse:
status: Incomplete → Invalid
André Pirard (a.pirard) wrote :

The information you lack is: yes.

And I do not hesitate to say that this bug report is not invalid at all.
As of 10.04 and probably later, a corner stone of Ubuntu Studio simply does not start.
Anyone can check this in minute(s?): apt-get install muse ; muse
I see no crash but the timer problem is exactly as described.

"echo 1024 > /proc/sys/dev/rtc/max-user-freq"
is an invalid workaround because that file does not exist.
Running muse setuid conflicts with the most basic security rule.
The problem is commented on mailing lists since 2004.

Changed in muse (Ubuntu):
status: Invalid → New

Confirming because it happens to several users.

Changed in muse (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers