Bug#681796: segmentation fault during suspend
On Sat, 21 Jul 2012, Yaroslav Halchenko wrote:
> Program received signal SIGSEGV, Segmentation fault.
> XIChangeDeviceProperty (dev=dev@entry=0x7ff24ae17130, property=<optimized out>, type=type@entry=19, format=format@entry=8, mode=<optimized out>, mode@entry=0, len=len@entry=1, value=value@entry=0x7fff585294cf, sendevent=sendevent@entry=1) at ../../Xi/xiproperty.c:772
> 772 ../../Xi/xiproperty.c: No such file or directory.
> I guess I should just learn to master gdb script so it would dump the bt right
> upon segfault ... also since there is a new version now targetting wheezy I
> will upgrade first to not hunt for a possibly fixed issue
ok -- current sid's version is prone to segfault as well for me during
suspend...
Program received signal SIGSEGV, Segmentation fault.
XIChangeDeviceProperty (dev=dev@entry=0x7f92d4718130, property=<optimized out>, type=type@entry=19, format=format@entry=8, mode=<optimized out>, mode@entry=0, len=len@entry=1,
value=value@entry=0x7fff47c16faf, sendevent=sendevent@entry=1) at ../../Xi/xiproperty.c:772
772 ../../Xi/xiproperty.c: No such file or directory.
$> head /var/log/Xorg.0.log
[ 31.323]
X.Org X Server 1.12.3
Release Date: 2012-07-09
[ 31.324] X Protocol Version 11, Revision 0
[ 31.324] Build Operating System: Linux 3.2.0-3-amd64 x86_64 Debian
[ 31.324] Current Operating System: Linux novo 3.2.0-3-amd64 #1 SMP Thu Jun 28 09:07:26 UTC 2012 x86_64
[ 31.324] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-3-amd64 root=UUID=0fe48170-e67d-48ad-9270-7106586aafeb ro quiet acpi_sleep=s3_bios
[ 31.324] Build Date: 18 July 2012 08:00:38AM
[ 31.324] xorg-server 2:1.12.3-1 (Julien Cristau <jcristau@debian.org>)
[ 31.324] Current version of pixman: 0.26.0
finally I have got some basic clue on how to use python scripting for the
gdb... if that comes useful for anyone -- here is the script to dump full bt
upon segfault (and then continue to quit):
$> cat ~/deb/troubleshoot_segfault.py
#!/usr/bin/gdb -x
import gdb
def on_stop(p):
gdb.execute("bt")
gdb.execute("bt full")
# and just quit now
gdb.execute("c")
gdb.execute("q")
gdb.execute("handle SIGUSR1 nostop")
gdb.execute("handle SIGPIPE nostop")
gdb.events.stop.connect(on_stop)
So I just attach it to a running instance of X in a screen with logging (could
have used gdb's built in facilities to store output I guess...) So hopefully
soon more information will follow.
--
Yaroslav O. Halchenko
Postdoctoral Fellow, Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419
WWW: http://www.linkedin.com/in/yarik
Reply to: