Bug 42757
Summary: | [bisected] General stability issues since "futex: Sanitize cmpxchg_futex_value_locked API" commit | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Émeric Maschino (emeric.maschino) |
Component: | IA-64 | Assignee: | platform_ia-64 |
Status: | RESOLVED PATCH_ALREADY_AVAILABLE | ||
Severity: | high | CC: | emeric.maschino, jrnieder, tony.luck |
Priority: | P1 | ||
Hardware: | IA-64 | ||
OS: | Linux | ||
Kernel Version: | 2.6.39 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: | proposed patch |
Description
Émeric Maschino
2012-02-11 13:26:39 UTC
While also testing GL rendering on my system, trying to run ioQuake3-based Quake 3 demo gives at startup: ------ Initializing Sound ------ Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting. ----- Client Shutdown (Received signal 6) ----- RE_Shutdown( 1 ) So, still triggered in PulseAudio, but definitely mutex-related... Forwarded to the linux-ia64 list, though I chose a poor subject line. http://thread.gmane.org/gmane.linux.kernel/1111752/focus=22096 Created attachment 72915 [details]
proposed patch
I think I found the problem. GCC re-orders code because it does not know that the ia64 fault handler may change the value of register r8 to -EFAULT
Hello,
Just rebuilt kernel with patch proposed in attachment #72915 [details]. Issue fixed :-)
Many thanks,
Emeric
PS: gdb is still returning early with SIGTRAP when debugging Iceweasel (didn't have time to try other programs). However every other reported issues (futex test suite, Tab keystroke in a terminal window, Iceweasel's buttons and menus, ioQuake3-based Quake 3 demo) now work fine. So it may be a problem with gdb itself.
Fix (slightly modified from patch attached here because Linus pointed out that we should tell GCC that the __asm__ code modifies r8) is now upstream: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=c76f39bddb84f93f70a5520d9253ec0317bec216 New patch version works flawlessly. Thanks, Emeric |