Ich bin mir nicht sicher. Schaden kann es nichts, aber ob es hilft mag ich nicht beurteilen.rhabarber1848 hat geschrieben:Ist das im Lichte meines letzten backtraces noch aktuell?seife hat geschrieben:oder probier mal das: infoviewer-maybe-crashfix.diff
Das wäre gut. Ich habe mit remote-gdb bisher nie einen ordentlichen Backtrace bekommen, insofern wäre ich daran sehr interessiertPS: Gibt es ein gdbserver/gdb-ähnliches Konstrukt auch für Valgrind?
"gdb neutrino" auf der Dbox funktionierte nicht, wenn mit
--disable-flashrules kompiliert wurde, selbst auf meiner 64MB-Box,
aber mit gdbserver habe ich es nach einigen Anläufen gut hinbekommen,
ich werde mein Vorgehen zur Erlangung des obigen backtraces noch
dokumentieren.
Für Valgrind gibt es, soweit ich weiss, keinen server/client. Wenn ich das richtig kapiert habe, wird bei Valgrind das Programm teilweise in einer Art "emulation" ausgeführt: alle Funktionen, die mit Speicher zu tun haben (malloc, new, ... aber auch statische Variablen etc) werden durch Valgrind-funktionen ersetzt, die sich merken, wann wo warum und von wem der Speicher alloziert, dealloziert etc. wurde. Durch diesen Overhead ist es dann auch sehr langsam und benötigt sehr viel Speicher (der Prozessor der TD ist viermal so schnell wie der der dbox, und sie hat 64MB RAM, trotzdem dauert das starten von neutrino locker 1-2 Minuten und swap einzuschalten ist eine gute Idee). Aus diesem Grund halte ich den Einsatz von Valgrind auf der dbox für ein aussichtsloses Unterfangen.
Selbst auf der TD lassen sich manche sachen im Valgrind nicht testen. Der audioplayer z.B., der wohl relativ viel in den Dekodern im Speicher rumschiebt, "spielt" MP3's so etwa mit 1 sek / Minute ab, Ton ist da nicht wirklich zu hören
Der Movieplayer2 ging erstaunlich gut, aber nur im TS modus, wo er die daten mit wenig "zwischenstationen" direkt in den Dekoder schiebt, bei MPEGs, die er selbst parsed und in TS umwandelt, wird es schon sehr ruckelig. Auf der TD, nicht auf der dbox
Das hört sich ja eher nach crosscompile-Problem an, aber es ist den Aufwand, das zu fixen vermutlich nicht wert.Valgrind konnte ich noch nie auf der Dbox starten, es kam, afair,
immer eine floating point exception.
Ein Grund, warum ich neutrino auch auf i386/x86_64 zum laufen gebracht habe (sehr experimentell, mit einem VNC-Server als Framebuffer-Ersatz ) war, dass ich auf einer schnellen Maschine solche Sachen wie den audioplayer auch im Valgrind debuggen kann. Allerdings muss es dazu erst mal akzeptabel laufen