0

when I run pstack {pid} on linux, Sometimes, I shows ?? for some records. what is the reason for that? if it is just be optimized, how can I know the real related code ?

#0  0x00000037d620b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00000000008c83db in boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) ()
#2  0x0000000000d95f7b in mongo::SimpleRWLock::lock_shared() ()
#3  0x00000000008bce47 in mongo::Lock::DBRead::lockOther(mongo::StringData const&) ()
#4  0x00000000008bfc86 in mongo::Lock::DBRead::lockDB(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#5  0x00000000008c1eb0 in mongo::Lock::DBRead::DBRead(mongo::StringData const&) ()
#6  0x000000000081fa35 in mongo::Client::ReadContext::ReadContext(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
**#7  0x0000000000b852bb in ?? ()**
#8  0x00000000008ab646 in mongo::CmdServerStatus::run(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mongo::BSONObj&, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, mongo::BSONObjBuilder&, bool) ()
zhihuifan
  • 1,093
  • 2
  • 16
  • 30

1 Answers1

0

Even I don't know why just 1 record show "??", but I have found the solution to know what the "??" represent in this case.

I got the previous stack in production. and I run the traffic in DEV env (in DEV, I compiled with -ggdb option and install with --nostrip), I got the following stack:

Thread 2 (Thread 0x7fb112c27700 (LWP 29881)):
#0  0x0000003af460b43c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00000000008661cb in boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) ()
#2  0x0000000000d093e3 in mongo::SimpleRWLock::lock_shared() ()
#3  0x00000000008e0cfb in mongo::Lock::DBRead::lockOther(mongo::StringData const&) ()
#4  0x00000000008e2701 in mongo::Lock::DBRead::lockDB(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#5  0x00000000008e3557 in mongo::Lock::DBRead::DBRead(mongo::StringData const&) ()
#6  0x0000000000859d00 in mongo::Client::ReadContext::ReadContext(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>
, std::allocator<char> > const&) ()
#7  0x0000000000b5a6c0 in mongo::(anonymous namespace)::RecordStats::generateSection(mongo::BSONElement const&) const ()
#8  0x00000000008c4934 in mongo::CmdServerStatus::run(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mongo::BSONObj&, int, std::basic_string<char, std::char_tr
aits<char>, std::allocator<char> >&, mongo::BSONObjBuilder&, bool) ()
#9  0x00000000008ef0d4 in mongo::_execCommand(mongo::Command*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mongo::BSONObj&, int, std::basic_string<char, std
::char_traits<char>, std::allocator<char> >&, mongo::BSONObjBuilder&, bool) () 
zhihuifan
  • 1,093
  • 2
  • 16
  • 30