#593233 xscreensaver-data-extra: segfault in maze

Package:
xscreensaver-data-extra
Source:
xscreensaver
Description:
Extra screen saver modules for screensaver frontends
Submitter:
"Marc F. Clemente"
Date:
2010-08-27 01:54:03 UTC
Severity:
normal
#593233#5
Date:
2010-08-16 13:37:48 UTC
From:
To:
# dmesg | grep maze
[771455.651377] maze[21281]: segfault at 7f22693318d6 ip 00000000004030c3 sp 00007fff35021490 error 4 in maze[400000+16000]
[777213.609964] maze[21445]: segfault at 7f81ed037560 ip 00000000004030c3 sp 00007fff12d79990 error 4 in maze[400000+16000]
[965870.889105] maze[568]: segfault at 7f2e2d216554 ip 00000000004030c3 sp 00007fff97830840 error 4 in maze[400000+16000]

It doesn't always segfault.  I see it working sometimes.

Questions?  Please email me.

Thanks,

Marc

#593233#10
Date:
2010-08-16 20:17:51 UTC
From:
To:
Hi Marc, thanks for your report; I'll be checking this as soon as I get home.

Could you please tell me how to reproduce it? When segfaults? What kind of machine does you have? Graphic controller? How often does segfaults? Is your only screensaver or does you have it configured to cycle?

All this will help us to get into this bug and squash it :-)

Regards,
-----Original Message-----
From: "Marc F. Clemente" <marc@mclemente.net>
Date: Mon, 16 Aug 2010 08:37:48
To: Debian Bug Tracking System<submit@bugs.debian.org>
Reply-To: "Marc F. Clemente" <marc@mclemente.net>, 593233@bugs.debian.org
Subject: Bug#593233: xscreensaver-data-extra: segfault in maze

Package: xscreensaver-data-extra
Version: 5.11-1
Severity: normal


# dmesg | grep maze
[771455.651377] maze[21281]: segfault at 7f22693318d6 ip 00000000004030c3 sp 00007fff35021490 error 4 in maze[400000+16000]
[777213.609964] maze[21445]: segfault at 7f81ed037560 ip 00000000004030c3 sp 00007fff12d79990 error 4 in maze[400000+16000]
[965870.889105] maze[568]: segfault at 7f2e2d216554 ip 00000000004030c3 sp 00007fff97830840 error 4 in maze[400000+16000]

It doesn't always segfault.  I see it working sometimes.

Questions?  Please email me.

Thanks,

Marc

#593233#15
Date:
2010-08-17 07:34:00 UTC
From:
To:
~> /usr/lib/xscreensaver/maze
Segmentation fault
Exit 139

I had to leave it for about 12 hours running in a window before it crashed.

Normally, I run it as a screensaver from xscreensaver.  It cycles
through many other screensavers.  I have mostly default options on
xscreensaver.

No idea.  Seems random.

~> cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
stepping        : 5
cpu MHz         : 3073.599
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good
xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2
ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida tpr_shadow vnmi
flexpriority ept vpid
bogomips        : 6147.19
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

...
...
...

~> lspci | grep VGA
04:00.0 VGA compatible controller: ATI Technologies Inc R520GL [FireGL
V7200] (Primary)

This is a dual monitor setup.  Not sure if it makes a difference since
it crashes even if I run it in a window.

# cat /etc/X11/xorg.conf
Section "Device"
         Identifier      "ATI Radeon"
         Driver          "radeon"
EndSection

Section "Monitor"
         Identifier      "DVI-0"
EndSection

Section "Monitor"
         Identifier      "DVI-1"
         Option          "RightOf" "DVI-0"
EndSection

Section "Screen"
         Identifier      "Default Screen"
         Device          "ATI Radeon"
         Monitor         "DVI-0"
         DefaultDepth    24
         SubSection "Display"
                 Depth           24
                 Modes           "1920x1200"
                 Virtual         3840 1200
         EndSubSection
EndSection

Section "ServerLayout"
         Identifier      "Default Layout"
         Screen          "Default Screen"
EndSection

Not sure.  The system uptime is now 12 days.  So it crashed three times
in 12 days, but it's cycling through all the other screensavers, so I
don't really know how much it's really running.  Otherwise, I ran it
once in a window and it crashed after about 12 hours.

Marc

#593233#20
Date:
2010-08-19 19:29:00 UTC
From:
To:
Hi Marc, can you please try to get a backtrace?
http://wiki.debian.org/HowToGetABacktrace

Thanks,
Tormod

#593233#25
Date:
2010-08-26 22:10:47 UTC
From:
To:
GNU gdb (GDB) 7.1-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/xscreensaver/maze...done.
(gdb) set pagination 0
(gdb) run
Starting program: /usr/lib/xscreensaver/maze
[Thread debugging using libthread_db enabled]
maze: unknown ClientMessage _GTK_LOAD_ICONTHEMES received!

Program received signal SIGSEGV, Segmentation fault.
0x00000000004068ba in solve_maze (st=0x7ffff2e17010) at maze.c:1212
1212            if ( st->maze[st->path[ss->i].x][st->path[ss->i].y] &
START_SQUARE )
(gdb) bt
#0  0x00000000004068ba in solve_maze (st=0x7ffff2e17010) at maze.c:1212
#1  0x0000000000407cd1 in maze_draw (dpy=0x622ab0, window=88080385,
closure=0x7ffff2e17010) at maze.c:1568
#2  0x0000000000408f4e in run_screenhack_table (dpy=0x622ab0,
window=88080385, window2=0, ft=0x61c860) at screenhack.c:552
#3  0x0000000000409ecd in main (argc=1, argv=0x7fffffffea98) at
screenhack.c:920

#593233#30
Date:
2010-08-27 01:50:19 UTC
From:
To:
(gdb) bt full
#0  0x00000000004068ba in solve_maze (st=0x7ffff2e17010) at maze.c:1212
         dir = 32767
         from = -146359870
         ways = 32767
         ss = 0x639e90
#1  0x0000000000407cd1 in maze_draw (dpy=0x622ab0, window=88080385,
closure=0x7ffff2e17010) at maze.c:1568
         st = 0x7ffff2e17010
         this_delay = 10000
#2  0x0000000000408f4e in run_screenhack_table (dpy=0x622ab0,
window=88080385, window2=0, ft=0x61c860) at screenhack.c:552
         delay = 10000
         delay2 = 0
         init_cb = 0x407219 <maze_init>
         fps_cb = 0x408e1d <screenhack_do_fps>
         closure = 0x7ffff2e17010
         fpst = 0x0
         closure2 = 0x0
         fpst2 = 0x0
#3  0x0000000000409ecd in main (argc=1, argv=0x7fffffffea98) at
screenhack.c:920
         ft = 0x61c860
         xgwa = {x = 0, y = 0, width = 600, height = 480, border_width =
0, depth = 24, visual = 0x62da00, root = 272, class = 1, bit_gravity =
1, win_gravity = 1, backing_store = 0, backing_planes = 4294967295,
backing_pixel = 0, save_under = 0, colormap = 32, map_installed = 1,
map_state = 2, all_event_masks = 12713999, your_event_mask = 4325391,
do_not_propagate_mask = 0, override_redirect = 0, screen = 0x623f60}
         toplevel = 0x620c50
         dpy = 0x622ab0
         window = 88080385
         window2 = 0
         toplevel2 = 0x0
         app = 0x6217e0
         root_p = 0
         on_window = 0
         event = {type = 19, xany = {type = 19, serial = 31, send_event
= 0, display = 0x622ab0, window = 88080385}, xkey = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, window = 88080385, root =
88080385, subwindow = 0, time = 0, x = 0, y = 0, x_root = 0, y_root = 0,
state = 0, keycode = 0, same_screen = 0}, xbutton = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, window = 88080385, root =
88080385, subwindow = 0, time = 0, x = 0, y = 0, x_root = 0, y_root = 0,
state = 0, button = 0, same_screen = 0}, xmotion = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, window = 88080385, root =
88080385, subwindow = 0, time = 0, x = 0, y = 0, x_root = 0, y_root = 0,
state = 0, is_hint = 0 '\000', same_screen = 0}, xcrossing = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, window = 88080385, root
= 88080385, subwindow = 0, time = 0, x = 0, y = 0, x_root = 0, y_root =
0, mode = 0, detail = 0, same_screen = 0, focus = 0, state = 0}, xfocus
= {type = 19, serial = 31, send_event = 0, display = 0x622ab0, window =
88080385, mode = 88080385, detail = 0}, xexpose = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, window = 88080385, x = 88080385,
y = 0, width = 0, height = 0, count = 0}, xgraphicsexpose = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, drawable = 88080385, x
= 88080385, y = 0, width = 0, height = 0, count = 0, major_code = 0,
minor_code = 0}, xnoexpose = {type = 19, serial = 31, send_event = 0,
display = 0x622ab0, drawable = 88080385, major_code = 88080385,
minor_code = 0}, xvisibility = {type = 19, serial = 31, send_event = 0,
display = 0x622ab0, window = 88080385, state = 88080385}, xcreatewindow
= {type = 19, serial = 31, send_event = 0, display = 0x622ab0, parent =
88080385, window = 88080385, x = 0, y = 0, width = 0, height = 0,
border_width = 0, override_redirect = 0}, xdestroywindow = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, event = 88080385,
window = 88080385}, xunmap = {type = 19, serial = 31, send_event = 0,
display = 0x622ab0, event = 88080385, window = 88080385, from_configure
= 0}, xmap = {type = 19, serial = 31, send_event = 0, display =
0x622ab0, event = 88080385, window = 88080385, override_redirect = 0},
xmaprequest = {type = 19, serial = 31, send_event = 0, display =
0x622ab0, parent = 88080385, window = 88080385}, xreparent = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, event = 88080385,
window = 88080385, parent = 0, x = 0, y = 0, override_redirect = 0},
xconfigure = {type = 19, serial = 31, send_event = 0, display =
0x622ab0, event = 88080385, window = 88080385, x = 0, y = 0, width = 0,
height = 0, border_width = 0, above = 0, override_redirect = 0},
xgravity = {type = 19, serial = 31, send_event = 0, display = 0x622ab0,
event = 88080385, window = 88080385, x = 0, y = 0}, xresizerequest =
{type = 19, serial = 31, send_event = 0, display = 0x622ab0, window =
88080385, width = 88080385, height = 0}, xconfigurerequest = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, parent = 88080385,
window = 88080385, x = 0, y = 0, width = 0, height = 0, border_width =
0, above = 0, detail = 0, value_mask = 0}, xcirculate = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, event = 88080385,
window = 88080385, place = 0}, xcirculaterequest = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, parent = 88080385, window =
88080385, place = 0}, xproperty = {type = 19, serial = 31, send_event =
0, display = 0x622ab0, window = 88080385, atom = 88080385, time = 0,
state = 0}, xselectionclear = {type = 19, serial = 31, send_event = 0,
display = 0x622ab0, window = 88080385, selection = 88080385, time = 0},
xselectionrequest = {type = 19, serial = 31, send_event = 0, display =
0x622ab0, owner = 88080385, requestor = 88080385, selection = 0, target
= 0, property = 0, time = 0}, xselection = {type = 19, serial = 31,
send_event = 0, display = 0x622ab0, requestor = 88080385, selection =
88080385, target = 0, property = 0, time = 0}, xcolormap = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, window = 88080385,
colormap = 88080385, new = 0, state = 0}, xclient = {type = 19, serial =
31, send_event = 0, display = 0x622ab0, window = 88080385, message_type
= 88080385, format = 0, data = {b = '\000' <repeats 19 times>, s = {0,
0, 0, 0, 0, 0, 0, 0, 0, 0}, l = {0, 0, 0, 0, 0}}}, xmapping = {type =
19, serial = 31, send_event = 0, display = 0x622ab0, window = 88080385,
request = 88080385, first_keycode = 0, count = 0}, xerror = {type = 19,
display = 0x1f, resourceid = 0, serial = 6433456, error_code = 1 '\001',
request_code = 0 '\000', minor_code = 64 '@'}, xkeymap = {type = 19,
serial = 31, send_event = 0, display = 0x622ab0, window = 88080385,
key_vector = "\001\000@\005", '\000' <repeats 27 times>}, xgeneric =
{type = 19, serial = 31, send_event = 0, display = 0x622ab0, extension =
88080385, evtype = 0}, xcookie = {type = 19, serial = 31, send_event =
0, display = 0x622ab0, extension = 88080385, evtype = 0, cookie =
88080385, data = 0x0}, pad = {19, 31, 0, 6433456, 88080385, 88080385, 0
<repeats 18 times>}}
         dont_clear = 0 '\000'
         version = "Maze: from the XScreenSaver 5.11 distribution
(13-Apr-2010.)\000\177\000\000 \350\377\377\377\177\000\000
\347\375\367\377\177\000\000H\350\377\377\377\177\000\000\220\071\376\367\377\177\000\000\207\360\226|\000\000\000\000b\210\336\367\377\177\000\000\000\000\000\000\000\000\000\000
\347\375\367\377\177\000\000\001", '\000' <repeats 15 times>,
"\001\000\000\000\000\000\000\000\220\071\376\367\377\177\000\000\001",
'\000' <repeats 15 times>,
"\001\000\000\000\000\000\000\000\310\364\375\367\377\177\000\000\000\000\000\000\000\000\000\000\350<\376\367\377\177\000\000\320\347\377\377\377\177\000\000\350\347\377\377\377\177\000\000\000\000\000\000\001\000\000\000\004~i\365\377\177\000\000\360\347\377\377\377\177\000\000\312}\336\367\377\177"
(gdb)