Bug#478213: powermanga: random seqfault after upgrade to 0.90
I got two segfaults in powermanga 0.90-dfsg-2 today, on amd64. For the second of them, I had gdb waiting. I don't have exact symbols but the crash appears to be a null pointer dereference in shot_display(): bullet-spr.trajectory is 1 (homing), and bullet-img_old_angle and bullet-spr.numof_images are both 32; that means bullet-img_old_angle is out of range. The function then dereferences bullet-spr.img[bullet-img_old_angle], which is NULL. In shot_display(), there is code that tries to keep bullet-img_angle within range. I suppose the bullet-img_old_angle assignment should be moved below that. (I think the crash in the coordinate calculation could alternatively be fixed by using bullet-img_angle there instead of img_old_angle, but the out-of-range value would then just cause a similar crash elsewhere.) While looking at this, I found some suspicious code in shots_handle() too. Namely, there is one place where it calls shot_delete and then decrements i. It seems this could cause it to run past the end of the linked list. pgpXnd2Com8Nr.pgp Description: PGP signature
Bug#478213: powermanga: random seqfault after upgrade to 0.90
On Fri, Aug 28, 2009 at 2:39 PM, Gonéri Le Bouder gon...@rulezlan.orgwrote: On Mon, Apr 28, 2008 at 01:32:03AM -0400, Edwin Lim wrote: Package: powermanga Version: 0.90-dfsg-1 Severity: normal I am experiencing quite a lot of segfaults after the upgrade to 0.90. Hi, I played a bit without problem. Can you still reproduce these segfaults? I cannot trigger it at anytime I wish. I just have to play enough and it would happen sooner or later. It could be the first boss, or the very last boss (happens a couple of times before at least :-D) Here is the result of the log I kept for the last few days: Number of boss encounters = 42 Number of segmentation faults = 3 That gives P(segfault per boss) = 3/42 ~ 0.07142. Given that there are about 16 bosses in total for a complete game, that gives (1 - P)^16 ~ 0.305 probability of completing the game without a segmentation fault. That explains why I have been having a very hard time getting on the high score. Ha ha! Also, I play the hard difficulty level (powermanga --hard). I think the normal difficulty also has segmentation faults, but I do not remember for certain. I can test the normal difficulty level for segmentation fault if you think it might help. Anyway, I managed to strace the last segmentation fault and here is the tail of it (does not look useful to me): read(7, 0xde9b54, 4096) = -1 EAGAIN (Resource temporarily unavailable) nanosleep({0, 1100}, {0, 1100}) = 0 read(6, 0xdde214, 4096) = -1 EAGAIN (Resource temporarily unavailable) select(7, [6], NULL, NULL, {0, 0}) = 0 (Timeout) poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}]) writev(7, [{\217\3\n\0\r\0 \2\16\0 \2\200\2\220\1\0\0\0\0\200\2\220\1\0\0\0\0\30\2\0\0..., 44}, {NULL, 0}, {, 0}], 3) = 44 poll([{fd=7, events=POLLIN}], 1, -1)= 1 ([{fd=7, revents=POLLIN}]) read(7, \1\2\272E\0\0\0\0\3\0 \2\0\0\0\0`\16\220\2\0\0\0\0\0\0\0\0\0\0\0\0, 4096) = 32 read(7, 0xde9b54, 4096) = -1 EAGAIN (Resource temporarily unavailable) nanosleep({0, 1100}, {0, 1100}) = 0 read(6, 0xdde214, 4096) = -1 EAGAIN (Resource temporarily unavailable) select(7, [6], NULL, NULL, {0, 0}) = 0 (Timeout) poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}]) writev(7, [{\217\3\n\0\r\0 \2\16\0 \2\200\2\220\1\0\0\0\0\200\2\220\1\0\0\0\0\30\2\0\0..., 44}, {NULL, 0}, {, 0}], 3) = 44 poll([{fd=7, events=POLLIN}], 1, -1)= 1 ([{fd=7, revents=POLLIN}]) read(7, \1\2\274E\0\0\0\0\3\0 \2\0\0\0\0`\16\220\2\0\0\0\0\0\0\0\0\0\0\0\0, 4096) = 32 read(7, 0xde9b54, 4096) = -1 EAGAIN (Resource temporarily unavailable) nanosleep({0, 1200}, {0, 1200}) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ I have put the whole log (565kB gzipped, 49MB expanded) on http://www.limnet.org:8000/~elim/attic/powermanga.trace.gz if you want to take a look. Let me know if I can do anything else to help. Cheers, Ed.
Bug#478213: powermanga: random seqfault after upgrade to 0.90
On Fri, Aug 28, 2009 at 07:33:30PM -0400, Edwin Lim wrote: Not really. But when it happens, it is always right after I kill a boss. When the segfault happens, it appears to happen right at the moment (boss enrgy == 0). I will count and determine the probability of it happening and report back if you want to keep this bug open. Great, please keep 478...@bugs.debian.org in Cc: so your mails will be attached to the bug report itself. Best regards, Gonéri signature.asc Description: Digital signature
Bug#478213: powermanga: random seqfault after upgrade to 0.90
On Mon, Apr 28, 2008 at 01:32:03AM -0400, Edwin Lim wrote: Package: powermanga Version: 0.90-dfsg-1 Severity: normal I am experiencing quite a lot of segfaults after the upgrade to 0.90. Hi, I played a bit without problem. Can you still reproduce these segfaults? Cheers, Gonéri signature.asc Description: Digital signature
Bug#478213: powermanga: random seqfault after upgrade to 0.90
Package: powermanga Version: 0.90-dfsg-1 Severity: normal I am experiencing quite a lot of segfaults after the upgrade to 0.90. There is no debugging information other than Segmentation fault. I cannot discern any pattern of the segfaulast, although the last one I got was probably the best--finally beat the last of the last boss and it segfault'ed immediately :-/ :-D. Cheers, e. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24-1-amd64 (SMP w/2 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/bash Versions of packages powermanga depends on: ii libc62.7-10 GNU C Library: Shared libraries ii libsdl-mixer1.2 1.2.8-3 mixer library for Simple DirectMed ii libsdl1.2debian 1.2.13-2Simple DirectMedia Layer ii libxxf86dga1 2:1.0.2-1 X11 Direct Graphics Access extensi ii powermanga-data 0.90-dfsg-1 graphics and audio data for powerm powermanga recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]