qchbai / gperftools

Automatically exported from code.google.com/p/gperftools
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

core at *(sp+1) == reinterpret_cast<void *>(0) #404

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. run cpu prpfiler and heap profiler on x86_64 linx
2. sometimes it will core at src/stacktrace_x86-inl.h
3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

google-perftools-1.7

Please provide any additional information below.

(gdb) bt
#0  0x0000000000a84e62 in GetStackTrace (result=0x51232280, max_depth=42, 
skip_count=0)
    at thirdparty/google-perftools-1.7/src/stacktrace_x86-inl.h:320
#1  0x0000000000a683ef in MallocHook_GetCallerStackTrace (result=0x51232440, 
max_depth=32, skip_count=5)
    at thirdparty/google-perftools-1.7/src/malloc_hook.cc:338
#2  0x0000000000a7ace3 in MallocHook::GetCallerStackTrace (result=0x51232440, 
max_depth=32, skip_count=5)
    at ./thirdparty/google-perftools-1.7/src/google/malloc_hook.h:192
#3  0x0000000000a79230 in HeapProfileTable::RecordAlloc (this=0x7fd5dd9cc040, 
ptr=0x7fd5dff2cfa0, bytes=28, skip_count=1)
    at thirdparty/google-perftools-1.7/src/heap-profile-table.cc:196
#4  0x0000000000a5e42a in RecordAlloc (ptr=0x7fd5dff2cfa0, bytes=28, 
skip_count=0)
    at thirdparty/google-perftools-1.7/src/heap-profiler.cc:339
#5  0x0000000000a5e4fe in NewHook (ptr=0x7fd5dff2cfa0, size=28) at 
thirdparty/google-perftools-1.7/src/heap-profiler.cc:359
#6  0x0000000000a5b7e0 in MallocHook::InvokeNewHook (p=0x7fd5dff2cfa0, s=28)
    at thirdparty/google-perftools-1.7/src/malloc_hook-inl.h:107
#7  0x0000000000bb0152 in tc_new (size=28) at 
thirdparty/google-perftools-1.7/src/tcmalloc.cc:1527
#8  0x0000000000b86e09 in std::string::_Rep::_S_create (__capacity=3, 
__old_capacity=<value optimized out>, 
    __alloc=<value optimized out>) at /usr/local/src/gcc-4.5.1/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:89
#9  0x00000000009c848a in std::string::_S_construct<char const*> 
(__beg=0xcd523c "", __end=0xcd523f "", __a=@0x51232cdf)
    at /usr/local/gcc4.5.1/lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc:138
#10 0x0000000000b88992 in basic_string (this=0x51232c60, __s=0xcd523c "", 
__a=@0x51232cdf)
    at /usr/local/src/gcc-4.5.1/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:1649

Original issue reported on code.google.com by lshmouse on 16 Feb 2012 at 4:06

Attachments:

GoogleCodeExporter commented 9 years ago
Is that the full stacktrace given by gdb (that is, it stops at #10)?  If so, 
sounds like gdb can't get a full stacktrace either.  It just handles it more 
politely. :-)

Original comment by csilv...@gmail.com on 17 Feb 2012 at 12:34

GoogleCodeExporter commented 9 years ago
No, the frames number is more then 10. I just ignore them for i am sure there 
are no problems.

Original comment by lshmouse on 17 Feb 2012 at 2:13

GoogleCodeExporter commented 9 years ago
Please include them.

Original comment by csilv...@gmail.com on 17 Feb 2012 at 2:47

GoogleCodeExporter commented 9 years ago
Sorry, for some privacy issues, i cannot provide them right now, but i am 
sure the program just want to alloc a small piece of memmory for a string at 
frame 10. 

Original comment by lshmouse on 20 Feb 2012 at 3:05

GoogleCodeExporter commented 9 years ago
You can elide the stuff that is confidential for you, but it would be useful to 
know where the call is coming from.  For instance, is it before main starts or 
after?  Is gdb able to get the full stack trace?  We can't tell any of those 
things without more info.

It would also be useful if you could run inside gdb and catch the place where 
it's crashing, and print out the addresses that the stacktrace routine has 
captured so far.  That will tell us where it's having an error continuing.

Original comment by csilv...@gmail.com on 21 Feb 2012 at 12:20

GoogleCodeExporter commented 9 years ago
Just curious if there is any further update here?

Original comment by chapp...@gmail.com on 2 Mar 2012 at 4:20

GoogleCodeExporter commented 9 years ago
I am sorry to be late for the completed backtrace.

Original comment by lshmouse on 4 Mar 2012 at 7:13

Attachments:

GoogleCodeExporter commented 9 years ago
(gdb) bt
#0  0x0000000000b38b72 in GetStackTrace (result=0x50fad230, max_depth=42, 
skip_count=0)
    at thirdparty/google-perftools-1.7/src/stacktrace_x86-inl.h:320
#1  0x0000000000b1cfe3 in MallocHook_GetCallerStackTrace (result=0x50fad3f0, 
max_depth=32, skip_count=5)
    at thirdparty/google-perftools-1.7/src/malloc_hook.cc:338
#2  0x0000000000b2e9f3 in MallocHook::GetCallerStackTrace (result=0x50fad3f0, 
max_depth=32, skip_count=5)
    at ./thirdparty/google-perftools-1.7/src/google/malloc_hook.h:192
#3  0x0000000000b2cf40 in HeapProfileTable::RecordAlloc (this=0x7ff872d30040, 
ptr=0x7ff874e86a40, bytes=28, skip_count=1)
    at thirdparty/google-perftools-1.7/src/heap-profile-table.cc:196
#4  0x0000000000b1301e in RecordAlloc (ptr=0x7ff874e86a40, bytes=28, 
skip_count=0)
    at thirdparty/google-perftools-1.7/src/heap-profiler.cc:339
#5  0x0000000000b130f2 in NewHook (ptr=0x7ff874e86a40, size=28) at 
thirdparty/google-perftools-1.7/src/heap-profiler.cc:359
#6  0x0000000000b103d4 in MallocHook::InvokeNewHook (p=0x7ff874e86a40, s=28)
    at thirdparty/google-perftools-1.7/src/malloc_hook-inl.h:107
#7  0x0000000000bbb9b2 in tc_new (size=28) at 
thirdparty/google-perftools-1.7/src/tcmalloc.cc:1527
#8  0x0000000000b92669 in std::string::_Rep::_S_create (__capacity=3, 
__old_capacity=<value optimized out>, 
    __alloc=<value optimized out>) at /usr/local/src/gcc-4.5.1/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:89
#9  0x000000000098f25e in std::string::_S_construct<char const*> 
(__beg=0xce8a1c "", __end=0xce8a1f "", __a=@0x50fadc8f)
    at /usr/local/gcc4.5.1/lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc:138
#10 0x0000000000b941f2 in basic_string (this=0x50fadc10, __s=0xce8a1c "", 
__a=@0x50fadc8f)
    at /usr/local/src/gcc-4.5.1/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:1649
#11 0x000000000082771b in AttrManager::PostProc (this=0x12cef60, ad=0x50fadcc0)
    at tborg/sdk/attributes_checker/attr_manager.cpp:500
#12 0x000000000082953c in AttrManager::CreateClassAd (this=0x12cef60) at 
tborg/sdk/attributes_checker/attr_manager.cpp:660
#13 0x000000000080a503 in FileProc::FileParse (this=0x50fae020, 
file_name=@0x7ff87371a288, zk_conf=@0x7ff87371a2a0, 
    ad_str=0x7ff87371a2d0) at tborg/sdk/attributes_checker/file_processor.cpp:84
#14 0x00000000004cfe8d in JobAttrFileChecker::NormalParseFile 
(this=0x7ff87371a280, job_classad=0x7ff87371a2d0)
    at tborg/sdk/submitter/job_attr_checker.cpp:289
#15 0x00000000004cf7e4 in JobAttrFileChecker::IsValid (this=0x7ff87371a280) at 
tborg/sdk/submitter/job_attr_checker.cpp:229
#16 0x00000000004d090a in JobAttrSubmitFileChecker::IsValid 
(this=0x7ff87371a280) at tborg/sdk/submitter/job_attr_checker.cpp:380
#17 0x00000000004d1e16 in JobAttrSubmitDescChecker::IsValid 
(this=0x7ff8717840e0) at tborg/sdk/submitter/job_attr_checker.cpp:532
#18 0x00000000004c3847 in JobRequestPacker::CheckAllAttr (this=0x7ff874d27300) 
at tborg/sdk/submitter/job_request_packer.cpp:12
#19 0x00000000004c3b1a in JobRequestPacker::MakeRequestClassAdStr 
(this=0x7ff874d27300, comm_request=0x50faeb20, 
    diff_partial_requst=0x50faeaf0) at tborg/sdk/submitter/job_request_packer.cpp:40
#20 0x00000000004a4631 in JobProcessor::Run (this=0x7ff873716240, 
rpc_addr=@0x50faebd0, job_request_packer=0x7ff874d27300)
    at tborg/sdk/submitter/job_processor.cpp:97
#21 0x00000000004a55cb in tborg::TBorgSubmitter::TBorgSubmit 
(cluster=@0x12df950, job_attr_message=@0x50faece0, candidate_ips=0x0, 
---Type <return> to continue, or q <return> to quit---
    jobinfo=0x50faedf0) at tborg/sdk/submitter/submit.cpp:109
#22 0x0000000000803d84 in mapreduce::TborgWrapper::SubmitJob (this=0x50faef50, 
job_desc=@0x50faece0, ip=@0x50faeea0, 
    job_info=0x50faedf0) at mapreduce/utils/tborg_wrapper.cc:45
#23 0x0000000000801907 in mapreduce::ProcessUtils::StartMapReduceWorker 
(this=0x50faef40, map_worker_num=17, 
    map_reduce_worker_num=503) at mapreduce/utils/process_utils.cc:264
#24 0x0000000000801564 in mapreduce::ProcessUtils::StartWorker 
(this=0x50faef40) at mapreduce/utils/process_utils.cc:215
#25 0x000000000067ec08 in mapreduce::RemoteMaster::StartJob 
(this=0x7ff872f377c0) at mapreduce/master/remote_master.cc:57
#26 0x000000000067f822 in MethodClosure_Arg0_Bind0<true, void, 
mapreduce::RemoteMaster, mapreduce::RemoteMaster>::Run (
    this=0x7ff872290d80) at ./common/base/closure.h:327
#27 0x0000000000af2a40 in ThreadPool::Task::Run (this=0x50faf010) at 
common/system/concurrency/thread_pool.cpp:231
#28 0x0000000000af2bcb in ThreadPool::WorkerLoop (this=0x7ff872f3b120) at 
common/system/concurrency/thread_pool.cpp:268
#29 0x0000000000af2c88 in ThreadPool::WorkRoutine (this=0x7ff872f3b120, 
thread=0x7ff872290d60)
    at common/system/concurrency/thread_pool.cpp:279
#30 0x0000000000af360e in GenericParamMemberFunctionAdapter<ThreadPool, 
ThreadPool::PooledThread*, 
&(ThreadPool::WorkRoutine(ThreadPool::PooledThread*))> (context=0x7ff872f3b120, 
param=140705043909984) at ./common/system/concurrency/thread.hpp:52
#31 0x0000000000af1a93 in Thread::Impl::Entry (this=0x7ff872277f00) at 
common/system/concurrency/thread.cpp:85
#32 0x0000000000aef533 in BaseThread::StaticEntry (inBaseThread=0x7ff872277f00) 
at common/system/concurrency/base_thread.cpp:143
#33 0x00007ff8752db193 in start_thread () from /lib64/libpthread.so.0
#34 0x00007ff875000f0d in clone () from /lib64/libc.so.6
#35 0x0000000000000000 in ?? ()
(gdb) 

Original comment by lshmouse on 4 Mar 2012 at 8:24

GoogleCodeExporter commented 9 years ago
I am curious what it is actually crashing on and how deep into the stack trace. 
Can you build perftools with ther flags "-00 -g -fno-inline" and reproduce the 
crash from there. Then in gdb at frame 0:

gdb> info locals
gdb> info reg
...

Original comment by chapp...@gmail.com on 4 May 2012 at 5:52

GoogleCodeExporter commented 9 years ago
Any update on this one?

Original comment by chapp...@gmail.com on 28 Oct 2012 at 2:40

GoogleCodeExporter commented 9 years ago
If there are no further updates here I am going to close this off as not 
reproducible.

Original comment by chapp...@gmail.com on 23 Dec 2012 at 2:38

GoogleCodeExporter commented 9 years ago
closing as non-reproducible.

Original comment by alkondratenko on 15 Sep 2013 at 12:05