Bug 141764
Summary: | Running an SDL application as non root user causes segfault if artsd is running | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Nicholas Allen <nick.allen> |
Component: | SDL | Assignee: | Thomas Woerner <twoerner> |
Status: | CLOSED INSUFFICIENT_DATA | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 3 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-05-06 12:26:16 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Nicholas Allen
2004-12-03 17:07:17 UTC
Please add the output of lspci -v SDL-1.2.5 is old. Please upgrade to the FC-3 package SDL-1.2.7-8 with a fix for this problem. I have upgraded SDL to 1.2.7-8 and the problem still remains exactly the same as before. Output of lspci -v 00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, fast devsel, latency 0 Memory at e0000000 (32-bit, prefetchable) [size=256M] Capabilities: <available only to root> 00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, 66Mhz, fast devsel, latency 96 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 I/O behind bridge: 00003000-00003fff Memory behind bridge: d0100000-d01fffff Prefetchable memory behind bridge: d8000000-dfffffff 00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 10 I/O ports at 1800 [size=32] 00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03) (prog-if 00 [UHCI]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1820 [size=32] 00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03) (prog-if 00 [UHCI]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1840 [size=32] 00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03) (prog-if 20 [EHCI]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 Memory at d0000000 (32-bit, non-prefetchable) [size=1K] Capabilities: <available only to root> 00:1e.0 PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 83) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=02, subordinate=02, sec-latency=64 Memory behind bridge: d0200000-d02fffff 00:1f.0 ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 03) Flags: bus master, medium devsel, latency 0 00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 03) (prog-if 8a [Master SecP PriP]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at 1860 [size=16] Memory at 20000000 (32-bit, non-prefetchable) [size=1K] 00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: medium devsel, IRQ 11 I/O ports at 1880 [size=32] 00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1c00 [size=256] I/O ports at 18c0 [size=64] Memory at d0000c00 (32-bit, non-prefetchable) [size=512] Memory at d0000800 (32-bit, non-prefetchable) [size=256] Capabilities: <available only to root> 00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) (prog-if 00 [Generic]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 2400 [size=256] I/O ports at 2000 [size=128] Capabilities: <available only to root> 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02) (prog-if 00 [VGA]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, stepping, fast Back2Back, 66Mhz, medium devsel, latency 66, IRQ 10 Memory at d8000000 (32-bit, prefetchable) [size=128M] I/O ports at 3000 [size=256] Memory at d0100000 (32-bit, non-prefetchable) [size=64K] Capabilities: <available only to root> 02:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705 Gigabit Ethernet (rev 01) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 11 Memory at d0200000 (64-bit, non-prefetchable) [size=64K] Capabilities: <available only to root> 02:04.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04) Subsystem: Intel Corp. MIM2000/Centrino Flags: bus master, medium devsel, latency 64, IRQ 10 Memory at d0214000 (32-bit, non-prefetchable) [size=4K] Capabilities: <available only to root> 02:06.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, stepping, slow devsel, latency 168, IRQ 11 Memory at 20001000 (32-bit, non-prefetchable) [size=4K] Bus: primary=02, secondary=03, subordinate=06, sec-latency=176 Memory window 0: 20400000-207ff000 (prefetchable) Memory window 1: 20800000-20bff000 I/O window 0: 00004000-000040ff I/O window 1: 00004400-000044ff 16-bit legacy interface ports at 0001 02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI]) Subsystem: QUANTA Computer Inc: Unknown device 0706 Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at d0215000 (32-bit, non-prefetchable) [size=2K] Memory at d0210000 (32-bit, non-prefetchable) [size=16K] Capabilities: <available only to root> Is your copy of frozen-bubble statically linked? Is is using the newest SDL library on your system? Can you please verify this with a game, which is part of fedora? Please run the program in a debugger and attach the backtrace. frozen-bubble is a perl script so it is not statically linked to SDL (I was suprised too!). I ran frozen-bubble inside gdb but because the SDL library has no debugging symbols the stach trace is probably of very little help: [Sound Init] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 35609520 (LWP 7012)] 0x009ac226 in do_lookup_x () from /lib/ld-linux.so.2 It always happens in the sound initialisation (only if artsd is running). Should I download the source rpm for SDL and recompile (please tell me how to enable debug for a source rpm) or should I just download the SDL source and enable debugging? I did a quick search on the internet and it appears many people have this problem too and it is a very old bug in SDL. I guess noone bothered to submit any bug reports ;-( Anyway, I will be glad to help get a better stack trace if you are having difficulty reproducing this bug. I'll download the official SDL sourvce code in the meantime and enable debugging. I'll let you know as soon as I get a better stack trace... SDL doesn't compile under FC3. I guess redhat has applied some patches so I have to build from redhat sources to get a better stack trace? I get this error when building from the official SDL 1.2.7 source code: gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\" -DVERSION=\"1.2.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -g -O2 -Wall -DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT -DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT -DESD_DYNAMIC=libesd.so.0 -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE -DDEFAULT_DGAMOUSE -DXFREE86_XV -DHAVE_XINERAMA -Isrc/video -DENABLE_DGA -DENABLE_FBCON -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../../include -I../../include/SDL -I../../src -I../../src/main/linux -I../../src/audio -I../../src/video -I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick -I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian -I../../src/file -I../../src/thread -MT SDL_cpuinfo.lo -MD -MP -MF .deps/SDL_cpuinfo.Tpo -c SDL_cpuinfo.c -fPIC -DPIC -o .libs/SDL_cpuinfo.o SDL_cpuinfo.c: In function `SDL_GetCPUFeatures': SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm' SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm' Please use another application to reproduce this problem. You wrote "if I try to run any SDL application (eg frozen-bubble)", so this problem should occur with other applications, too. The reason I use frozen-bubble is because all the other SDL programs change my sceen resolution just before crashing and then my X server gets messed up. Sometimes the mouse is grabbed and sometimes my original X screen just never comes back. The only option then is to kill the X server (just killing the offending app can still leave the resolution messed up and the mouse and keboard not functioning properly). With frozen-bubble I set the settings to use a separate window and not to use full screen. This way I can always reproduce the problem without having to kill my X server and without any mouse or keyboard issues. It is the easiest way to safely reproduce the problem on my system and be able to examine stack traces etc under gdb. Do you have any othger suggestion for an SDL program that doesn't want to run full screen? All the other games I use want to run in full screen mode. I tried using Xnest but then there is a completely different crash related to Xnest that has nothing to do with this bug so I can't reproduce this bug under Xnest. Two suggestions: Does Maelstrom have this problem? Does installing the debuginfo package for SDL produce a better backtrace? (http://fedora.linux.duke.edu/wiki/StackTraces ) I forgot to mention that Maelstrom can be run with a -window argument. Actually other SDL applications are affected, too, occasionally. But far from 100% reproducible. Everytime it happened to me I couldn't get a single crash with debuginfo packages installed. "Fatal signal: Segmentation Fault (SDL Parachute Deployed)" has been a reoccuring error since Red Hat Linux 9.0.93 in bugzilla.fedora.us QA (searching for "parachute" gives a few results) of e.g. tuxtype2, dosbox, wesnoth. All available in http://fedoraproject.org/pre-extras/3 and also the debuginfo packages in case more apps are needed. Enabling KDE sound server is not enough here to reproduce it. It must be a very special system state which triggers it. Maelstrom crashes instantly but doesn't display the SDL parachute message only "Segmentation fault" so I assume it is crashing for different reasons. After installing the SDL_gfx-debuginfo package there was not a very helpful stack trace from Maelstrom: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 24894384 (LWP 9263)] 0x00b582c1 in do_lookup_x () from /lib/ld-linux.so.2 That do_lookup_x problem sounds an awful lot like bug #134457 (although for the record it is possible to use env vars like export SDL_AUDIODRIVER=alsa to change which driver SDL will use). What is your artsd currently set to output sound to? My artsd is set to output to ALSA but I also experience the same problem with it set to "Auto Detect" and "Open Sound System" Can you please have a look at the latest FC-4 update package of SDL (1.2.8-4). It is using alsa output by default. Is it solving your problem? Closing due to lack of response by reporter. |