Comments (11)
Thanks for tracking this down. I'll put in a null check so you see an empty call chain instead of it blowing up :)
from jitwatch.
In class CompileChainStage
on line
title += rootMemberName + " " + root.getCompilation().getSignature();
variable root
is null
.
from jitwatch.
Hi @alexei-osipov ,
Thanks for reporting. I'll investigate why this is happening and put in a fix.
Kind regards,
Chris
from jitwatch.
I've noticed that there a lot of errors in the parser log:
Could not parse line 3798 : java.lang.invoke.LambdaForm$MH.0x0000000800060440 invoke (Ljava.lang.Object;)Ljava.lang.Object; : MetaMember not found for java.lang.invoke.LambdaForm$MH.0x0000000800060440 invoke (Ljava.lang.Object;)Ljava.lang.Object;
Could not parse line 3807 : java.lang.invoke.LambdaForm$MH.0x0000000800060440 invoke (Ljava.lang.Object;)Ljava.lang.Object; : MetaMember not found for java.lang.invoke.LambdaForm$MH.0x0000000800060440 invoke (Ljava.lang.Object;)Ljava.lang.Object;
Could not parse line 4661 : java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$179.0x000000080023a040 getAsBoolean ()Z : MetaMember not found for java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$179.0x000000080023a040 getAsBoolean ()Z
and so on (hundreds of them).
Example log content for lines 3806-3709:
<task_queued compile_id='1363' method='java.lang.Object <init> ()V' bytes='1' count='768' iicount='768' level='1' stamp='1.568' comment='tiered' hot_count='768'/>
<writer thread='33624'/>
<nmethod compile_id='1361' compiler='c1' level='1' entry='0x0000018e449c2540' size='768' address='0x0000018e449c2390' relocation_offset='376' insts_offset='432' stub_offset='592' scopes_data_offset='664' scopes_pcs_offset='680' dependencies_offset='744' nul_chk_table_offset='752' oops_offset='648' metadata_offset='656' method='java.lang.invoke.LambdaForm$MH/0x0000000800060440 invoke (Ljava/lang/Object;)Ljava/lang/Object;' bytes='8' count='381' iicount='381' stamp='1.568'/>
<nmethod compile_id='1363' compiler='c1' level='1' entry='0x0000018e449c28c0' size='696' address='0x0000018e449c2710' relocation_offset='376' insts_offset='432' stub_offset='560' scopes_data_offset='624' scopes_pcs_offset='640' dependencies_offset='688' metadata_offset='616' method='java.lang.Object <init> ()V' bytes='1' count='797' iicount='797' stamp='1.569'/>
Example log content for lines 4660-4663:
<task_queued compile_id='1363' method='java.lang.Object <init> ()V' bytes='1' count='768' iicount='768' level='1' stamp='1.568' comment='tiered' hot_count='768'/>
<writer thread='33624'/>
<nmethod compile_id='1361' compiler='c1' level='1' entry='0x0000018e449c2540' size='768' address='0x0000018e449c2390' relocation_offset='376' insts_offset='432' stub_offset='592' scopes_data_offset='664' scopes_pcs_offset='680' dependencies_offset='744' nul_chk_table_offset='752' oops_offset='648' metadata_offset='656' method='java.lang.invoke.LambdaForm$MH/0x0000000800060440 invoke (Ljava/lang/Object;)Ljava/lang/Object;' bytes='8' count='381' iicount='381' stamp='1.568'/>
Example log content for lines 4660-4663:
<task_queued compile_id='1682' method='java.util.Spliterators$ArraySpliterator tryAdvance (Ljava/util/function/Consumer;)Z' bytes='58' count='256' iicount='256' level='1' stamp='1.976' comment='tiered' hot_count='256'/>
<task_queued compile_id='1683' method='java.util.stream.AbstractSpinedBuffer count ()J' bytes='31' count='256' iicount='256' level='1' stamp='1.976' comment='tiered' hot_count='256'/>
<task_queued compile_id='1684' method='java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$179/0x000000080023a040 getAsBoolean ()Z' bytes='8' count='256' iicount='256' level='1' stamp='1.976' comment='tiered' hot_count='256'/>
<task_queued compile_id='1685' method='java.util.stream.StreamSpliterators$WrappingSpliterator lambda$initPartialTraversalState$0 ()Z' bytes='14' count='256' iicount='256' level='1' stamp='1.976' comment='tiered' hot_count='256'/>
Note that it seems that error log messages point to a bit wrong line numbers. Error mentions log line 4661 but the relevant content seems to be on line 4662.
from jitwatch.
"Could not parse" for lambdas is a known problem. The solution requires a bit of a redesign which is currently in (slow) progress.
Looks like there's an off-by-one in reporting the errors lines. Will fix that :)
from jitwatch.
I guess that parsing issue is not actually related to the NPE problem then.
Is there any information that might be helpful for you?
from jitwatch.
Could you let me know what kind of JIT log exhibits the error? One from the Sandbox examples or collected from your own program (-XX:+LogCompilation) ? Thanks
from jitwatch.
It's collected from my own app. JVM flags used:
-XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+LogCompilation -XX:-PrintAssembly -XX:LogFile=server_jit.log
(PrintAssembly is turned off for now)
from jitwatch.
I've just opened sanbox log and it works fine. The problem occurs only on my log.
I'm not sure that this id directly useful but this branch from AbstractLogParser#handleMember
is executed for sandbox but not executed for my log:
case TASK:
{
setTagTask((Task) tag, metaMember);
currentMember = metaMember;
model.updateStats(metaMember, attrs);
}
from jitwatch.
Oh, it seems the main difference that I've opened log on the running app. So the log was incomplete. After the app shutdown JITWatch was able to properly show call/inline chain.
However it's a bit strange that this resulted in NPE.
from jitwatch.
Thank you!
from jitwatch.
Related Issues (20)
- how to set config for openjdk built by source files HOT 11
- I can't see the assembly instructions. HOT 2
- Fix gradle build to find FreeLogJ HOT 1
- Fix code cache visualisation since segmented code cache
- Fix auxiliary scripts which assume local lib folder HOT 1
- hsdis download failed on x86 mac HOT 2
- JITWatch shows garbled characters HOT 5
- After the SpringBoot project adds source and class to the config, the following error occurs when you click start HOT 5
- NPE occured from Tag.getAttributes() HOT 3
- The button in the tool is garbled HOT 2
- java.lang.VerifyError: Cannot inherit from final class HOT 2
- compile ok but see nothing
- Unable to see source code for project classes as well as java lang classes HOT 11
- Gradle build is broken. HOT 2
- Add compilation flags HOT 3
- Add JMH in Sandbox HOT 1
- Any plans to support the Vector API? HOT 4
- tableswitch and Method size HOT 4
- Support for Azul Prime
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jitwatch.