[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: