Fully featured low overhead profiler for Java EE and Java SE platforms.
Ultimate profiling and monitoring solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Can't open cpu snapshot, IllegalStateException thrown

Moderators: Vladimir Kondratyev, Anton Katilin

Can't open cpu snapshot, IllegalStateException thrown

Postby dantewang » Thu Nov 26, 2015 8:05 am

When trying to open a large cpu tracing snapshot file (5.5GB):

Firstly there's a dialog asking whether to open it as a normal snapshot or performance snapshot; but the snapshot itself is already a performance snapshot, so I can only choose the other.

Then the opening fails at 89% of the progress bar, and the error output is shown below:

Code: Select all
Product: YourKit Java Profiler 2015 build 15076
Build: 15076 on 201510231650
JDK: 1.8.0_65
VM: Java HotSpot(TM) 64-Bit Server VM
Vendor: Oracle Corporation
OS: Linux
OS version: 3.16.0-30-generic
OS arch: amd64
Date and time: Wed Nov 25 14:17:12 CST 2015
com.yourkit.util.i: java.lang.IllegalStateException: assertion failed
   at com.yourkit.g.db.<init>(a:31)
   at com.yourkit.g.db.<init>(a:4)
   at com.yourkit.e.ay.if(a:159)
   at com.yourkit.e.ay.do(a:136)
   at com.yourkit.e.ay$a$a.if(a:13)
   at com.yourkit.g.h.l.actionPerformed(a:110)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
   at com.yourkit.g.h.i$1.fireActionPerformed(a:13)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
   at java.awt.Component.processMouseEvent(Component.java:6535)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
   at java.awt.Component.processEvent(Component.java:6300)
   at java.awt.Container.processEvent(Container.java:2236)
   at java.awt.Component.dispatchEventImpl(Component.java:4891)
   at java.awt.Container.dispatchEventImpl(Container.java:2294)
   at java.awt.Component.dispatchEvent(Component.java:4713)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
   at java.awt.Container.dispatchEventImpl(Container.java:2280)
   at java.awt.Window.dispatchEventImpl(Window.java:2750)
   at java.awt.Component.dispatchEvent(Component.java:4713)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
   at java.awt.EventQueue.access$500(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:709)
   at java.awt.EventQueue$3.run(EventQueue.java:703)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.awt.EventQueue$4.run(EventQueue.java:731)
   at java.awt.EventQueue$4.run(EventQueue.java:729)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
   at com.yourkit.Main1$b.dispatchEvent(a:30)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
   at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:497)
   at com.yourkit.g.by.a(a:547)
   at com.yourkit.g.by.a(a:529)
   at com.yourkit.g.by.a(a:191)
   at com.yourkit.g.j.a(a:40)
   at com.yourkit.e.ay.if(a:163)
   at com.yourkit.g.h.m.fireActionPerformed(a:39)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
   at com.yourkit.g.f.a.n.a(a:173)
   at com.yourkit.g.f.a.n$c.mouseReleased(a:36)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
   at java.awt.Component.processMouseEvent(Component.java:6535)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
   at java.awt.Component.processEvent(Component.java:6300)
   at java.awt.Container.processEvent(Container.java:2236)
   at java.awt.Component.dispatchEventImpl(Component.java:4891)
   at java.awt.Container.dispatchEventImpl(Container.java:2294)
   at java.awt.Component.dispatchEvent(Component.java:4713)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
   at java.awt.Container.dispatchEventImpl(Container.java:2280)
   at java.awt.Window.dispatchEventImpl(Window.java:2750)
   at java.awt.Component.dispatchEvent(Component.java:4713)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
   at java.awt.EventQueue.access$500(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:709)
   at java.awt.EventQueue$3.run(EventQueue.java:703)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.awt.EventQueue$4.run(EventQueue.java:731)
   at java.awt.EventQueue$4.run(EventQueue.java:729)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
   at com.yourkit.Main1$b.dispatchEvent(a:30)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.IllegalStateException: assertion failed
   at com.yourkit.util.Asserts.fail(a:44)
   at com.yourkit.util.ac.if(a:24)
   at com.yourkit.d.a5.f(a:2738)
   at com.yourkit.d.b.a.a(a:110)
   at com.yourkit.d.b.a.a(a:294)
   at com.yourkit.d.c.a.c.int(a:158)
   at com.yourkit.d.c.a.c.<init>(a:1051)
   at com.yourkit.d.a5.<init>(a:2603)
   at com.yourkit.d.ap.a(a:195)
   at com.yourkit.e.ay$4.a(a:9)
   at com.yourkit.g.db$1.run(a:5)
   at com.yourkit.g.db$b.run(a:12)
dantewang
 
Posts: 4
Joined: Wed Nov 19, 2014 6:11 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Postby dantewang » Thu Nov 26, 2015 8:12 am

By the way, this only happens with "large" snapshots.

For example, same version of Yourkit can open a 3GB snapshot without any problems. What's more, when trying to open a snapshot which is around 3GB, we don't see the dialog mentioned in op.

So I am guessing, will different file sizes trigger different logics for opening a snapshot so that I get a "assertion failed" IllegalStateException?
dantewang
 
Posts: 4
Joined: Wed Nov 19, 2014 6:11 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Postby Anton Katilin » Thu Nov 26, 2015 11:49 am

Hi,

Firstly there's a dialog asking whether to open it as a normal snapshot or performance snapshot; but the snapshot itself is already a performance snapshot, so I can only choose the other.

We'll handle this bug.

Regarding the exception. The size itself should not be the problem. Instead, the problematic snapshot seems to contain partially incorrect data. To investigate the issue, we need the snapshot. Could you please pack it with zip or other tool, upload to a file sharing service like DropBox and send the download URL to support@yourkit.com

Also, could you please provide the profiler agent log file ~/.yjp/log/<session name>-<pid>.log

Best regards,
Anton
Anton Katilin
 
Posts: 5575
Joined: Wed Aug 11, 2004 8:37 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Postby Anton Katilin » Thu Nov 26, 2015 11:54 am

Firstly there's a dialog asking whether to open it as a normal snapshot or performance snapshot; but the snapshot itself is already a performance snapshot, so I can only choose the other.
Will be fixed in the next build. Thanks again for mentioning.
Anton Katilin
 
Posts: 5575
Joined: Wed Aug 11, 2004 8:37 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Postby Anton Katilin » Tue Dec 01, 2015 3:04 pm

Update:

We've got your snapshot, it seems corrupt. Please find detail in our last email we've sent to you.
Anton Katilin
 
Posts: 5575
Joined: Wed Aug 11, 2004 8:37 am


Return to Java Profiler

Who is online

Users browsing this forum: Google [Bot] and 7 guests

cron