Seite 1 von 2

Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 11:04
von Sebastian
Ich bin gerade ziemlich geschockt und verzweifelt.
In meiner Software, die seit Monaten fehlerfrei arbeitet, tritt plötzlich ein Fehler auf. Es ist eine Problematik mit gepackten Dateien aufgetreten. Ich habe einen Mini-Source erstellt, auch hier tritt ein Fehler auf:

Code: Alles auswählen

UseZipPacker()
If Not CreatePack(0,"test.pkg")
  Debug "Fehler - Pack konnte nicht erstellt werden."
EndIf
If Not AddPackFile(0,"test.html","test.html")
  Debug "Datei wurde nicht hinzugefügt."
EndIf
If ExaminePack(0)
  While NextPackEntry(0)
    Debug "Name: " + PackEntryName(0) + ", Size: " + PackEntrySize(0)
  Wend
EndIf
ClosePack(0)
In Zeile 9 (nextPackEntry) bricht das Programm ab mit dem Fehler:
[09:58:16] [ERROR] test.pb (Zeile: 9)
[09:58:16] [ERROR] Ungültiger Speicherzugriff. (Lesefehler an der Adresse 0)

Was ist plötzlich los? Warum funktioniert es nicht mehr? Hat jemand eine Idee?

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 11:37
von Sebastian
Gibt es jemanden, der sich meiner erbarmt und den Source einmal bei sich testet? Läuft es bei euch? Ich bin gerade ratlos, was ich tun muss...

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 11:58
von mhs
ExaminePack()

Beginnt den Paket-Inhalt zu untersuchen. NextPackEntry() muss aufgerufen werden, um die in der Paket-Datei gefundenen Einträge aufzulisten. Das Paket muss zuvor mit OpenPack() geöffnet worden sein. Pakete, welche gerade mit CreatePack() erstellt wurden, können nicht untersucht werden.
Du musst den Pack nach dem Erstellen nocheinmal mit OpenPack öffnen.

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:12
von Sebastian
Du hast Recht! Mein Beispiel war Mist. Ich habe es korrigiert und dann lief es.
Leider habe ich den gleichen Fehler aber in meiner Software und dort wird eine bestehende Datei geöffnet und in diese Daten inkludiert. Dort lief es bislang. Nun aber nicht mehr. Was kann das sein?

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:15
von mhs
Ohne Sourcecode schwierig zu sagen. Versuch den Fehler soweit einzugrenzen wie möglich, vielleicht findest du es dann oder kannst uns ein Beispiel liefern, dass den gleichen Fehler produziert.

Vielleicht liegt es auch an der PB Version? Hast du vorher eine andere benutzt?

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:23
von Sebastian
Das war genau meine Idee und ja - ich hatte 5.31 verwendet. Unter 5.41 läuft es nicht mehr. Wurde dort etwas an der Packer-Bibliothek verändert? Unter 5.31 läuft es wieder, aber ich würde natürlich gerne ein Upgrade auf die LTS machen. Was muss ich verändern?

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:24
von NicTheQuick
Am besten schaust du mal in die Geschichte in der PB-Hilfe. Da siehst du ja, was sich alles geändert hat.

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:27
von mhs
Oder du wartest die 5.42 ab...

Hier wurde ebenfalls ein Fehler mit ExaminePack() gemeldet: http://www.purebasic.fr/english/viewtop ... 23&t=64199

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:27
von Sebastian
Hmm. Es liegt wohl daran, dass es einen Bug in 5.41 mit Zip-Dateien gibt: http://www.purebasic.fr/german/viewtopi ... 20&t=29299

Re: Fehler bei Packer - ungültiger Speicherzugriff

Verfasst: 28.01.2016 12:37
von Sebastian
Der Fehler ist, meine ich, schon gemeldet. Nun hoffe ich, dass es bald ein Update geben wird...