glib2.0 crashes when applications are started with chrt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GLib |
Expired
|
Medium
|
|||
glib2.0 (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
Binary package hint: ardour
I'm running the latest karmic as of this writing (17-Oct-2009), and I'm using the 2.6.31-9-rt kernel.
I launch ardour using the command "chrt 69 ardour2" to ensure it gets enough attention from the system. This worked flawlessly in Jaunty (with a custom-compiled kernel, though), but in Karmic I get:
---
$ chrt 69 ardour2
WARNING: Your system has a limit for maximum amount of locked memory!
This might cause Ardour to run out of memory before your system runs
out of memory. You can view the memory limit with 'ulimit -l', and it
is normally controlled by /etc/security/
Ardour/GTK 2.8.2
(built using 5396 and GCC version 4.4.1)
Copyright (C) 1999-2008 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker
Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
loading default ui configuration file /etc/ardour2/
loading user ui configuration file /home/pablo/
Loading ui configuration file /etc/ardour2/
theme_init() called from internal clearlooks engine
ardour: [INFO]: Ardour will be limited to 1024 open files
loading system configuration file /etc/ardour2/
loading user configuration file /home/pablo/
ardour: [INFO]: No H/W specific optimizations in use
GThread-ERROR **: file /build/
aborting...
Aborted (core dumped)
---
This doesn't happen if I execute "ardour2" and then "chrt -p 69 $(pidof ardour-2.8.2)", so I guess that it is only at startup that Ardour's scheduling policy/priority is checked by glib.
I guess the problem is really in glib, so I'll add it to the package list. I will recheck with the non-rt kernel to see what happens there.
For the record, I'm also running jackd at a priority of 75, hydrogen (compiled from svn) at a priority of 69, and have increased the priority of the soundcard and rtc0 interrupts to 85 and 98, respectively [all of these with policy SCHED_RR].
ProblemType: Bug
Architecture: amd64
Date: Sat Oct 17 13:07:06 2009
DistroRelease: Ubuntu 9.10
Package: ardour 1:2.8.2-0ubuntu1
ProcEnviron:
PATH=(custom, user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcVersionSign
SourcePackage: ardour
Uname: Linux 2.6.31-9-rt x86_64
XsessionErrors:
(gnome-
(gnome-
(polkit-
(nautilus:2916): Eel-CRITICAL **: eel_preferences
(gnome-
affects: | ardour (Ubuntu) → glib2.0 (Ubuntu) |
Changed in glib2.0 (Ubuntu): | |
status: | New → Triaged |
Changed in glib2.0 (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Kamal Mostafa (kamalmostafa) |
Changed in glib2.0 (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in glib: | |
importance: | Unknown → Medium |
status: | Unknown → New |
Changed in glib: | |
status: | New → Expired |
Checked that it happens also with kernel 2.6.31-14-generic.
Also, I've found out that this happens with many other GTK applications, presumably those which are threaded (nautilus, rhythmbox, totem, etc), and non-threaded ones (gcacl-tool, same-gnome, gnome-terminal, etc) are not affected.
So this has nothing to do with ardour at all. I've reassigned the bug to glib2.0. I'll update the description too.
Furthermore, it appears that the issue is with non-zero priorities. SCHED_IDLE| OTHER|BATCH do not accept non-zero priorities, so they work fine:
---
$ chrt -i 0 totem
$ chrt -o 0 totem
$ chrt -b 0 totem
---
however SCHED_FIFO|RR only accept non-zero priorites, and they fail to run:
---
$ chrt -f 50 totem
GThread-ERROR **: file /build/ buildd/ glib2.0- 2.22.2/ gthread/ gthread- posix.c: line 348 (g_thread_ create_ posix_impl) : error 'Invalid argument' during 'pthread_ attr_setschedpa ram (&attr, &sched)'
aborting...
Aborted (core dumped)
$ chrt -r 50 totem
GThread-ERROR **: file /build/ buildd/ glib2.0- 2.22.2/ gthread/ gthread- posix.c: line 348 (g_thread_ create_ posix_impl) : error 'Invalid argument' during 'pthread_ attr_setschedpa ram (&attr, &sched)'
aborting...
Aborted (core dumped)
---
Unrelated Launchpad question: how does one add (rather than replace) an affected package in a bug?