Looks good. % svn commit Sending source/Plugins/Process/POSIX/ProcessPOSIX.cpp Transmitting file data . Committed revision 153769.
On Mar 30, 2012, at 12:49 PM, Viktor Kutuzov wrote: > Hi everyone, > > here is a patch, which fixes a segmentation fault crash in lldb in the > ProcessPOSIX class when the object gets destroyed. I can reproduce this > problem on the FreeBSD platform and it should be reproducable for the other > platforms also. > > The steps to reproduce (log): > > freebsd1# ./lldb /bin/ls > Current executable set to '/bin/ls' (x86_64). > (lldb) platform select remote-freebsd > Host: FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC > 2012 [email protected]:/usr/obj/usr/src/sys/GENERIC > (lldb) process connect localhost > error: remote connections are not supported > (lldb) exit > Segmentation fault (core dumped) > Stack trace: > > Program received signal SIGSEGV, Segmentation fault. > ProcessMonitor::GetPID (this=0x0) at ProcessMonitor.h:67 > 67 GetPID() const { return m_pid; } > (gdb) bt > #0 ProcessMonitor::GetPID (this=0x0) at ProcessMonitor.h:67 > #1 0x00000008023b6890 in ProcessPOSIX::DoDestroy (this=0x805f4b800) at > /usr/home/projects/llvm-lldb/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp:295 > #2 0x0000000801703ff6 in lldb_private::Process::Destroy (this=0x805f4b800) > at /usr/home/projects/llvm-lldb/tools/lldb/source/Target/Process.cpp:2887 > #3 0x0000000801729be4 in lldb_private::Target::DeleteCurrentProcess > (this=0x808b8d600) at > /usr/home/projects/llvm-lldb/tools/lldb/source/Target/Target.cpp:132 > #4 0x00000008012fdf03 in CommandObjectProcessConnect::Execute > (this=0x805c2fc00, command=@0x7fffffffbf00, result=@0x805d48140) > at > /usr/home/projects/llvm-lldb/tools/lldb/source/Commands/CommandObjectProcess.cpp:883 > #5 0x00000008014bdf40 in lldb_private::CommandObject::ExecuteWithOptions > (this=0x805c2fc00, args=@0x7fffffffbf00, result=@0x805d48140) > at > /usr/home/projects/llvm-lldb/tools/lldb/source/Interpreter/CommandObject.cpp:281 > #6 0x00000008014b2283 in lldb_private::CommandInterpreter::HandleCommand > (this=0x805ca4200, command_line=0x80a41f198 "process connect > connect://localhost", add_to_history=true, > result=@0x805d48140, override_context=0x0, repeat_on_empty_command=true, > no_context_switching=false) at > /usr/home/projects/llvm-lldb/tools/lldb/source/Interpreter/CommandInterpreter.cpp:1540 > #7 0x000000080124a7b5 in lldb::SBCommandInterpreter::HandleCommand > (this=0x7fffffffc2e0, command_line=0x80a41f198 "process connect > connect://localhost", result=@0x7fffffffc2e8, > add_to_history=true) at > /usr/home/projects/llvm-lldb/tools/lldb/source/API/SBCommandInterpreter.cpp:97 > #8 0x000000000040b666 in Driver::HandleIOEvent (this=0x7fffffffd708, > event=@0x7fffffffc550) at > /usr/home/projects/llvm-lldb/tools/lldb/tools/driver/Driver.cpp:980 > #9 0x000000000040cc3e in Driver::MainLoop (this=0x7fffffffd708) at > /usr/home/projects/llvm-lldb/tools/lldb/tools/driver/Driver.cpp:1406 > #10 0x000000000040d28b in main (argc=2, argv=0x7fffffffd878, > envp=0x7fffffffd890) at > /usr/home/projects/llvm-lldb/tools/lldb/tools/driver/Driver.cpp:1540 > > Would somebody review and apply this patch if it looks ok? > Thanks. > Viktor. > <lldb-processposix-crash.patch>_______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
