RFR: Make Serviceability Agent attach functionality optional

Jini George jini.george at oracle.com
Fri Apr 14 17:26:54 UTC 2017

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)

* 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

* 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.


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