Autor Thema: Fehler beim reorganisieren der ArtworkDB unter 1.4  (Gelesen 12981 mal)

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Fehler beim reorganisieren der ArtworkDB unter 1.4
« am: 03. Dezember 2009, 00:38:00 »
Hallo,

mit der neuen Version 1.4 bleibt die Funktion "Artwork reorganisieren (komprimiert)" im ersten Status "Reorganisiere ..." hängen, das normalerweise folgende "Aktualisiere ..." erscheint auch nach sehr langer Zeit nicht.

Im error.log findet sich hierzu folgendes :

03.12.2009 00:18:12 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader parseFileAndFillObject
SCHWERWIEGEND: No _bdhs_ header was found!
03.12.2009 00:18:12 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader getITunesSD
SCHWERWIEGEND: End of parsing the ITunesSD - parsing failed!
03.12.2009 00:18:12 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader getITunesSD
SCHWERWIEGEND: End of parsing the ITunesSD - iTunesSDPath is null!

Der Fehler tritt selbst bei völlig leerem IPod auf. Mit Version 1.3 ist das Problem nicht aufgetreten und es werden dort auch keine Fehlermeldungen erzeugt. Ich habe versucht das LogLevel auf FINE zu erhöhen, aber es wird bei mir erst gar kein jakPod.log angelegt...

Bei dem IPod handel es sich um einen IPod Classic 6.1 Gen. (120GB)

Jakpod läuft bei mir unter Windows 7 X64 unter folgender JVM:
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)

Viele Grüße
Olli

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #1 am: 03. Dezember 2009, 09:16:06 »
... ich habe noch ein paar Tests durchgeführt und muß folgendes ergänzen :
Der Fehler tritt auch unter Version 1.3 unter Windows 7 X64 auf. Allerdings bleibt es dort bei "Aktualisiere ArtworkDB" hängen und das error.log bleibt tatsächlich leer.

Heute morgen habe ich den Test auch noch einmal unter Vista X86 wiederholt und dort funktioniert Verison 1.3 wie gewohnt problemlos.
Mit Version 1.4 tritt das in meinem ersten Post beschriebene Problem allerdings ebenfalls auf:

error.log Version 1.4, Vista X86:
03.12.2009 08:47:23 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader parseFileAndFillObject
SCHWERWIEGEND: No _bdhs_ header was found!
03.12.2009 08:47:23 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader getITunesSD
SCHWERWIEGEND: End of parsing the ITunesSD - parsing failed!
03.12.2009 08:47:23 com.computerdienst.bitterfeld.ipod.itunessdnew.ITunesSDNewReader getITunesSD
SCHWERWIEGEND: End of parsing the ITunesSD - iTunesSDPath is null!
03.12.2009 08:47:23 com.computerdienst.bitterfeld.ipod.itunesdb.ITunesDBManager log
WARNUNG: ITunesDB at "./locallibrarycache/\\iTunesDB" is logging: There is no iTunesDB on the iPod we create one.
Exception in thread "Thread-4" java.lang.NullPointerException
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.Detail.clone(Detail.java:293)
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.DetailsString.clone(DetailsString.java:196)
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.DetailsString.clone(DetailsString.java:1)
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.ImageName.clone(ImageName.java:510)
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.Detail.clone(Detail.java:293)
   at com.computerdienst.bitterfeld.ipod.artworkdbdata.ImageItem.clone(ImageItem.java:418)
   at com.computerdienst.bitterfeld.ipod.IPodManager.reorganizeArtworkFiles(IPodManager.java:766)
   at com.computerdienst.bitterfeld.jakpod.actions.ReorganizeArtworkAction.execute(ReorganizeArtworkAction.java:150)
   at com.computerdienst.bitterfeld.jakpod.utils.AsynchronousActionExecutor.run(AsynchronousActionExecutor.java:32)
   at java.lang.Thread.run(Unknown Source)

Vista JDK:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)

Gruß
Olli

Offline JakPodAdmin

  • Administrator
  • JakPod Kenner
  • *****
  • Beiträge: 95
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #2 am: 03. Dezember 2009, 13:59:09 »
Halloechen,

es gab letztens schon einen Fehlerreport (siehe hier (letztes Posting)). Offensichtlich hat JakPod ein Problem mit 64Bit JVMs. Da ich kein 64Bit System besitze, konnte ich das Problem bisher leider noch nicht reproduzieren. Aber "gut" zu hoeren, dass der Fehler auch unter Windows 64Bit und nicht nur auf dem Mac auftritt. Es ist fuer mich wesentlich leichter, ein 64Bit Windows zu installieren als extra einen Mac zu kaufen ;) . Ich werde JakPod mal mit einem 64Bit Java compilieren und es im Downloadbereich bereitstellen. Vielleicht behebt das ja schon das Problem.

Um die ITunesSD und NullPointerException (in der Artwork-Geschichte) kuemmer ich mich unabhaengig davon. Beides scheint aber nichts mit den "haengern" auf 64Bit Systemen zu tun zu haben.

Auf jeden Fall vielen Dank fuer Dein Feedback!

Gruss, Jan.

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #3 am: 03. Dezember 2009, 17:42:29 »
Hallo,

danke für die schnelle Antwort.  :)  Ich habe auch die Vermutung das es an der 64 Bit VM liegt. Es dürfte aber eigentlich keinen Unterschied machen ob 32 oder 64 Bit sofern kein Nativecode verwendet wird, da die Plattformunabhängigkeit des Bytecodes auch 32/64 Bit Systeme mit abdeckt. Was das ganze Problem natürlich erst recht seltsamer macht ...

Nachdem ich in der richtigen Properties Datei nachgeschaut habe, konnte ich auch das Logging erhöhen.

Da die gestrigen Fehlermeldungen aus dem error.log aus Version 1.4 ja anscheinend auf ein anderes Problem hinweisen habe ich noch mal Version 1.3 genutzt.

Hier die Auszüge aus dem log:

03.12.2009 17:01:20 com.computerdienst.bitterfeld.ipod.itunesdb.ITunesDBWriter writeITunesDB
AM FEINSTEN: Begin of parsing the java object structure
03.12.2009 17:01:20 com.computerdienst.bitterfeld.ipod.itunesdb.ITunesDBWriter writeITunesDB
AM FEINSTEN: End of parsing the java object structure

03.12.2009 17:01:42 com.computerdienst.bitterfeld.ipod.itunesdb.ITunesDBManager log
FEIN: ITunesDB at "H:\\\iPod_Control\\iTunes\\iTunesDB" is logging: There is an iTunesDB on the iPod we will read it now.

03.12.2009 17:01:42 com.computerdienst.bitterfeld.ipod.artworkdb.ArtworkDBManager log
FEIN: ArtworkDB at "H:\\\iPod_Control\\Artwork\\ArtworkDB" is logging: There is an ArtworkDB on the iPod we read it now.

03.12.2009 17:01:42 com.computerdienst.bitterfeld.ipod.itunesdb.ITunesDBReader getITunesDB
FEIN: Begin of parsing the ITunesDB
03.12.2009 17:01:43 com.computerdienst.bitterfeld.ipod.artworkdb.ArtworkDBReader getArtworkDB
FEIN: End of parsing the ITunesDB

Viele Grüße
Olli



Offline JakPodAdmin

  • Administrator
  • JakPod Kenner
  • *****
  • Beiträge: 95
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #4 am: 05. Dezember 2009, 11:23:03 »
Hallo Olli,

ich hab mir gerade ein Windows 7 64Bit aufgesetzt und kann den Fehler nun hier reproduzieren.

Das Compilieren von JakPod mit einem 64Bit JDK hat (naja, fast erwartungsgemaess) nichts geholfen.

Das Haengenbleiben, welches bei mir primaer bei stateless progress bars auftritt (die Fortschrittsbalken ohne Prozentangabe), sieht im Code voellig unkritisch aus, sodass ich da momentan ein wenig ratlos bin.

Ich bleibe aber auf jeden Fall dran und melde mich sobald ich eine Loesung habe.

Gruss, Jan.

PS: die Artwork- und iTunesSD-Fehler sind beseitigt...

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #5 am: 08. Dezember 2009, 13:20:23 »
Hallo Jan,

viel Glück beim Debuggen! Ich hoffe mal du findest den Fehler.
Bin echt mal gespannt, was die Ursache ist…

Viele Grüße
Olli

Offline JakPodAdmin

  • Administrator
  • JakPod Kenner
  • *****
  • Beiträge: 95
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #6 am: 08. Januar 2010, 11:34:58 »
Hallo Olli,

nach vielen Enten, Karpfen und Gaensen bin ich nun endlich mal wieder dazu gekommen, mich um JakPod zu kuemmern. ;)

Die aktuelle Beta (JakPod 1.42 (Beta1)) sollte nun auch auf 64 Bit Systemen funktionieren.

Gruss, Jan.

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #7 am: 12. Januar 2010, 21:48:02 »
Hallo Jan,

habe die neue Version eben ausprobiert und es funktioniert problemlos. Vielen Dank für den Fix. Was war denn die Ursache? Das würde mich dann doch mal interessieren…

Wenn du Lust und Laune hast kannst du ja mal ein paar Infos posten  :)

Gruß
Olli

Offline JakPodAdmin

  • Administrator
  • JakPod Kenner
  • *****
  • Beiträge: 95
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #8 am: 14. Januar 2010, 11:07:29 »
Halloechen,

wenn ich ehrlich bin, ich hab keine Ahnung.  ;)

Nein, mal im Ernst - ich bin nicht so der Swing/GUI-Profi. Ich hatte folgendes gemacht:

- Erzeugen eines neuen Threads fuer das Progress Fensterchen, welches ein JDialog ist, der Runnable implementiert
- Starten des Threads - innerhalb der run()-Methode des JDialog-Threads rufe ich "setVisible(true)" auf.

dann kam der problematische Punkt. Da bei sehr kurzen Aktionen, aufeinanderfolgende Dialoge in falscher Reihenfolge angezeigt wurden, hab ich einen "kruden" Hack eingebaut und zwar:

while(!progressWindow.isVisible())
{
    //do nothing until JDialog is shown
}

Das hat auch funktioniert - nur eben nicht auf 64 Bit Systemen. Ich hab keine Ahnung warum.
Nun hab ich einen noch kruderen Hack eingebaut und zwar hab ich den Kommentar in der Schleife einfach durch ein 50ms "Schalfen" ersetzt. Damit scheint es zu funktionieren - warum auch immer. Nichtmal das explizite setzen von "progressWindow.setVisible(true)" in der Schleife hat geholfen.

Sicher alles nicht die feine Art aber es funktioniert nun.

Gruss, Jan.

Offline sensorium

  • JakPod Nutzer
  • *
  • Beiträge: 7
Re: Fehler beim reorganisieren der ArtworkDB unter 1.4
« Antwort #9 am: 14. Januar 2010, 18:06:06 »
Hallo,

danke für die Infos, das klingt echt schräg. Vor allem da das Problem ja auch plattformübergreifend bei verschiedenen Implementierungen des JDKs (Apple/SUN) für X64 auftritt...

Anyway, Hauptsache es funktioniert wieder   :)

Gruß Olli