kriegaex / Galileo-Openbook-Cleaner

HTML cleaner for Galileo Computing's openbooks, implemented in Java
Other
64 stars 6 forks source link

Temporäre Download- und Folgeprobleme (invalides ZIP) #7

Closed Freekkel closed 11 years ago

Freekkel commented 11 years ago

Here is a copy of my Terminal print :

sven@SchleppiLinux:~/Downloads$ java -jar galileo_openbook_cleaner-1.0.1.jar all    1   Book: actionscript_1_und_2
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:185)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:273)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at sun.net.www.MeteredStream.read(MeteredStream.java:134)
    at java.io.FilterInputStream.read(FilterInputStream.java:133)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2582)
    at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:217)
    at de.scrum_master.util.FileDownloader.download(FileDownloader.java:92)
    at de.scrum_master.galileo.Downloader.downloadBook(Downloader.java:48)
        (...)

maybe its a problem with my internet connection (tried it with GPRS). I hope i could help you with this.

kriegaex commented 11 years ago

Hi Sven.

This looks like a classic, see #2. I am not sure why it happens, but maybe your default JRE is older than Java 6 (sometimes called 1.6). Java 6 should be fine, but you might want to upgrade your JRE 6 installation to the latest version anyway or even upgrade to JRE 7.

Freekkel commented 11 years ago

Hi,

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)

is the information i get when i use java -version. Maybe it's because its OpenJDK.

kriegaex commented 11 years ago

I just started my oooold Linux PC running the latest Ubuntu 64-bit version:

$ java -jar galileo_openbook_cleaner-1.0.1.jar 
OpenbookCleaner usage: java ... [options] <book_id>*

Option                                  Description                            
(...)

$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

So my Java version is different, but also OpenJDK, and it works for me.

Freekkel commented 11 years ago
sven@SchleppiLinux:~/Downloads$ java -jar galileo_openbook_cleaner-1.0.1.jar all
    1   Book: actionscript_1_und_2
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.io.IOException: Truncated ZIP file
    at org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.readDeflated(ZipArchiveInputStream.java:390)
    at org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.read(ZipArchiveInputStream.java:323)
    at de.scrum_master.util.ZipFileExtractor.unzip(ZipFileExtractor.java:57)
    at de.scrum_master.galileo.Downloader.unpackBook(Downloader.java:64)
    at de.scrum_master.galileo.Downloader.download_aroundBody0(Downloader.java:38)
    at de.scrum_master.galileo.Downloader.download_aroundBody1$advice(Downloader.java:30)
    at de.scrum_master.galileo.Downloader.download(Downloader.java:37)
    at de.scrum_master.galileo.OpenbookCleaner.downloadAndCleanBook_aroundBody2(OpenbookCleaner.java:51)
    at de.scrum_master.galileo.OpenbookCleaner.downloadAndCleanBook_aroundBody3$advice(OpenbookCleaner.java:23)
    at de.scrum_master.galileo.OpenbookCleaner.downloadAndCleanBook_aroundBody4(OpenbookCleaner.java:1)
    at de.scrum_master.galileo.OpenbookCleaner.downloadAndCleanBook_aroundBody5$advice(OpenbookCleaner.java:18)
    at de.scrum_master.galileo.OpenbookCleaner.downloadAndCleanBook(OpenbookCleaner.java:1)
    at de.scrum_master.galileo.OpenbookCleaner.main_aroundBody0(OpenbookCleaner.java:29)
    at de.scrum_master.galileo.OpenbookCleaner.main_aroundBody1$advice(OpenbookCleaner.java:12)
    at de.scrum_master.galileo.OpenbookCleaner.main(OpenbookCleaner.java:1)
    ... 5 more
sven@SchleppiLinux:~/Downloads$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.04.1)
OpenJDK Server VM (build 23.2-b09, mixed mode)
sven@SchleppiLinux:~/Downloads$ 

Irgendwie klappt es noch immer nicht trotz änderung des jdk auf 1.7.0_09. Vielleicht leigt es daran, das ich ubuntu 12.04.1 verwende auf einer 32bit Architektur.

kriegaex commented 11 years ago

Tip: Dreifaches Backquote vor und nach Code-Abschnitten ergibt Code-Formatierung, einfaches Backquote vor und nach kürzeren Inline-Abschnitten ebenfalls. Ich habe das bei Dir jeweils mal umformatiert, ist lesbarer.

Keine Ahnung, was bei Dir das Problem ist. Java 6 sollte reichen, ich teste in Eclipse unter Windows XP immer mit Java 6, habe parallel zwei JREs (6/7) und zwei JDKs (6/7) installiert, geht mit allen. Ist Deine Installation irgendwie schief? 32 oder 64 bit sollte kein Problem sein, es sei denn, es gibt in der von mir mit ins JAR gepackten AspectJ Runtime ein Problem. Mir ist aber keines bekannt, AspectJ ist sehr zuverlässig.

Edit: Warte mal, da ist die Java Exception jetzt nicht mehr wie oben java.net.SocketException: Connection reset (könnte ein Netzwerkproblem gewesen sein) sondern java.io.IOException: Truncated ZIP file. Lösch mal das ZIP und laß es erneut herunterladen. Es ist liegt wohl am alten, abgebrochenen Download.

Freekkel commented 11 years ago

Fehler gefunden!

Man kann es jetzt als Nutzerfehler sehen, aber habe das -d nicht mit angegeben, da bie Optionen . als default angenommen werden sollte und ich somit dachte, das dies keine relevanz hat. der Befehl mit dem es klappt lautet also:

java -jar galileo_openbook_cleaner-1.0.1.jar -d . all

und nicht einfach nur

java -jar galileo_openbook_cleaner-1.0.1.jar all

Sorry für die Mühe die ich dir gemacht habe.

kriegaex commented 11 years ago

Ich glaube nicht, daß es das war. -d sollte tatsächlich optional sein.

Freekkel commented 11 years ago

nunja zumindest habe ich nichts anderes geändert. Und seit dem läuft der Download und die Konvertierung ohne Probleme.

kriegaex commented 11 years ago

Ich denke immer noch, es ging um abgebrochene bzw. unvollständige Downloads. ;-)

Vielleicht muß ich mal für bestimmte Situationen Exceptions abfangen und durch sprechendere Meldungen ersetzen. Die langen Callstacks verwirren doch viele Nutzer.

Freekkel commented 11 years ago

jap der Download hat ohne -d nicht mal angefangen ;-) daher bin ich auch so verwundert

Aluhut commented 11 years ago

Wenn ich mich mal einmischen darf, war bei mir genau so. Dachte nur ich bin zu doof Terminal zu bedienen ;o)

Anmerkung von kriegaex: Bitte keine Vollzitate direkt unter der entsprechenden Nachricht!

kriegaex commented 11 years ago

Ich widerspreche abermals. Bei einer alten 0.8 oder 0.9 Version war das -d mal notwendig, aber sicher nicht in 1.0.1. Ich habe das gerade getestet. Eure Fehler kommen von woanders. Die Callstacks weiter oben in diesem Ticket sprechen eine klare Sprache, ich habe die Fehlermeldungen ja zitiert.

Freekkel commented 11 years ago

werde das gleich nochmal probieren und einen download absichtlich abbrechen ok? sobald ich das erste mal alles runtergeladen habe. Will ja helfen das es besser wird.

Freekkel commented 11 years ago
    1   Duration for ubuntu_10_04: 159.742 s
    1   
    1   Book: ubuntu_11_04
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: de.scrum_master.util.FileDownloader$MD5MismatchException: ./galileocomputing_ubuntu.zip: expected 345a82a633e52bd0c39f9e15ba5826b3, got fd17a9647efff78a358364def4400e63
    at de.scrum_master.util.FileDownloader.download(FileDownloader.java:101)
    at de.scrum_master.galileo.Downloader.downloadBook(Downloader.java:48)
(...)

Hat wohl einen neuen MD5 Hashwert

Ideal um einen abgebrochnen download wieder zubeleben.

Nun ladet er die Datei einfach neu und konvertiert diese. Ohne eine Exception.

EDIT:

auch ist mir aufgefallen, dass das Buch Ubuntu GNU/Linux 12.04 LTS fehlt, obowhl dieses in deiner readme drin steht. ^^

kriegaex commented 11 years ago

Das ist ein völlig anderes Problem als das, welches Du zuerst hattest, siehe #4. In master (Entwicklungsversion) ist das längst gefixt, ich habe nur deswegen kein neues Release gemacht.

kriegaex commented 11 years ago

Sieht so aus, als wäre hier alles ge- und erklärt. Also schließe ich das Ticket, da kein Fehler in der Applikation vorliegt.

kriegaex commented 11 years ago

Version 1.1.0 ist erschienen, in der alle bekannten Probleme gefixt und neue Features enthalten sind. Siehe Hauptseite.