Disassembling linux_nat_core_of_thread_1 at the crash site I see this:
0x0000000000484d56 <+230>: callq 0x45c1d0 <make_cleanup>
0x0000000000484d5b <+235>: mov $0x28,%esi
0x0000000000484d60 <+240>: mov %rbp,%rdi
0x0000000000484d63 <+243>: callq 0x44dcc0 <str...@plt>
0x0000000000484d68 <+248>: mov $0x29,%esi
0x0000000000484d6d <+253>: mov %rax,%rdi
0x0000000000484d70 <+256>: callq 0x44dcc0 <str...@plt>
=> 0x0000000000484d75 <+261>: lea 0x2(%rax),%rdx
0x0000000000484d79 <+265>: movzbl 0x2(%rax),%eax
0x0000000000484d7d <+269>: cmp $0x20,%al
0x0000000000484d7f <+271>: jne 0x484d93
<linux_nat_core_of_thread_1+291> 0x0000000000484d81 <+273>: nopl
0x0(%rax)
And source has this:
p = strchr (content, '(');
p = strchr (p, ')') + 2; /* skip ")" and a whitespace. */
content is read from /proc/%d/task/%ld/stat. Is it possible that stat
didn't have a ( in it? and that caused the crash?
Does the kernel guarantee the presence of that '('?
Best regards,
--Edwin
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]