https://bugs.kde.org/show_bug.cgi?id=377006
--- Comment #4 from zephyrus00jp <ishik...@yk.rim.or.jp> ---
Created attachment 104424
  --> https://bugs.kde.org/attachment.cgi?id=104424&action=edit
log of segfault failure under 4.9.x series kernel (debian). with
--trace-syscalls=yes


This is under 4.9.x.

The log file by running a shell script that contains the following command
with
  bash -vx the_script_file 2>&1 | tee /tmp/t-log

strace -ff valgrind --verbose --trace-syscalls=yes --trace-signals=yes
--show-mismatched-frees=no --trace-children=yes
/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/thunderbird-bin

"--trace-syscalls" ought to show the syscalls executed by the traced program,
namely, thunderbird-binary.
I see the message about such syscalls written by write(1027, ...) by valgrind.

Because of the way the log was captured, the trace of |write| by strace
is immediately followed by the string written by |write|.


In any case, the following last portion of the log suggests to me that
it is indeed valgrind that is causing the mysterious crash. Isn't it?

--- begin quote
...
write(1027, "SYSCALL[3810,1](202) ... [async]"..., 49SYSCALL[3810,1](202) ...
[async] --> Success(0x0)) = 49
write(1027, " ", 1 )                     = 1
write(1027, "\n", 1
)                    = 1
mmap(0x802fb0000, 196608, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = 0x802fb0000
munmap(0x802f90000, 131072)             = 0
gettid()                                = 3810
write(1029, "Q", 1)                     = 1
gettid()                                = 3810
read(1028, "Q", 1)                      = 1
gettid()                                = 3810
rt_sigprocmask(SIG_SETMASK, ~[], ~[KILL STOP], 8) = 0
rt_sigtimedwait(~[], 0x802f8de20, {tv_sec=0, tv_nsec=0}, 8) = -1 EAGAIN
(Resource temporarily unavailable)
rt_sigprocmask(SIG_SETMASK, ~[KILL STOP], NULL, 8) = 0
gettid()                                = 3810
mmap(0x802d3d000, 16384, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = 0x802d3d000
getpid()                                = 3810
write(1027, "--3810-- REDIR: 0x52e68b0 (libst"..., 115--3810-- REDIR: 0x52e68b0
(libstdc++.so.6:operator delete(void*)) redirected to 0x4c2d19c (operator
delete(void*))
) = 115
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffeffa22c} ---
+++ killed by SIGSEGV +++
/home/ishikawa/bin/run-valgrind-thunderbird.sh: line 13:  3808 Segmentation
fault      strace -ff valgrind --verbose --trace-syscalls=yes
--trace-signals=yes --show-mismatched-frees=no --trace-children=yes
/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/thunderbird-bin

--- end quote 

The address reported is slightly changed: I think it is due to the slight 
change in the source code..
final error in the 4.9.x series: 

The following is the old address reported in sigsegv.

gettid()                                = 3174
mmap(0x803041000, 16384, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = 0x803041000
getpid()                                = 3174
write(1027, "--3174-- REDIR: 0x52e68b0 (libst"..., 115) = 115
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffeffa24c} ---
+++ killed by SIGSEGV +++


The address in SIGSEGV is interesting:
>From the old log:
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffeffa24c} ---

>From the current log:
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffeffa22c} ---


It is BELOW the last (anonymous) map (reported in the old log)
--- begin
>From 4.9.x series kernel: Failure case
  ...
806203000-806334000 rwxp 00000000 00:00 0 
806af9000-806ce2000 rwxp 00000000 00:00 0   <-- the si_addr is after this.
ffeffe000-fff001000 rw-p 00000000 00:00 0   <---the si_addr is before this. 
7ffd03470000-7ffd03492000 rw-p 00000000 00:00 0                         
[stack]
7ffd034ba000-7ffd034bc000 r--p 00000000 00:00 0                          [vvar]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                 
[vsyscall]
(gdb) cont
--- end

Hope this helps.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to