Can't open cpu snapshot, IllegalStateException thrown

Questions about YourKit Java Profiler
Post Reply
dantewang
Posts: 4
Joined: Wed Nov 19, 2014 6:11 am

Can't open cpu snapshot, IllegalStateException thrown

Post by dantewang »

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

Post by dantewang »

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?
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Post by Anton Katilin »

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 [email protected]

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

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

Re: Can't open cpu snapshot, IllegalStateException thrown

Post by Anton Katilin »

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: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Can't open cpu snapshot, IllegalStateException thrown

Post by Anton Katilin »

Update:

We've got your snapshot, it seems corrupt. Please find detail in our last email we've sent to you.
Post Reply