RFR: Make Serviceability Agent attach functionality optional
Mikael Vidstedt
mikael.vidstedt at oracle.com
Tue Apr 18 21:55:59 UTC 2017
> On Apr 14, 2017, at 10:26 AM, Jini George <jini.george at oracle.com> wrote:
>
> Looks ok to me, a couple of nits though:
>
> * in Lib-jdk.hotspot.agent.gmk, a space would be needed after the comma at lines 60 and 102:
>
> ifeq ($(INCLUDE_SA_ATTACH),true)
Fixed.
> * In proc_service.h, we have the following lines:
>
> 76 // new libthread_db of NPTL seem to require this symbol
> 77 ps_err_e ps_get_thread_area();
>
> So might make sense to have this too under #ifdef INCLUDE_SA_ATTACH
As a matter of fact, ps_get_thread_area() seems to be dead code (AFAICT it’s not used anywhere) so the right course of action is probably just to remove it? Perhaps something we can do in mainline/jdk10?
> * Looks like the inclusion of thread_db.h and the corresponding functions will have to be guarded with INCLUDE_SA_ATTACH in libproc_impl.c too.
I’m assuming that you’re asking for the guards I added in the first, incomplete change I made:
http://hg.openjdk.java.net/portola/portola/hotspot/rev/6860d59d26f4 <http://hg.openjdk.java.net/portola/portola/hotspot/rev/6860d59d26f4>
Cheers,
Mikael
>
>
> Thanks,
> Jini.
>
> On 4/14/2017 5:06 AM, Mikael Vidstedt wrote:
>> Here’s an ugly incremental fix to get things building again:
>>
>> hotspot: http://cr.openjdk.java.net/~mikael/webrevs/portola/attachfix/webrev.00/hotspot/webrev/
>>
>> I’m going to file an enhancement to follow up on this to see if it can be cleaned up. Meanwhile, please have a look at the changes - both the ones I send out earlier, and the above fix.
>>
>> Cheers,
>> Mikael
>>
>>> On Apr 13, 2017, at 3:31 PM, Mikael Vidstedt <mikael.vidstedt at oracle.com> wrote:
>>>
>>>
>>> FYI: I messed up the details of the patch. Working on fixing it.
>>>
>>> Cheers,
>>> Mikael
>>>
>>>> On Apr 13, 2017, at 9:19 AM, Mikael Vidstedt <mikael.vidstedt at oracle.com> wrote:
>>>>
>>>>
>>>> The Serviceability Agent (aka. SA) has functionality to attach to running processes forcefully/without the cooperation of the VM, allowing “live” debugging even when the processes is stuck. On linux the implementation relies on the functionality provided by the thread_db.h header file.
>>>>
>>>> musl doesn’t support thread_db.h (or any other thread debugging library for that sake). This patch makes the inclusion of the attach/live debugging support optional, and only includes it if the thread_db.h header file is available.
>>>>
>>>> Note that the core debugging functionality still works without the attach/live debugging functionality in the SA (at least in theory, I haven’t taken core debugging for a spin yet).
>>>>
>>>> top: http://cr.openjdk.java.net/~mikael/webrevs/portola/sathreaddb/webrev.00/webrev/
>>>> hotspot: http://cr.openjdk.java.net/~mikael/webrevs/portola/sathreaddb/webrev.00/hotspot/webrev/
>>>>
>>>> Cheers,
>>>> Mikael
>>>>
>
More information about the portola-dev
mailing list