[lttng-dev] Segfault during process exit
Jonathan Rajotte Julien
Jonathan.rajotte-julien at efficios.com
Wed Mar 2 22:26:57 UTC 2016
On 2016-03-02 05:13 PM, Jeffrey Chen wrote:
>
> Thanks!
>
> I will try to get a sample executable. But, just from the theory point
> of view, this issue is possible, right?
>
The nice thing with bugs is that in theory there is none.
Make sure you have a reproducer and we will work from there.
Cheers!
>
>
>
> ------------------------------------------------------------------------
> *From:* Jonathan Rajotte Julien <Jonathan.rajotte-julien at efficios.com>
> *Sent:* Wednesday, March 2, 2016 12:35 PM
> *To:* Jeffrey Chen
> *Cc:* lttng-dev at lists.lttng.org
> *Subject:* Re: [lttng-dev] Segfault during process exit
> Hi,
>
> Don't forget to cc the mailing list.
>
> On 2016-03-02 02:42 PM, Jeffrey Chen wrote:
>>
>> Even I share our executable, you will not be able to run on your
>> machine, as it depends on our environment.
>>
> This is expected, it's also why I asked you if you could provide a
> reproducer, a simpler version of your problem that reproduce the
> behavior even sporadically.
>
>> The idea is that, if you spawn some threads, and these threads keep
>> writing traces through LTTng. Then, exit the main thread, as in
>> return main() function. LTTng's logic will do cleanup itself, but my
>> other threads are still writing to LTTng. This would cause segfault.
>> It would try to reference address 0x0.
>>
> This could be a good start for a simple reproducer.
>
> Cheers
>>
>>
>> #0 0x0000000000000000 in ?? ()
>> #1 0x00007f7e31fdfd78 in __tracepoint_cb_processor___tracepoint_info (
>> taskNameArg=0x1cf3c30 "BackgroundTask", dataArg=0x1fd5200 "S")
>>
>> ...
>>
>> ------------------------------------------------------------------------
>> *From:* Jonathan Rajotte Julien <Jonathan.rajotte-julien at efficios.com>
>> *Sent:* Wednesday, March 2, 2016 11:21 AM
>> *To:* Jeffrey Chen
>> *Cc:* lttng-dev at lists.lttng.org
>> *Subject:* Re: [lttng-dev] Segfault during process exit
>> Hi,
>>
>> Could you provide a reproducer ?
>>
>> Could you give us some context ?
>>
>> Thanks
>>
>> On 2016-03-02 02:07 PM, Jeffrey Chen wrote:
>>>
>>> Hi:
>>>
>>>
>>> Our system process will spawn several background threads to do
>>> tasks. During the process exit, there is no guarantee that these
>>> background threads are finished. I have noticed several times that
>>> the execution would segfault during exiting. The stacktrace is
>>> showing that the segfault happened at the call to write trace,
>>> tracepoint(). My guess is that LTTng cleaned up the tracing
>>> connection, and the background thread was still running. Has anyone
>>> noticed this issue? I thought about trying wait for all the
>>> background threads to complete, but this is very difficult to do in
>>> a complex system, as the background thread could spawn more threads
>>> during the process. Is there any way to solve this? Thanks.
>>>
>>>
>>>
>>> _______________________________________________
>>> lttng-dev mailing list
>>> lttng-dev at lists.lttng.org
>>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>> --
>> Jonathan R. Julien
>> Efficios
>
> --
> Jonathan R. Julien
> Efficios
--
Jonathan R. Julien
Efficios
More information about the lttng-dev
mailing list