Hello @clayborg,

I added the switch() back in Process::Finalize() in r233258, because it caused 
an error:

  $ bin/lldb
  (lldb) target create ~/p/hello
  Current executable set to '~/p/hello' (x86_64).
  (lldb) r
  Assertion failed: (!"bad_weak_ptr"), function shared_ptr, file 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory,
 line 5174.
  Abort trap: 6

backtrace:

  $ lldb bin/lldb -- ~/p/hello
  (lldb) target create "bin/lldb"
  Current executable set to 'bin/lldb' (x86_64).
  (lldb) settings set -- target.run-args  "/Users/IliaK/p/hello"
  (lldb) r
  Process 50068 launched: '/Users/IliaK/p/llvm/build_ninja/bin/lldb' (x86_64)
  Process 50068 stopped
  * thread #1: tid = 0xbfd4c, 0x00007fff5fc0d28e, stop reason = signal SIGSTOP
      frame #0: 0x00007fff5fc0d28e
  -> 0x7fff5fc0d28e:  pushq  %rbp
     0x7fff5fc0d28f:  movq   %rsp, %rbp
     0x7fff5fc0d292:  popq   %rbp
     0x7fff5fc0d293:  retq   
  (lldb) c
  Process 50068 resuming
  (lldb) target create "/Users/IliaK/p/hello"
  Current executable set to '/Users/IliaK/p/hello' (x86_64).
  (lldb) r
  Assertion failed: (!"bad_weak_ptr"), function shared_ptr, file 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory,
 line 5174.
  Process 50068 stopped
  * thread #1: tid = 0xbfd4c, 0x00007fff9b42f286 
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', 
stop reason = signal SIGABRT
      frame #0: 0x00007fff9b42f286 libsystem_kernel.dylib`__pthread_kill + 10
  libsystem_kernel.dylib`__pthread_kill + 10:
  -> 0x7fff9b42f286:  jae    0x7fff9b42f290            ; __pthread_kill + 20
     0x7fff9b42f288:  movq   %rax, %rdi
     0x7fff9b42f28b:  jmp    0x7fff9b42ac53            ; cerror_nocancel
     0x7fff9b42f290:  retq   
  (lldb) bt
  * thread #1: tid = 0xbfd4c, 0x00007fff9b42f286 
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', 
stop reason = signal SIGABRT
    * frame #0: 0x00007fff9b42f286 libsystem_kernel.dylib`__pthread_kill + 10
      frame #1: 0x00007fff8f28c42f libsystem_pthread.dylib`pthread_kill + 90
      frame #2: 0x00000001014f3d9b liblldb.3.7.0.dylib`raise(sig=6) + 27 at 
Signals.inc:524
      frame #3: 0x00000001014f3e52 liblldb.3.7.0.dylib`abort + 18 at 
Signals.inc:541
      frame #4: 0x00000001014f3e31 
liblldb.3.7.0.dylib`__assert_rtn(func=0x0000000103c4e976, 
file=0x0000000103c4e981, line=5174, expr=0x0000000103c4e9f1) + 129 at 
Signals.inc:537
      frame #5: 0x000000010002d3c3 
liblldb.3.7.0.dylib`std::__1::shared_ptr<lldb_private::Process>::shared_ptr<lldb_private::Process>(this=0x00007fff5fbf9ec8,
 __r=0x0000000109293220, (null)=(__for_bool_ = 0)) + 163 at memory:5174
      frame #6: 0x000000010002d313 
liblldb.3.7.0.dylib`std::__1::shared_ptr<lldb_private::Process>::shared_ptr<lldb_private::Process>(this=0x00007fff5fbf9ec8,
 __r=0x0000000109293220, (null)=(__for_bool_ = 0)) + 35 at memory:5176
      frame #7: 0x0000000101bd3121 
liblldb.3.7.0.dylib`lldb_private::Process::SetPrivateState(lldb::StateType) 
[inlined] 
std::__1::enable_shared_from_this<lldb_private::Process>::shared_from_this(this=0x0000000109293220)
 + 51 at memory:5240
      frame #8: 0x0000000101bd30ee 
liblldb.3.7.0.dylib`lldb_private::Process::SetPrivateState(this=0x0000000109293200,
 new_state=eStateDetached) + 862 at Process.cpp:1785
      frame #9: 0x0000000101fe7266 
liblldb.3.7.0.dylib`ProcessKDP::DoDetach(this=0x0000000109293200, 
keep_stopped=false) + 342 at ProcessKDP.cpp:663
      frame #10: 0x0000000101fe7390 
liblldb.3.7.0.dylib`ProcessKDP::DoDestroy(this=0x0000000109293200) + 48 at 
ProcessKDP.cpp:675
      frame #11: 0x0000000101bce7a3 
liblldb.3.7.0.dylib`lldb_private::Process::Destroy(this=0x0000000109293200) + 
419 at Process.cpp:3959
      frame #12: 0x0000000101bcdb86 
liblldb.3.7.0.dylib`lldb_private::Process::Finalize(this=0x0000000109293200) + 
54 at Process.cpp:826
      frame #13: 0x0000000101fe4e3a 
liblldb.3.7.0.dylib`ProcessKDP::~ProcessKDP(this=0x0000000109293200) + 106 at 
ProcessKDP.cpp:203
      frame #14: 0x0000000101fe4f05 
liblldb.3.7.0.dylib`ProcessKDP::~ProcessKDP(this=0x0000000109293200) + 21 at 
ProcessKDP.cpp:197
      frame #15: 0x0000000101fe4fb9 
liblldb.3.7.0.dylib`ProcessKDP::~ProcessKDP(this=0x0000000109293200) + 25 at 
ProcessKDP.cpp:197
      frame #16: 0x0000000101feaa0c 
liblldb.3.7.0.dylib`std::__1::__shared_ptr_pointer<ProcessKDP*, 
std::__1::default_delete<ProcessKDP>, std::__1::allocator<ProcessKDP> 
>::__on_zero_shared() [inlined] 
std::__1::default_delete<ProcessKDP>::operator(this=0x000000010aa626a8, 
this=0x000000010aa626a8, this=0x000000010aa626a8, this=0x000000010aa626a8, 
this=0x000000010aa626a8, __ptr=0x0000000109293200)(ProcessKDP*) const + 156 at 
memory:2426
      frame #17: 0x0000000101fea9e1 
liblldb.3.7.0.dylib`std::__1::__shared_ptr_pointer<ProcessKDP*, 
std::__1::default_delete<ProcessKDP>, std::__1::allocator<ProcessKDP> 
>::__on_zero_shared(this=0x000000010aa62690) + 113 at memory:3669
      frame #18: 0x00007fff9797e8a6 
libc++.1.dylib`std::__1::__shared_weak_count::__release_shared() + 44
      frame #19: 0x000000010002d2df 
liblldb.3.7.0.dylib`std::__1::shared_ptr<lldb_private::Process>::~shared_ptr(this=0x00007fff5fbfa948)
 + 47 at memory:4448
      frame #20: 0x000000010002bf15 
liblldb.3.7.0.dylib`std::__1::shared_ptr<lldb_private::Process>::~shared_ptr(this=0x00007fff5fbfa948)
 + 21 at memory:4446
      frame #21: 0x0000000101bcb7fa 
liblldb.3.7.0.dylib`lldb_private::Process::FindPlugin(lldb_private::Target&, 
char const*, lldb_private::Listener&, lldb_private::FileSpec const*) [inlined] 
std::__1::shared_ptr<lldb_private::Process>::reset(this=0x00007fff5fbfab88) + 
2378 at memory:4577
      frame #22: 0x0000000101bcb6de 
liblldb.3.7.0.dylib`lldb_private::Process::FindPlugin(target=0x0000000109820e00,
 plugin_name=0x0000000000000000, listener=0x000000010903d278, 
crash_file_path=0x0000000000000000) + 2094 at Process.cpp:679
      frame #23: 0x0000000101c3b56e 
liblldb.3.7.0.dylib`lldb_private::Target::CreateProcess(this=0x0000000109820e00,
 listener=0x000000010903d278, plugin_name=0x0000000000000000, 
crash_file=0x0000000000000000) + 142 at Target.cpp:206
      frame #24: 0x0000000101e8473d 
liblldb.3.7.0.dylib`PlatformPOSIX::Attach(this=0x000000010881b640, 
attach_info=0x00007fff5fbfb270, debugger=0x000000010903d000, 
target=0x0000000109820e00, error=0x00007fff5fbfbd68) + 1325 at 
PlatformPOSIX.cpp:785
      frame #25: 0x0000000101bbc204 
liblldb.3.7.0.dylib`lldb_private::Platform::DebugProcess(this=0x000000010881b640,
 launch_info=0x00000001088abc28, debugger=0x000000010903d000, 
target=0x0000000109820e00, error=0x00007fff5fbfbd68) + 644 at Platform.cpp:1289
      frame #26: 0x0000000101e84fe4 
liblldb.3.7.0.dylib`PlatformPOSIX::DebugProcess(this=0x000000010881b640, 
launch_info=0x00000001088abc28, debugger=0x000000010903d000, 
target=0x0000000109820e00, error=0x00007fff5fbfbd68) + 244 at 
PlatformPOSIX.cpp:827
      frame #27: 0x0000000101c4bae1 
liblldb.3.7.0.dylib`lldb_private::Target::Launch(this=0x0000000109820e00, 
launch_info=0x00000001088abc28, stream=0x00007fff5fbfbd88) + 1953 at 
Target.cpp:2560
      frame #28: 0x00000001015ba7dd 
liblldb.3.7.0.dylib`CommandObjectProcessLaunch::DoExecute(this=0x00000001088abab0,
 launch_args=0x00007fff5fbfc038, result=0x00007fff5fbfed20) + 1357 at 
CommandObjectProcess.cpp:263
      frame #29: 0x0000000101a06e99 
liblldb.3.7.0.dylib`lldb_private::CommandObjectParsed::Execute(this=0x00000001088abab0,
 args_string=0x00007fff5fbfc891, result=0x00007fff5fbfed20) + 537 at 
CommandObject.cpp:1081
      frame #30: 0x00000001019dd82e 
liblldb.3.7.0.dylib`lldb_private::CommandInterpreter::HandleCommand(this=0x00000001088a11e0,
 command_line=0x00007fff5fbfeec9, lazy_add_to_history=eLazyBoolCalculate, 
result=0x00007fff5fbfed20, override_context=0x0000000000000000, 
repeat_on_empty_command=true, no_context_switching=false) + 23358 at 
CommandInterpreter.cpp:1966
      frame #31: 0x00000001019e7409 
liblldb.3.7.0.dylib`lldb_private::CommandInterpreter::IOHandlerInputComplete(this=0x00000001088a11e0,
 io_handler=0x0000000108d03370, line=0x00007fff5fbfeec8) + 1161 at 
CommandInterpreter.cpp:3151
      frame #32: 0x00000001019e7ac7 liblldb.3.7.0.dylib`non-virtual thunk to 
lldb_private::CommandInterpreter::IOHandlerInputComplete(this=0x00000001088a12b0,
 io_handler=0x0000000108d03370, line=0x00007fff5fbfeec8) + 55 at 
CommandInterpreter.cpp:3230
      frame #33: 0x00000001017d8a67 
liblldb.3.7.0.dylib`lldb_private::IOHandlerEditline::Run(this=0x0000000108d03370)
 + 1575 at IOHandler.cpp:729
      frame #34: 0x000000010179266e 
liblldb.3.7.0.dylib`lldb_private::Debugger::ExecuteIOHandlers(this=0x000000010903d000)
 + 142 at Debugger.cpp:920
      frame #35: 0x00000001019e8567 
liblldb.3.7.0.dylib`lldb_private::CommandInterpreter::RunCommandInterpreter(this=0x00000001088a11e0,
 auto_handle_events=true, spawn_thread=false, options=0x00007fff5fbff210) + 199 
at CommandInterpreter.cpp:3388
      frame #36: 0x0000000100048809 
liblldb.3.7.0.dylib`lldb::SBDebugger::RunCommandInterpreter(this=0x00007fff5fbff9f8,
 auto_handle_events=true, spawn_thread=false) + 137 at SBDebugger.cpp:975
      frame #37: 0x0000000100008abe 
lldb`Driver::MainLoop(this=0x00007fff5fbff9d8) + 5502 at Driver.cpp:1152
      frame #38: 0x0000000100009077 lldb`main(argc=2, argv=0x00007fff5fbffb20, 
envp=0x00007fff5fbffb38) + 359 at Driver.cpp:1252
      frame #39: 0x00007fff94f3b5c9 libdyld.dylib`start + 1
  (lldb) quit
  Quitting LLDB will kill one or more processes. Do you really want to proceed: 
[Y/n] y

Thanks,
Ilia


http://reviews.llvm.org/D8298

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to