java.io.EOFException: EOF reached before read 940 bytes

Bug #888509 reported by Keith Hughitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
JHelioviewer
New
Undecided
Unassigned

Bug Description

When attempting to request a fairly large movie, I encountered an exception I haven't encountered before:

2011-11-10 06:40:48,419 [LoadNewMovie] INFO root - Connect to http://helioviewer.nascom.nasa.gov/api/index.php?action=getJPX&observatory=SDO&instrument=AIA&detector=AIA&measurement=304&startTime=2011-11-09T11:00:00Z&endTime=2011-11-10T16:00:00Z&cadence=30&jpip=true&verbose=true&linked=true
ERROR: java.io.EOFException: EOF reached before read 940 bytes
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPDataInputStream.readSegment(JPIPDataInputStream.java:142)
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPSocket.receive(JPIPSocket.java:210)
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:114)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.IOException: Unable to read all data, data bin is not complete
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:132)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.EOFException: EOF reached before read 940 bytes
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPDataInputStream.readSegment(JPIPDataInputStream.java:142)
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPSocket.receive(JPIPSocket.java:210)
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:114)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.IOException: Unable to read all data, data bin is not complete
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:132)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.EOFException: EOF reached before read 940 bytes
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPDataInputStream.readSegment(JPIPDataInputStream.java:142)
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPSocket.receive(JPIPSocket.java:210)
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:114)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.IOException: Unable to read all data, data bin is not complete
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:132)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.EOFException: EOF reached before read 940 bytes
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPDataInputStream.readSegment(JPIPDataInputStream.java:142)
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPSocket.receive(JPIPSocket.java:210)
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:114)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.IOException: Unable to read all data, data bin is not complete
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:132)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.EOFException: EOF reached before read 940 bytes
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPDataInputStream.readSegment(JPIPDataInputStream.java:142)
ERROR: at org.helioviewer.viewmodel.view.jp2view.io.jpip.JPIPSocket.receive(JPIPSocket.java:210)
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:114)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
ERROR: java.io.IOException: Unable to read all data, data bin is not complete
ERROR: at org.helioviewer.viewmodel.view.jp2view.kakadu.KakaduUtils.downloadInitialData(KakaduUtils.java:132)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.initRemote(JP2Image.java:231)
ERROR: at org.helioviewer.viewmodel.view.jp2view.JP2Image.<init>(JP2Image.java:178)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:512)
ERROR: at org.helioviewer.viewmodel.view.ViewHelper.loadView(ViewHelper.java:469)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.newLoad(APIRequestManager.java:312)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestData(APIRequestManager.java:241)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.loadImageSeries(APIRequestManager.java:176)
ERROR: at org.helioviewer.jhv.io.APIRequestManager.requestAndOpenRemoteFile(APIRequestManager.java:346)
ERROR: at org.helioviewer.jhv.gui.dialogs.ObservationDialog$3.run(ObservationDialog.java:292)
ERROR: at java.lang.Thread.run(Thread.java:722)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007ffe4496b548, pid=4130, tid=140729905264384
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libkdu_jni-linux-x86-64-glibc-2-7.so+0x192548] kdu_codestream::open_tile(kdu_coords, kdu_thread_env*)+0x58
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/hughitt1/software/hs_err_pid4130.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#

The Java segfault at the bottom appeared later on, so may be a different issue related to the version of Java I'm using.

System info:
Arch Linux (64-bit)
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :

Also should add: I was using the latest stable version of JHelioviewer (2.1.4).

Revision history for this message
Markus Langenberg (markus-langenberg) wrote :

I introduced this exception some time ago, mainly to document better the problems in server communication. For each segment sent by the server, its size is given within the segment. When the number of bytes read from the incoming stream is smaller than this given size, the exception is thrown, because the segment is corrupt. Unfortunately, I don't now the JPIP-communication well enough to come up with a better solution and handle the corrupt segment by requesting it again or something like that.

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.