[Gelöst] Unrar 5.0 läuft nicht. Bus error

peterhacke

Neuer User
Mitglied seit
12 Mai 2012
Beiträge
74
Punkte für Reaktionen
0
Punkte
6
Hallo,

seit der Umstellung auf unrar 5 funktioniert dieses nicht mehr. Ich bekomme ledeglich
Code:
root@fritz:/var/mod/root# unrar
Bus error

Unrar 4.2.* funktioniert ohne Probleme.

Bevor ich ein Ticket eröffne, wollte ich fragen, ob der Fehler vielleicht noch woanders liegen kann.


Grüße
 
Zuletzt bearbeitet:
Jap. Ganz normal in der Config ausgewählt. Bei 4.2.* ging's ja auch. Erst als im Trunk auf Version 5 umgestellt wurde, gabs Probleme. Habe auch schon mit
Code:
make clean
make dirclean
alles sauber neu erstellt. Box ist ein Speedport 920 als Fritbox 7570.

Grüße
 
Lass' mich raten. unrar ist a) statisch gelinkt, b) nicht für die Box, auf der es ausgefüht wird, dasselbe Binary funktioniert auf einer anderen Box?
 
Falsch geraten. a.) nein. Obwohl auch als statisch gelkinkt probiert. Ergebniss dasselbe. b) Unrar wurde (s.h. Post #3) aus dem aktuellem Trunk gebaut. Da kann es doch nicht für eine andere Box sein?
 
Ich kenne das Problem eben in der Kombination a) statisch gelinkt und b) für eine Box gebaut (entscheidend sind uClibc- und gcc-Versionen), dann das Binary manuell auf eine andere Box kopiert, Ergebnis - läuft nicht mit dem Fehler von Dir.

Edit: häng mal Deine .config an.

Edit2: Und Ursache wird Exception-Handling sein (Edit3: da habe ich mich geirrt ;-))
 
Zuletzt bearbeitet:
Ok, dass erklärt natürlich die Fragen.

Hier ist die .config.

Danke für die Mühe

Grüße
 

Anhänge

  • config.txt
    182.7 KB · Aufrufe: 5
Behebt der angehängte Patch das Problem?
 

Anhänge

  • unrar_vfwprintf_dirty_workaround.patch.gz
    398 Bytes · Aufrufe: 4
Jup, tut er. Unrar funktioniert wieder.

Vielen Dank dafür.

Grüße
 
Der Bus-Error ist eindeutig auf den Aufruf von vfwprintf zurückzuführen. Wobei ob die Umsetzung von vfwprintf falsch ist oder der Aufruf irgendwie "besonders" ist, habe ich noch nicht feststellen können.

Fakten sind:
  • dasselbe unrar-Binary funktioniert mit uClibc-0.9.33, funktioniert jedoch nicht mit uClibc-0.9.29 (das spricht also dafür, dass die Umsetzung von vfwprintf fehlerhaft ist)
  • ich habe ein kleines C-Programm geschrieben, welches außer vfwprintf ein paar Mal aufzurufen, nichts anderes tut. Dieses funktioniert unglücklicherweise sowohl mit 0.9.29 als auch mit 0.9.33. Das spricht dafür, dass unrar vfwprintf auf besondere Weise aufruft (was ich jedoch vom Code-Lesen her bisher nicht bestätigen konnte). Besondere Weise könnte zu lange / nicht terminierte Strings, irgendwelche setlocale-Aufrufe davor oder sonst noch was. Der Bus-Error spricht aus meiner Sicht dafür, dass irgendwo ein Stack-Overflow passiert.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.