Page 1 of 1

SeaDAS 7.4 GUI issue on Centos 7

Posted: Tue Mar 14, 2017 4:21 pm America/New_York
by haag
Hello,

After installing 7.4 from the Linux installer script on a Centos 7 system, I am unable to resize the (entire) GUI window without seeing refresh problems and widgets sprinkled around the screen. Once "corrupted", the tool buttons will be invisible, but as the mouse cursor passes over them, they appear. The problem seems to be a java error that arises when the GUI tries to paint the world map.

If I remove ~/.seadas (so that any previous resize is "un-remembered") I can start SeaDAS and stretch the window horizontally without issue (except that it's only a couple of inches tall on the screen!).

Once I begin to slowly stretch the window vertically, it works (and produces NO stderror.log) UNTIL the world map is about to begin to be revealed in the upper right corner. As I slowly stretch it from its minimum vertical size, the "Rasters" header is revealed (though without the shaded gray bar), then the "Geo-location" header (also no gray bar), then "Pixel Info" is shown with a gray bar, and finally "World Map Location" is revealed, but the instant I stretch it a pixel lower than the header (so that the RGB world map would be displayed), I get a big stderror.log dump and the GUI refresh is unable to work henceforth, as mentioned in the first para.

The  stderror.log dump is 7500+ lines, and begins with:

Error: One factory fails for the operation "jpeg"
Occurs in: javax.media.jai.ThreadSafeOperationRegistry
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at com.sun.media.jai.opimage.StreamRIF.create(StreamRIF.java:102)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at com.sun.media.jai.opimage.FileLoadRIF.create(FileLoadRIF.java:144)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getSampleModel(RenderedOp.java:2233)
        at org.esa.beam.jai.ImageHeader.load(ImageHeader.java:93)
        at org.esa.beam.jai.ImageHeader.load(ImageHeader.java:66)
        at org.esa.beam.jai.ImageHeader.load(ImageHeader.java:57)
        at org.esa.beam.jai.TiledFileOpImage.create(TiledFileOpImage.java:60)
        at org.esa.beam.glevel.TiledFileMultiLevelSource.createImage(TiledFileMultiLevelSource.java:73)
        at com.bc.ceres.glevel.support.AbstractMultiLevelSource.getImage(AbstractMultiLevelSource.java:63)
        at com.bc.ceres.glevel.support.ConcurrentMultiLevelRenderer.renderImpl(ConcurrentMultiLevelRenderer.java:102)
        at com.bc.ceres.glevel.support.ConcurrentMultiLevelRenderer.renderImage(ConcurrentMultiLevelRenderer.java:92)
        at com.bc.ceres.glayer.support.ImageLayer.renderLayer(ImageLayer.java:207)
        at com.bc.ceres.glayer.Layer.render(Layer.java:378)
        at com.bc.ceres.glayer.Layer.renderChildren(Layer.java:411)
        at com.bc.ceres.glayer.Layer.render(Layer.java:379)
        at com.bc.ceres.glayer.swing.LayerCanvas.paintComponent(LayerCanvas.java:379)
        at javax.swing.JComponent.paint(JComponent.java:1056)
        at javax.swing.JComponent.paintChildren(JComponent.java:889)
        at javax.swing.JComponent.paint(JComponent.java:1065)
        at javax.swing.JComponent.paintChildren(JComponent.java:889)
        at javax.swing.JComponent.paint(JComponent.java:1065)
        at javax.swing.JComponent.paintChildren(JComponent.java:889)
        at javax.swing.JComponent.paint(JComponent.java:1065)
        at javax.swing.JComponent.paintChildren(JComponent.java:889)
...


with lots more following. I can post the entire dump if useful.

My environment:
OS: CentOS Linux release 7.3.1611 (Core)
Kernel: 3.10.0-514.6.1.el7.x86_64

java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

Any guidance is greatly appreciated!

Alaric

SeaDAS 7.4 GUI issue on Centos 7

Posted: Tue Mar 14, 2017 5:55 pm America/New_York
by gnwiii
Try Oracle Java.  OpenJDK is known to have problems with graphics updating.

SeaDAS 7.4 GUI issue on Centos 7

Posted: Wed Mar 15, 2017 2:30 pm America/New_York
by haag
Deepest gratitude!! You nailed it and saved me a lot of grief trying myriad "rabbit hole" solutions!

Alaric