-
Notifications
You must be signed in to change notification settings - Fork 474
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
child terminated by signal: 11: Segmentation fault #62
Comments
Could you please show me the backtrace using gdb with a coredump? |
I got a core file and then use gdb with it but function names is unshown.
|
It's not uftrace gets segfault, it's hello. |
It's also strange that the normal testcases succeed but the hello fails. |
Hum.. I think hello program is fine as itself
But if this error is related to mcount(), core file can be generated by hello program ? And if running uftrace as below
At same time, a segfault error log related to libmcount-fast.so happen
My idea is wrong ? |
Your reasoning is correct. So you should use hello (instead of uftrace) with gdb to get the symbols:
|
Okey 😄
Is the segfault related to mcount_entry() of libmcount/mcount.c:483 ? |
Seems like a recursion. Did you install a correct version? Note that the test program uses a just compiled binary. |
Correct version ? Which version ?
But the segfault still remain. I think the root cause might be from system wide. |
This comes from /usr/local/lib so I guess you installed a faulty version. I'd like to see the result after you run |
If you want to run a compiled version, you need to give |
@Taeung ping! |
Sorry, I'm late. I do
|
@Taeung hmm.. do you still see the segfault with the current version? |
No, it disappeared! When I do As you said, I used faulty version libmcount*.so that were compiled with What do you think about it ? But already did you fix the recursion problem ? |
The problem is in libmcount*.so not uftrace tool itself. After rebuilding (but not installing it), you used uftrace without -pg but the libmcount*.so are still built with -pg. It's currently not possible to trace libmcount*.so but uftrace itself is possible.. |
I hope github provides a way to fold long code output.. |
I understood !
|
Ah... when I use libmcount*.so that are compiled without I think we shouldn't use libmcount*.so compiled with |
Right. If libmcount*.so is compiled with -pg, gcc will add a call to mcount() in mcount(), hence the recursion. :) |
I understood ! |
Hi Namhyung !
I found a error in the situation as below.
(I tested on the latest master branch.)
I a bit looked into the situation debugging uftrace.
And I found several things as below.
First, segment fault happened in libmcount-fast.so
And after poll() at cmd-record.c, POLLHUP was returned so read_record_mmap() didn't work even once.
So the uftrace.data has not task.txt as below but we can know info as below
And output of runtest.py
Don't libmcount-fast.so handle the error ?
I don't find out the root cause..
The text was updated successfully, but these errors were encountered: