pmodels / mpich

Official MPICH Repository
http://www.mpich.org
Other
538 stars 280 forks source link

crash in jumpshot #1018

Closed mpichbot closed 7 years ago

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 10:09:06 -0500


I recently obtained a copy of jumpshot when I downloaded Tau 2.19.1. I attach a generated slog2 trace of the example mandel OpenMP program distributed with Tau. When I attempt to open the threads of process 0, a NPE is reported at the command line and jumpshot fails to display anything.

Thanks for you time and effort,

Jonathan Hogg

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 10:09:42 -0500


Attachment added: tau.slog2 (27.7 KiB)

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 10:28:57 -0500


Trace: slog_ins.tZoomFtr = 2.0 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at base.drawable.NestingStacks.getNestingFactorFor(NestingStacks.java:140) at base.drawable.Drawable.setStateRowAndNesting(Drawable.java:220) at viewer.timelines.CanvasTimeline.drawOneOffImage(CanvasTimeline.java:306) at viewer.zoomable.ScrollableObject.checkToZoomView(ScrollableObject.java:294) at viewer.zoomable.ViewportTime.timeChanged(ViewportTime.java:174) at viewer.zoomable.ModelTime.fireTimeChanged(ModelTime.java:271) at viewer.zoomable.ModelTime.adjustmentValueChanged(ModelTime.java:632) at javax.swing.JScrollBar.fireAdjustmentValueChanged(JScrollBar.java:675) at javax.swing.JScrollBar.access$100(JScrollBar.java:64) at javax.swing.JScrollBar$ModelListener.stateChanged(JScrollBar.java:697) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:348) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:285) at viewer.zoomable.ModelTime.updatePixelCoords(ModelTime.java:309) at viewer.zoomable.ModelTime.zoomIn(ModelTime.java:499) at viewer.zoomable.ViewportTime.mouseClicked(ViewportTime.java:598) at viewer.zoomable.ViewportTimeYaxis.mouseClicked(ViewportTimeYaxis.java:391) at java.awt.Component.processMouseEvent(Component.java:6266) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

mpichbot commented 7 years ago

Originally by chan on 2010-03-17 10:55:10 -0500


Can you try the jumpshot.jar from our svn

https://svn.mcs.anl.gov/repos/mpi/mpich2/trunk/src/mpe2/src/slog2sdk/lib/jumpshot.jar

to see if the exception goes away ? If not, I need info like your java version (java -version) and also a simple slog2 file that produces the exception.

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 10:59:26 -0500


Sadly svn version doesn't fix it.

$ java -version java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

Is previously attached slog2 file insufficient?

mpichbot commented 7 years ago

Originally by chan on 2010-03-17 11:15:18 -0500


I didn't see the slog2 earlier.

Hmm.... My version is working fine and I was able to expand the combined thread into 2 by clicking on the "timeline expansion" button which is the 6th button in the top toolbar in the Timeline window. How did you "open the threads of process 0" ?

BTW, are you using windows/linux/mac ?

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 11:19:28 -0500


Using linux (debian testing).

I can confirm using the 6th button along works as you describe.

Crash is achieved by double clicking the top level "0" after intial startup (I note it works as expected if you have already used the timeline expansion button)

mpichbot commented 7 years ago

Originally by chan on 2010-03-17 11:28:09 -0500


I did check "double clicking" the top-level "0" which does not redraw the screen but it does enlarge it, so a redraw by clicking "Redraw" button which the 3rd button from the right in the toolbar refresh everything correctly. In any case, I didn't see any NullPointerException in my fedora12's JVM which is slightly newer than your version.

The thread expansion/collapse button is more reliable than expanding the thread individually...

mpichbot commented 7 years ago

Originally by jonathan.hogg@stfc.ac.uk on 2010-03-17 11:39:07 -0500


Right, I get the NPE when I attempt to zoom in on the part of the screen that is not redrawn.

I can just avoid doing this as a work around, the not redrawing the screen seems a bit counter-intuitive, but that falls into a feature request more than a bug, and probably has benefits on very large traces.

Thanks for your time,

Jonathan.

mpichbot commented 7 years ago

Originally by chan on 2010-03-17 12:05:11 -0500


Jumpshot-4 was largely written when Java2D wasn't very speedy (many years ago) and it wasn't written for thread-based only visualization. The idea of not refreshing the screen is to allow speedy response if user wants to selectively expand few processes in a large MPI+thread program. This assumption isn't quite valid today. I will leave this bug report opened so we can fix this problem eventually.