[X] Bug mit OGG-Dateien

Hallo,

Ich habe eine (möglicherweise nicht standartmäßig getaggte) OGG Datei mit "June 2001" als Jahr.
Sobald ich versuche, "June " aus dem Jahr zu löschen (über Tag-Panel), friert Mp3Tag ein oder stürzt mit Segfault ab, der Log bleibt in beiden Fällen leer.
Wenn man "June " mit einem anderen Programm löscht, kann Mp3Tag die Datei problemlos weiter bearbeiten.

Das ganze tritt mit Mp3Tag v.2.39 unter Wine 0.9.42 auf. Unter Windows habe ich es nicht ausprobiert (hab's nicht installiert), deswegen kann es auch ein Bug von Wine sein.

Im Anhang sind die ersten 128K von der Datei, damit tritt das Problem ebenfalls auf.

Gruß
nickless

P.S.
Der Bug tritt nur auf, wenn man die Rücktaste benutzt, mit "Entfernen" funktioniert's komischerweise...

test.ogg.zip (126 KB)

Hallo nickless,

ich hab das eben unter Windows versucht und bin folgendermaßen vorgegangen:

  • Test "June " im Feld Jahr im Tag Panel markiert
  • Taste [Backspace] gedrückt
  • Tastenkombination [Strg+S] zum Speichern der Änderungen gedrückt
Bei mir hat alles funktioniert und ich konnte keinen Fehler feststellen. Liegt evtl. wirklich an Wine.

Viele Grüße,
Florian

Hm, so funktioniert's bei mir auch, probiere bitte noch Folgendes aus:

  • Den Cursor auf das Ende von "June" im Feld Jahr im Tag Panel plazieren
  • Taste [Backspace] drücken
  • => Mp3Tag friert ein
oder
  • Den Cursor auf das Anfang des Feldes Jahr im Tag Panel plazieren
  • Die Taste [Entfernen] drücken
  • => Segmentation Fault
Gruß nickless

Hallo nickless,

das funktioniert bei mir auch beides.

Viele Grüße,
Florian

Danke für die Mühe, ich werde dann wohl einen Bug bei Wine posten.

Ein Paar Fragen habe ich aber noch, ist das Feld "Jahr" ein Standart-Dropdownbox von Windows oder hast du eigene Funktionalität hinzugefügt? Unterscheidet sich dieses Feld von den Anderen Felder?

Ich finde es nur komisch, dass es ausschließlich mit dem Feld "Jahr" und nur bei OGG-Dateien (habe auch andere ausprobiert) passiert, bei den mehr im Jahr steht als nur 4 Zahlen. Sieht für mich irgendwie nach off-by-one overflow. :unsure:

Ich habe noch eine Datei angehängt, bei der ich ca. 5KB an sinnlosen Buchstaben als Jahr gespeichert habe. Wäre nett, wenn du es auch ausprobieren könntest.

Gruß
nickless

P.S.
Backtrace von winedbg, auch wenn es ohne Debuginformation nicht viel bringt:

First chance exception: page fault on write access to 001c0000 in 32-bit code (0x7eb7646f).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7eb7646f ESP:0034fab4 EBP:0034fb3c EFLAGS:00210217(   - 00      RIAP1C)
 EAX:0000189d EBX:7ebf3764 ECX:005e2624 EDX:00016fc0
 ESI:00192080 EDI:001820f0
Stack dump:
0034fab4:  0018cae8 00192080 0000000c 0002006a
0034fac4:  0034fb24 7eb71e5e 001821b2 7ee4654a
0034fad4:  7eea5888 1087ffd0 0034faec 005e2624
0034fae4:  00000001 00001665 0034fb3c 7eb708e5
0034faf4:  001821b2 fffffffa ffffe99f 00000000
0034fb04:  00000006 00000004 00000037 0018cae8
Backtrace:
=>1 0x7eb7646f in user32 (+0x4646f) (0034fb3c)
  2 0x7eb7a5f1 in user32 (+0x4a5f1) (0034fbec)
  3 0x7eb7b022 EditWndProcW+0x22() in user32 (0034fbfc)
  4 0x7ebcf40a WINPROC_wrapper+0x1a() in user32 (0034fc2c)
  5 0x7ebcfac8 in user32 (+0x9fac8) (0034fc6c)
  6 0x7ebd4fef WINPROC_call_window+0xdf() in user32 (0034fcac)
  7 0x7eb9bb0e in user32 (+0x6bb0e) (0034fd1c)
  8 0x7eb9f919 in user32 (+0x6f919) (0034fd7c)
  9 0x7eb9fd8a SendMessageW+0x4a() in user32 (0034fdbc)
  10 00541d8a in mp3tag (+0x141d8a) (0034fe00)
  11 0055708b in mp3tag (+0x15708b) (00000000)
0x7eb7646f: movw        %ax,0(%esi,%edx,2)

test2_5K_garbage.zip (119 KB)

Hab den Bug bei Wine gefunden :slight_smile:

Spitze! :slight_smile: