Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profiler doesn't work when MaxJavaStackTraceDepth set to -1 #89

Closed
artspb opened this issue Feb 26, 2018 · 2 comments
Closed

Profiler doesn't work when MaxJavaStackTraceDepth set to -1 #89

artspb opened this issue Feb 26, 2018 · 2 comments

Comments

@artspb
Copy link

artspb commented Feb 26, 2018

When I run my application with -XX:MaxJavaStackTraceDepth=-1 the profiler doesn't print any stack trace. The output consists of the following.

--- Execution profile ---
>Total samples:         38441
>Non-Java:              3681 (9.58%)
>GC active:             490 (1.27%)
>Unknown (native):      21475 (55.86%)
>Not walkable (native): 9409 (24.48%)
>Unknown (Java):        838 (2.18%)
>Not walkable (Java):   2533 (6.59%)
>Deopt:                 15 (0.04%)
>
>Frame buffer usage:    0%

Removing the option solves the problem. If it's expected behavior, it'd be great to document it in README.

@apangin
Copy link
Collaborator

apangin commented Feb 26, 2018

Thank you for an interesting bug report! This is not an expected behavior, even for me :)

It turns out that AsyncGetCallTrace API for stack walking indeed depends on MaxJavaStackTraceDepth.

Since this is hard-coded in JVM, I can hardly do anything about it right now. So I'll just document the issue as you've suggested. The future plan is to get rid of AsyncGetCallTrace dependency at all (#66) - there are already too many problems with this API.

@artspb
Copy link
Author

artspb commented Feb 27, 2018

Thank you for addressing it so fast. And thank you for an amazing tool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants