This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] gdbserver crash in gdb/gdbserver/thread.c::thread_search_callback


On 12/21/2015 03:15 PM, Joel Brobecker wrote:
> Connecting GDB to a LynxOS-178 GDBserver causes GDBserver to crash:
> 
>     % gdbserver :4444 simple_main
>     Process simple_main created; pid = 19
>     Listening on port 4444
>     Remote debugging from host 205.232.38.10
>     Segmentation fault (core dumped)
> 
> We saw this crash on LynxOS and also when using GDBserver on Windows.
> 
> The crash happens in thread_search_callback where the function
> calls the_target->thread_stopped (via the thread_stopped macro)
> without verifying whether the callback is NULL or not.
> 
> For the record, the regression was introduced by:
> 
>     commit a67a9faef0e32886c83611cc7a0ba61e91123063
>     Date:   Mon Nov 30 16:05:26 2015 +0000
>     Subject: gdbserver:prepare_access_memory: pick another thread
> 

Whoops, sorry about that.

> gdb/gdbserver/ChangeLog:
> 
>         * target.c (thread_search_callback): Add check that
>         the thread_stopped target callback is not NULL before
>         calling it.
> 
> Does the fix look good to you?
> Tested on both Windows (native gdbserver) and LynxOS using
> AdaCore's gdb-testsuite.

LGTM.

Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]