[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Pan-users] [git 9c148a3] Reproducible segfault from new crc32 code
From: |
Duncan |
Subject: |
Re: [Pan-users] [git 9c148a3] Reproducible segfault from new crc32 code |
Date: |
Mon, 4 Feb 2013 02:22:35 +0000 (UTC) |
User-agent: |
Pan/0.140 (Chocolate Salty Balls; GIT 9c148a3 /usr/src/portage/src/egit-src/pan2) |
walt posted on Sun, 03 Feb 2013 11:58:59 -0800 as excerpted:
> Hi Heinrich. I get a segfault (below) before pan even shows on my
> screen.
> I think I may have shut pan down with a jpeg displayed in the body pane,
> and now pan crashes while trying to reload that image during startup:
>
> Program received signal SIGSEGV
>
> Has anyone else tested the new crc32 code yet? I'll try starting pan
> with a clean ~/.pan2 to see if I can make it crash again from a fresh
> start...
Something is indeed terribly wrong. I'm seeing a similar segfault on
simple face: headers such as the ones sci-fi uses right here on this
list, on messages I read before the update just fine.
What's even more interesting, I did an strace, and get this immediately
after I click on a triggering message. Isn't that a USE-after-free,
since the file was just closed, or does the kernel keep a reference to it
due to the mmap?:
open("/path/to/messagefile.msg", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0640, st_size=4288, ...}) = 0
read(6, "Path: news.gmane.org!not-for-mai"..., 4288) = 4288
close(6) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=327, ...}) = 0
stat("/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so",
{st_mode=S_IFREG|0755, st_size=22256, ...}) = 0
open("/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so",
O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\35\0\0\0\0\0
\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=22256, ...}) = 0
mmap(NULL, 2117752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0)
= 0x7f615a680000
mprotect(0x7f615a685000, 2093056, PROT_NONE) = 0
mmap(0x7f615a884000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_DENYWRITE, 6, 0x4000) = 0x7f615a884000
close(6) = 0
mprotect(0x7f615a884000, 4096, PROT_READ) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x78000854b40}
---
+++ killed by SIGSEGV +++
Segmentation fault
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman