[JHV 2.0] JHV becomes unresponsible after changing the opacity and selecting another layer

Bug #665214 reported by Markus Langenberg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
JHelioviewer
Fix Released
Critical
Unassigned

Bug Description

Load two layers, change the opacity of one of the layers and select the other layer. On my machine, this causes JHV to freeze on nearly every try. I tried rev. 309 as well as rev. 300, same effect both times.
Can anyone confirm this?

Related branches

Revision history for this message
Andre Dau (andre-dau) wrote :

I couldnt reproduce this bug reliable. I just managed to freeze jhv once with a lot of clicking. Thus it is hard to tell if the bug is fixes. I tried something and pushed it to the trunk.
Does the bug still occur?

Changed in jhelioviewer:
status: New → In Progress
Revision history for this message
Markus Langenberg (markus-langenberg) wrote :

Yes, it still occurs in rev. 317

Revision history for this message
Daniel Mueller (dmueller-esa) wrote : Re: [Bug 665214] Re: [JHV 2.0] JHV becomes unresponsible after changing the opacity and selecting another layer

Dear All,

I can confirm this (rev. 317).

Cheers,
Daniel

On 27. 10.2010, at 15:07 , Markus Langenberg wrote:

> Yes, it still occurs in rev. 317
>
> --
> [JHV 2.0] JHV becomes unresponsible after changing the opacity and selecting another layer
> https://bugs.launchpad.net/bugs/665214
> You received this bug notification because you are a member of
> JHelioviewer Developers, which is subscribed to JHelioviewer.
>
> Status in JHelioviewer - JPEG2000 Visualization Software: In Progress
>
> Bug description:
> Load two layers, change the opacity of one of the layers and select the other layer. On my machine, this causes JHV to freeze on nearly every try. I tried rev. 309 as well as rev. 300, same effect both times.
> Can anyone confirm this?
>
>

Revision history for this message
Daniel Mueller (dmueller-esa) wrote :

Dear All,

I just did some more testing and could get JHV to freeze every single time. Each time, I loaded two layers, hit play and then alternately changed the opacity of one layer and then clicked on the other layer in the layer manager. Often, it only took three iterations, but sometimes more than 10, and I could reproduc this behavior with SOHO MDI mag & cont, LASCO C2 & C3, as well as with 2 layers of AIA data.

Any ideas what is going on here?

Thanks!
Daniel

Changed in jhelioviewer:
importance: Undecided → Critical
milestone: none → 2.1
Revision history for this message
Daniel Mueller (dmueller-esa) wrote :

Hi Andre++,

Can you try the following? When I try it, it freezes every single time, also when the movies are paused :-(

----

Load EIT & LASCO C2, 1 image per day, 2010/09/07 - 2010/11/04, HEK menu still closed

at start-up (every time I tried):

in console:
2010-11-08 13:31:13,554 [pool-1-thread-1] FATAL root - Runtime exception
java.lang.NullPointerException
 at org.helioviewer.jhv.plugins.hekplugin.cache.HEKCacheModel.feedStructure(Unknown Source)
 at org.helioviewer.jhv.plugins.hekplugin.cache.HEKCacheController.feedStructure(Unknown Source)
 at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.parseFeedAndUpdateGUI(Unknown Source)
 at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.requestStructure(Unknown Source)
 at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:680)

in pop-up:
Uncaught Exception detected.

JHelioviewer Version: 2.1.0

JHelioviewer Revision: 339

Date: Mon Nov 08 12:36:31 GMT 2010

Thread: Thread[pool-1-thread-1,5,main]

Message: null

Stacktrace:
java.lang.NullPointerException
at org.helioviewer.jhv.plugins.hekplugin.cache.HEKCacheModel.feedStructure(Unknown Source)
at org.helioviewer.jhv.plugins.hekplugin.cache.HEKCacheController.feedStructure(Unknown Source)
at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.parseFeedAndUpdateGUI(Unknown Source)
at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.requestStructure(Unknown Source)
at org.helioviewer.jhv.plugins.hekplugin.cache.HEKRequestStructureThread.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

-------------------------

then:
press play
modify opacity of 1st layer (LASCO C2)
click on 2nd layer
modify opacity of 2nd layer (EIT 304)
click on 1st layer

You might have to repeat this a few times, but for me it always happens.

-> JHV freezes

[console log also lists (might be unrelated):

2010-11-08 13:37:43,798 [AWT-EventQueue-0] WARN root - Could not load event icon (cc)
2010-11-08 13:37:43,816 [AWT-EventQueue-0] WARN root - Could not load event icon (cr)
2010-11-08 13:37:43,831 [AWT-EventQueue-0] WARN root - Could not load event icon (er)]

Additional information: This can also happen when the movies are *not* playing!
To try this, repeat the sequence above, but pause the movies first.

Revision history for this message
Malte Nuhn (malte.nuhn) wrote :

Even though I cannot reproduce the problem - I might know what seems to go wrong in HEK. Some "new" event types - for which no event icons are yet available reside in the requested interval. I will revise the HEK code loading the event icons.

Revision history for this message
Malte Nuhn (malte.nuhn) wrote :

Okay, this is rather nasty, since we have no detailed debug information (line numbers etc.)

I changed the buildfile so that debug information is in any case stored in the jar - but somehow the way of dynamically loading the plugins seems to introduce these "(Unknown Source)" things. Could you try the same with running the HEK plugin from eclipse (HEKPluginLauncher.java)? This should in any case give line numbers.

Revision history for this message
Malte Nuhn (malte.nuhn) wrote :

OK - new(s and) questions on this one:

1) I think the debug information somehow seems to work now - we'll see in the next bug report.
2) I improved robustness of the parsing/drawing everywhere - and specifically I think I found the problem.
3) When I open the above time range and load ALL events, I experience serious CPU overloading; do you experience the same?

Revision history for this message
Daniel Mueller (dmueller-esa) wrote :

Hi Malte,

On 9. 11.2010, at 3:15 , Malte Nuhn wrote:

> OK - new(s and) questions on this one:
>
> 1) I think the debug information somehow seems to work now - we'll see in the next bug report.

I tried to reduce the actions needed to reproduce the bug to the minimum, and on my computers, it unfortunately still freezes every single time without any debug information :-(

1.) Load first image layer, e.g. EIT 304 on a day in October (just take the default dates and change the month to Oct, see screenshot)
2.) Load second image layer, e.g. EIT 284, with same settings.
3.) Click on 1st (bottom) layer in layer manager.
4.) Adjust opacity of this layer to 50%.
5.) Click on other (top) layer.

--> JHV freezes.

> 2) I improved robustness of the parsing/drawing everywhere - and specifically I think I found the problem.
Hmmmm.

> 3) When I open the above time range and load ALL events, I experience serious CPU overloading; do you experience the same?

When I try loading all events for these 2 months, my CPU load remains moderate to low, but it does take a very long time.

Cheers,
Daniel

>
> --
> [JHV 2.0] JHV becomes unresponsible after changing the opacity and selecting another layer
> https://bugs.launchpad.net/bugs/665214
> You received this bug notification because you are a member of
> JHelioviewer Developers, which is subscribed to JHelioviewer.
>
> Status in JHelioviewer - JPEG2000 Visualization Software: In Progress
>
> Bug description:
> Load two layers, change the opacity of one of the layers and select the other layer. On my machine, this causes JHV to freeze on nearly every try. I tried rev. 309 as well as rev. 300, same effect both times.
> Can anyone confirm this?
>
>

Revision history for this message
Andre Dau (andre-dau) wrote :

I finally succeeded in reproducing this bug! I followed Daniels instructions and loaded two EIT images (october, one day, 3 frames each). Then I selected the master movie layer, changed its opacity to 50% and selected the other layer.

It was a bit difficult to find the cause because this bug is timing sensitive. Adding log messages sometimes made the bug disappear.
It seems the problem is caused by
org.helioviewer.jhv.gui.components.ControlPanelContainer.updateActiveView()

JHV freezes when calling CardLayout.show(Container, String).

The strange thing is, that this method is NOT called in the AWT Event Thread. So it is rather odd that the GUI freezes. Since this method is provided by the JDK I have no idead why the method gets stuck.

For now I tried to call the method from the Event Thread asynchronously hoping this will prevent the dead lock.

Can you try if the bug still occurs?
Thanks,
Andre

Revision history for this message
Daniel Mueller (dmueller-esa) wrote :

Hi Andre,

Wizard! I tested it and could not reproduce the bug anymore. If this really fixes the problem - great!

>Adding log messages sometimes made the bug disappear.
Sounds mysterious.
grep "Schroedinger's cat" * ?

@All: Can you try as well? I only tested it on OS X.

Thanks!
Daniel

Changed in jhelioviewer:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.