Abstürze (nicht durch controld-zapit-merge!) >> Fehlersuche

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Abstürze (nicht durch controld-zapit-merge!) >> Fehlersuche

Beitrag von -=HSKc=-Robby »

Bin derzeit die zusammengelegte zapit und controld mit dem JtG-Snap vom 25.03.09 am testen. Seit den Snap hab ich Probleme damit, das sporadisch meine zwei Nokia Avia600 Sat-Boxen beim zappen abstürzen. Bei meiner Sagem ist es mir noch nicht aufgefallen, die wird allerdings auch weniger genutzt.
Der Absturz läuft folgendermaßen ab:
- beim zappen bleibt der Sender hängen und die eingebaute Festplatte springt an
- dann wird das Bild schwarz
- dann hat man Schnee auf dem TV
- das LCD-Display steht immernoch auf dem hängenden Sender
- die Box geht komplett aus

Ein log davon konnte ich bisher noch nicht erzeugen, da es nur sporadisch passiert. Werde mich aber noch bemühen eins zu bekommen.

@seife: Können diese Abstürze eventuell mit dem controld-zapit-merge zu tun haben? :gruebel:
Zuletzt geändert von -=HSKc=-Robby am Mittwoch 8. April 2009, 15:43, insgesamt 1-mal geändert.
e30
Interessierter
Interessierter
Beiträge: 37
Registriert: Freitag 6. Juli 2007, 15:21

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von e30 »

Moin Moin,

Ja starkes Zappen führt zum Absturz,egal ob Kanal rauf runter oder wechsel über die Taste 0.



07:36:22.742 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
07:36:25.126 dmxCN: going to sleep...
07:36:25.127 eit_set_update_filter, servicekey = 0x4530001445e, current version
31
07:36:25.835 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[CVideo::setVideoFormat] output format: 4:3(LB)
[CVideo::setCroppingMode] setting to letterbox
07:36:26.595 dmxCN: going to sleep...
07:36:26.596 eit_set_update_filter, servicekey = 0x4530001445d, current version
6
07:36:27.525 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (4:3 -> 16:9)
[CVideo::setVideoFormat] output format: 16:9
[CVideo::setCroppingMode] setting to center_cutout
07:36:28.515 dmxCN: going to sleep...
07:36:28.516 eit_set_update_filter, servicekey = 0x4530001445c, current version
20
07:36:28.736 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
PES, queue 0 normal.
07:36:31.520 dmxCN: going to sleep...
07:36:31.521 eit_set_update_filter, servicekey = 0x43700016d66, current version
1
07:36:31.633 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
PES, queue 0 normal.
07:36:33.178 dmxCN: going to sleep...
07:36:33.179 eit_set_update_filter, servicekey = 0x43700016d66, current version
1
07:36:33.945 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
07:36:35.290 dmxCN: going to sleep...
07:36:35.291 eit_set_update_filter, servicekey = 0x44100012ee3, current version
18
07:36:35.541 dmxCN: waking up again - requested from .change()
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
07:36:36.515 dmxCN: going to sleep...
07:36:36.516 eit_set_update_filter, servicekey = 0x4530001445c, current version
20
07:36:37.035 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[CVideo::setVideoFormat] output format: 4:3(LB)
[CVideo::setCroppingMode] setting to letterbox
07:36:38.104 dmxCN: going to sleep...
07:36:38.104 eit_set_update_filter, servicekey = 0x4530001445d, current version
6
07:36:38.335 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
07:36:38.732 dmxCN: going to sleep...
07:36:38.733 eit_set_update_filter, servicekey = 0x4530001445e, current version
31
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (4:3 -> 16:9)
[CVideo::setVideoFormat] output format: 16:9
[CVideo::setCroppingMode] setting to center_cutout
07:36:39.561 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
07:36:41.040 dmxCN: going to sleep...
07:36:41.041 eit_set_update_filter, servicekey = 0x44100012ef4, current version
2
07:36:41.217 dmxCN: waking up again - requested from .change()
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
07:36:42.205 dmxCN: going to sleep...
07:36:42.206 eit_set_update_filter, servicekey = 0x4530001445f, current version
27
07:37:54.855 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
07:37:56.150 dmxCN: going to sleep...
07:37:56.151 eit_set_update_filter, servicekey = 0x44d00016dca, current version
8
07:38:31.221 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
07:38:33.960 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
07:38:36.362 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
07:38:39.980 dmxCN: waking up again - requested from .change()
07:38:39.991 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
07:38:40.724 dmxCN: going to sleep...
07:38:40.725 eit_set_update_filter, servicekey = 0x4530001445f, current version
27
07:38:43.991 dmxCN: waking up again - requested from .change()
PES, queue 0 normal.
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
PES, queue 0 normal.
[camd] set emm caid 1702 capid 1000
PES, queue 0 normal.
terminate called after throwing an instance of 'std::bad_alloc'
terminate called recursively
Aborted
zapit shot down :)
Waiting for timerd (max. 5 seconds)
[eventserver]: connect (/tmp/neutrino.sock): Connection refused
07:38:55.095 dmxCN: going to sleep...
07:38:55.128 eit_set_update_filter, servicekey = 0x44d00016dca, current version
8
Waiting for timerd (max. 4 seconds)
Waiting for timerd (max. 3 seconds)
Waiting for timerd (max. 2 seconds)
Waiting for timerd (max. 1 seconds)
Going to halt system now ...
STV6412 found
SET VSW: 2 3
SET VSW: 1 2
sh: you need to specify whom to kill
Unmounting 'ext2' on '/mnt/custom'
Unmounting 'ext2' on '/mnt/mp3'
hda: status timeout: status=0xd0 { Busy }

hda: no DRQ after issuing WRITE
07:39:07.738 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
07:39:11.276 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
ide0: reset: success
07:39:13.940 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
Unmounting 'ext2' on '/hdd'
07:39:17.755 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
Unmounting 'tmpfs' on '/tmp'
umount: can't umount /tmp: Device or resource busy
Unmounting 'jffs2' on '/var'
07:39:20.429 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[4] f
ilter 0x60 mask 0xf1
Ready to shutdown system...
The system is going down NOW!
Sending SIGTERM to all processes
[yhttpd] !!! SIGNAL !!! :15!
[yhttpd] No special SIGNAL-Handler:15!
[yhttpd] stop requested......
Sending SIGKILL to all processes
nfsd: last server has exited
nfsd: unexporting all filesystems
Requesting system halt
flushing ide devices: hda


Sonnigen Tag E30 :D
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Hm.
Das sieht zwar so aus, als wäre es etwas anderes als bei -=HSKc=-Robby, aber ich schau's mir trotzdem an. Robby, kannst du auch ein Konsolenlog machen?

e30, kannst du das mal versuchen mit "zapit -d" zu reproduzieren?
Per telnet einloggen, "zapit -d", ein zweites mal einloggen, "killall neutrino", dann zappen wie wild und das Log der "zapit -d"-session irgendwohinlegen, wo ich es finden kann?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Ich glaube ich habe es gefixt, auch wenn ich es nicht reproduzieren konnte.
Als Nebeneffekt ist zapit auch noch 30kb kleiner (178kB -> 148kB, also fast 20kB kleiner als früher controld und zapit zusammen).
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von GetAway »

Hat nix gebracht.
Bei mir kann ich es auch reproduzieren. 30-40 mal "0" drücken.

Code: Alles auswählen

avia_av_wdt_thread: video decoding stopped ==> restart
[zapit] tuned frequency does not match request. difference: 1691000
terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
Aborted
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Schau mal, was da aborted wird (mit ps, welcher prozess fehlt). Weil eigentlich dürfte zapit jetzt keine exceptions mehr kriegen, wenn ich das richtig verstehe...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Ich kanns reproduzieren. Bei mir ist es aber neutrino, was abstürzt, und damit hat es ziemlich sicher nichts mit dem controld/zapit merge zu tun.

Ausserdem wird neutrino ja neu gestartet, wenn es crashed, insofern ist das nicht soooo dramatisch.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Der crash kommt von den memleak-fixes.
Die sind allerdings nicht schuld, sondern sie bringen es nur an den Tag.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

seife hat geschrieben:Der crash kommt von den memleak-fixes.
Die sind allerdings nicht schuld, sondern sie bringen es nur an den Tag.
Wie können wir beim Debuggen helfen? gdb neutrino?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

ich bin schon fast fertig damit, es kann sich nur noch um Stunden handeln ;-)
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von -=HSKc=-Robby »

@seife: Konnte leider noch nicht früher antworten. Wie schon gesagt, hatte ich bisher noch keinen log hinbekommen, da es ja nicht so regelmäßig auftritt. Hab jetzt aber mein Netbook im Dauerbetrieb an der Box hängen, mal schaun was ich so erwische :roll:

Brauchst Du den log denn noch, oder hast Du das Problem schon so eingekreist?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

seife hat geschrieben:ich bin schon fast fertig damit, es kann sich nur noch um Stunden handeln ;-)
FYI und viel Spaß beim Testen:
http://gitorious.org/projects/tuxbox-ap ... 30390f7e24
http://gitorious.org/projects/tuxbox-ap ... 41f2a41df5

PS: Patches sind im CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Das Problem war übrigens, dass dann, wenn ein "current/next"-Event vom sectionsd oder von getEPG() kam, vor der vorige abgearbeitet war, die von getEPG() zurückgegebene struct nicht mehr gültig war. Ein saudummer Fehler im Code, eingebaut von mir ;) Auffallen tut das nur beim Extremzapping und auch nicht, wenn man z.B. mit valgrind testet (weil da alles so langsam wird, dass man nicht so schnell schalten kann ;)) Mit gdb hingegen trat es sogar noch zuverlässiger auf.

Jetzt übergebe ich einfach getEPG eine Referenz auf die globale info_CurrentNext struct, so dass diese befüllt wird und deswegen nie ungültig werden sollte. Sollte auch effizienter sein.

Dann habe ich noch die getEPG() in showTitle() durch einen einfach sectionsdclient-Aufruf ersetzt (getEPG() macht dasselbe, aber schickt neutrino selbst noch eine "epg-ist-da" Message für den Fall, dass sich das EPG geändert hat. Wenn ich schon in showTitle() bin, muss ich keine Message mehr schicken, weil ich ja sowieso die Infobar anzeige. Zumindest glaube ich das ;)) Dadurch wird's noch etwas effizienter. Das war dann der Grund, warum ich den Fehler im sectionsd gefunden habe, dass manchmal kein CN-Event gesendet wurde, der wurde vorher durch das Event, was von getEPG() kam, "verdeckt".

Generell ist die ganze Messaging-Infrastruktur total krank und vermutlich immer noch ziemlich kaputt... :-(
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

Danke für Deine klasse Arbeit, Neutrino wird immer besser!
re_Look
Interessierter
Interessierter
Beiträge: 47
Registriert: Mittwoch 10. Oktober 2007, 07:20

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von re_Look »

Ich kann mich nur rhabarber1848 anschließen.
Super Arbeit seife. :)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

Ich habe den Originalbug hier nicht getestet, aber mit dem aktuellen
CVS konnte ich per Taste Null jeweils mehr als 50x problemlos
umschalten, auch durch Hämmern auf die Fernbedienung,
zum einen zwischen zwei Sendern auf unterschiedlichen Transpondern
und zum anderen auf zwei Sendern, die sich im Kabel einen
Transponder teilen.

Dennoch konnte ich Neutrino zum Absturz bringen:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
als ich beim Quälen der Null-Taste versehentlich auf die Taste
Acht gekommen bin, das Bild blieb so stehen:
Bild
Nach dem Drücken der Taste Acht habe ich wohl noch andere
Tasten gedrückt, aber ich weiß nicht mehr, welche.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Wenn du's im gdb reproduzieren kannst, wäre ein backtrace schön (aber von einem Yadd aus, damit die debug-symbole noch drin sind...) Ich sehe im Code nämlich momentan nicht, wo das auftreten kann...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

Code: Alles auswählen

terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x4000 (LWP 165)]
0x0f694290 in kill () from /lib/libc.so.6


(gdb) bt full

#0  0x0f694290 in kill () from /lib/libc.so.6
No symbol table info available.
#1  0x0f9c05b8 in pthread_kill () from /lib/libpthread.so.0
No locals.
#2  0x0f9c0950 in raise () from /lib/libpthread.so.0
No locals.
#3  0x0f693f00 in raise () from /lib/libc.so.6
No symbol table info available.
#4  0x0f695670 in abort () from /lib/libc.so.6
No symbol table info available.
#5  0x0f930e2c in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/vterminate.cc:96
        terminating = true
        t = (class std::type_info *) 0x0
#6  0x0f92e664 in __cxxabiv1::__terminate (handler=<value optimized out>)
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_terminate.cc:43
No locals.
#7  0x0f92e6a0 in std::terminate () at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_terminate.cc:53
No locals.
#8  0x0f92e868 in __cxa_throw (obj=0x311004b0, tinfo=<value optimized out>, dest=<value optimized out>)
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_throw.cc:80
        globals = <value optimized out>
#9  0x0f92eadc in operator new (sz=270618608) at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/new:56
        p = <value optimized out>
#10 0x0f90e714 in std::string::_Rep::_S_create (__capacity=270618595, __old_capacity=16,
    __alloc=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/ext/new_allocator.h:81
        __size = <value optimized out>
        __adj_size = <value optimized out>
#11 0x0f90e76c in std::string::_Rep::_M_clone (this=0x101b7738, __alloc=<value optimized out>,
    __res=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/bits/basic_string.tcc:561
        __r = (class std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep *) 0x7ffff090
#12 0x0f90e8ac in basic_string (this=0x7ffff090, __str=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/bits/basic_string.h:226
No locals.
#13 0x10023dfc in CRemoteControl::handleMsg ()
No locals.
#14 0x1001b044 in CNeutrinoApp::handleMsg ()
No locals.
#15 0x1004465c in CChannelList::numericZap ()
No locals.
#16 0x1001dc04 in CNeutrinoApp::RealRun ()
No locals.
#17 0x1001fa04 in CNeutrinoApp::run ()
No locals.
#18 0x0f681d84 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#19 0x00000000 in ?? ()
No symbol table info available.
(gdb)
Reicht das, oder soll ich ein Yadd mit cdk/configure --disable-flashrules
kompilieren, damit noch mehr Debugcode verfügbar ist?

Es hat ein wenig gedauert, bis ich den Bug reproduzieren konnte.
Er tritt auf, wenn beim schnellen Umschalten mit der Null-Taste
zwischendurch eine andere Zifferntaste gedrückt wird und das
Zifferneingabefenster erscheint. Beim aktuellen Versuch war
dieses Fenster erst beim vierten Mal blockiert, also ein wenig
Geduld ist nötig, um den Bug zu reproduzieren.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Ich versuch's mal hier selbst zu reproduzieren.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Ich kanns nicht reproduzieren, evtl. weil ich mit debuginfos gebaut habe, habe aber eine Vermutung, was es sein wird:
Beim numericZap() wird die infobar inkl. EPG für den zu zappenden Sender eingeblendet, dann kommt ein "current EPG"-Event und dann fliegt uns das aus irgendeinem Grund um die Ohren.

Probier mal sowas:

Code: Alles auswählen

--- tuxbox/neutrino/src/daemonc/remotecontrol.cpp       2 Apr 2009 07:47:33 -0000       1.112
+++ tuxbox/neutrino/src/daemonc/remotecontrol.cpp       3 Apr 2009 20:51:32 -0000
@@ -161,14 +161,17 @@ int CRemoteControl::handleMsg(const neut

        if ( msg == NeutrinoMessages::EVT_CURRENTEPG )
        {
+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
                const CSectionsdClient::CurrentNextInfo* info_CN = (CSectionsdClient::CurrentNextInfo*) data;

 //             printf("Current/Next channelID: old(%llx) -> new(%llx)\n", current_channel_id, info_CN->current_uniqueKey >> 16);
                if ( ((info_CN->current_uniqueKey >> 16) == current_channel_id ) || ((info_CN->current_uniqueKey >> 16) == current_sub_channel_id ) )
                {
+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
                        //CURRENT-EPG f�r den aktuellen Kanal bekommen!;
 //                     printf("Current/Next EPGID: old(%llx) -> new(%llx)\n", current_EPGid, info_CN->current_uniqueKey);
                        CLCD::getInstance()->setEPGTitle(info_CN->current_name);
+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
                        if ( info_CN->current_uniqueKey != current_EPGid )
                        {
                                if ( current_EPGid != 0 )
@@ -211,7 +214,9 @@ int CRemoteControl::handleMsg(const neut
                                else
                                        g_RCInput->postMsg( NeutrinoMessages::EVT_PROGRAMLOCKSTATUS, info_CN->current_fsk, false );
                        }
+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
                }
+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
                return messages_return::handled;
        }
        else if ( msg == NeutrinoMessages::EVT_NEXTEPG )
Wenn es da crashed, wo ich vermute, dann müsste man an der Zeilennummer sehen, wo es ungefähr war.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

oder probier mal das: infoviewer-maybe-crashfix.diff, ob du es damit noch reproduzieren kannst. Schaden kann das nichts, aber ob's hilft? ;)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

seife hat geschrieben:Ich kanns nicht reproduzieren, evtl. weil ich mit debuginfos gebaut habe
Hier hat es geklappt, auch mit -g

Code: Alles auswählen

+fprintf(stderr, "%s:%n\n", __FUNCTION__, __LINE__);
Das funktioniert in gdb nicht, es kommt eine Meldung direkt
nach dem Umschalten, dass vsprintf.c nicht gefunden werden kann.

Ohne den o.g Patch hier die Fehlermeldung aus dem seriellen Log:
terminate called after throwing an instance of 'std::bad_alloc'
what(): St9bad_alloc
Hier nun ein genauerer backtrace:

Code: Alles auswählen

(gdb) bt f
#0  0x0f65cd84 in kill () from /root/tuxbox/work_glibc/image/cdkroot/lib/libc.so.6
No symbol table info available.
#1  0x0f9b1f7c in pthread_kill (thread=227, signo=6) at signals.c:69
        handle = (pthread_handle) 0xf9ca8ec
        pid = 227
#2  0x0f9b23a0 in __pthread_raise (sig=6) at signals.c:200
        retcode = <value optimized out>
#3  0x0f65c928 in *__GI_raise (sig=6) at ../linuxthreads/sysdeps/unix/sysv/linux/raise.c:32
No locals.
#4  0x0f65e4a0 in *__GI_abort () at ../sysdeps/generic/abort.c:88
        act = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = {__val = {1, 805436328,
      6788756, 0, 805427492, 805476180, 2147479136, 2147479296, 805341080, 0, 1, 2147479168, 805351204,
      259441360, 1, 2147479216, 258864064, 1, 1140867202, 0, 2, 260565072, 805427064, 671096868, 269942784,
      258163812, 805429000, 603988100, 269942784, 206, 269942784, 603988100}}, sa_flags = 269942784,
  sa_restorer = 0xce}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#5  0x0f91de2c in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/vterminate.cc:96
        terminating = true
        t = <value optimized out>
#6  0x0f91b664 in __cxxabiv1::__terminate (handler=<value optimized out>)
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_terminate.cc:43
No locals.
#7  0x0f91b6a0 in std::terminate () at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_terminate.cc:53
No locals.
#8  0x0f91b868 in __cxa_throw (obj=0x311004b0, tinfo=<value optimized out>, dest=<value optimized out>)
    at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/eh_throw.cc:80
        globals = <value optimized out>
#9  0x0f91badc in operator new (sz=270721008) at ../../../../../gcc-3.4.6/libstdc++-v3/libsupc++/new:56
        p = <value optimized out>
#10 0x0f8fb714 in std::string::_Rep::_S_create (__capacity=270720995, __old_capacity=33,
    __alloc=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/ext/new_allocator.h:81
        __size = <value optimized out>
        __adj_size = <value optimized out>
#11 0x0f8fb76c in std::string::_Rep::_M_clone (this=0x1022ef38, __alloc=<value optimized out>,
    __res=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/bits/basic_string.tcc:561
        __r = (class std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep *) 0x7ffff080
#12 0x0f8fb8ac in basic_string (this=0x7ffff080, __str=<value optimized out>)
    at /root/tuxbox/work_glibc/compile/cdk/build_gcc/powerpc-tuxbox-linux-gnu/nof/libstdc++-v3/include/bits/basic_string.h:226
No locals.
#13 0x10024a0c in CRemoteControl::handleMsg (this=0x101d7928, msg=2684354561, data=270702416)
    at remotecontrol.cpp:171
No locals.
#14 0x1001b25c in CNeutrinoApp::handleMsg (this=0x101833d0, m=<value optimized out>, data=270702416)
    at neutrino.cpp:2538
        res = 0
        repeat = false
        msg = 2684354561
#15 0x1005bf70 in CInfoViewer::infobarLoop (this=0x101d7a88, calledFromNumZap=false,
    fadeIn=<value optimized out>) at infoviewer.cpp:792
        msg = 2684354561
        data = 270702416
        fadeValue = 20
        neutrino = (class CNeutrinoApp *) 0x101833d0
        fadeOut = false
#16 0x1005f280 in CInfoViewer::showTitle (this=0x101d7a88, ChanNum=8, Channel=<value optimized out>,
    satellitePosition=3600, new_channel_id=1159395429341134848, calledFromNumZap=false, epgpos=0)
    at infoviewer.cpp:640
        subChannelNameIsUTF = false
        col_NumBox = 206
        c_rad_large = 12
        ChanNumYPos = 270724976
        new_chan = false
        fadeIn = false
        col_NumBoxText = 206
#17 0x1001deec in CNeutrinoApp::RealRun (this=0x101833d0, mainMenu=@0x7ffff508) at neutrino.cpp:2460
        msg = 2415919106
        data = 0
#18 0x1001efbc in CNeutrinoApp::run (this=0x101833d0, argc=<value optimized out>, argv=<value optimized out>)
    at neutrino.cpp:2311
        display_language_selection = false
        videoSettings = {<CMenuWidget> = {<CMenuTarget> = {_vptr.CMenuTarget = 0x101265a8}, nameString = {
      static npos = 4294967295,
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da654 "Video-Einstellungen"}}, frameBuffer = 0x10183fb8,
    items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
        _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101da8a0, _M_finish = 0x101da8cc,
          _M_end_of_storage = 0x101da8e0}}, <No data fields>},
    page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
        _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
      static npos = 4294967295,
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d99fc "video.raw"}}, width = 400, height = 576, wanted_height = 576, x = 259431184,
    y = 2147481152, selected = -1, iconOffset = 2147481152, item_start_y = 2147481152, current_page = 0,
    total_pages = 258403452}, <CChangeObserver> = {_vptr.CChangeObserver = 0x101265d0},
  SyncControlerForwarder = 0x101da760, VcrVideoOutSignalOptionChooser = 0x101da7c8,
  RGBCSyncControler = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012dc10}, frameBuffer = 0x10183fb8, x = 145,
    y = 245, width = 390, height = 85, hheight = 37, mheight = 32, csync = 0x10176970 "",
    name = LOCALE_VIDEOMENU_RGB_CENTERING, observer = 0x0}, ScreenSetup = {<CMenuTarget> = {
      _vptr.CMenuTarget = 0x10127ca8}, frameBuffer = 0x10183fb8, selected = 0, x_coord = {0, 2147481264},
    y_coord = {805417192, 2147481200}}, video_out_signal = 2147481680, vcr_video_out_signal = 2147481280}
        moviePlayer = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dad24 "Movieplayer"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101db560, _M_finish = 0x101db594,
        _M_end_of_storage = 0x101db5a0}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dad04 "streaming.raw"}}, width = 400, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 2147482592}
        mainMenu = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d9834 "Hauptmenü"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101db918, _M_finish = 0x101db958,
        _M_end_of_storage = 0x101db958}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d8e04 "mainmenue.raw"}}, width = 400, height = 576, wanted_height = 576, x = 2147481680,
  y = 2147481824, selected = 1, iconOffset = 0, item_start_y = 805476180, current_page = 0,
  total_pages = 805423760}
        streamingSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daa6c "Movieplayer Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x102214b8, _M_finish = 0x10221514,
        _M_end_of_storage = 0x10221538}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daa4c "streaming.raw"}}, width = 400, height = 576, wanted_height = 576, x = 2147482544,
  y = 2147482348, selected = -1, iconOffset = 805476192, item_start_y = 805415176, current_page = 0,
  total_pages = 266840873}
        colorSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daabc "Farb-Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x10223968, _M_finish = 0x10223998,
        _M_end_of_storage = 0x102239a8}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daa9c "colors.raw"}}, width = 400, height = 576, wanted_height = 576, x = 1, y = 2147481760,
  selected = -1, iconOffset = 259441360, item_start_y = 270024856, current_page = 0, total_pages = 261815712}
        miscSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dac14 "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e04d0, _M_finish = 0x101e04fc,
        _M_end_of_storage = 0x101e0510}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dabf4 "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 8192, item_start_y = 0, current_page = 0, total_pages = 0}
        miscSettingsInfobar = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e0174 "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e0cd0, _M_finish = 0x101e0d04,
        _M_end_of_storage = 0x101e0d10}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e0154 "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 0}
        miscSettingsOSDExtras = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e01bc "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e0708, _M_finish = 0x101e0720,
        _M_end_of_storage = 0x101e0728}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e019c "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 0}
        scanSettingsMenu = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dacac "Kanalsuche"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101cf680, _M_finish = 0x101cf6c8,
        _M_end_of_storage = 0x101cf700}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dac8c "settings.raw"}}, width = 400, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 0}
        miscSettingsEPGSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e024c "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e1050, _M_finish = 0x101e1074,
        _M_end_of_storage = 0x101e1090}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e022c "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 16384, y = 121,
  selected = -1, iconOffset = 0, item_start_y = 261816280, current_page = 0, total_pages = 259444668}
        networkSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da9dc "Netzwerk Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e6818, _M_finish = 0x101e6878,
        _M_end_of_storage = 0x101e6898}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da9bc "network.raw"}}, width = 430, height = 576, wanted_height = 576, x = 2147481648,
  y = 270033280, selected = -1, iconOffset = 259441360, item_start_y = 259444668, current_page = 0,
  total_pages = 261816280}
        recordingSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daa24 "Aufnahme Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x102206b8, _M_finish = 0x10220718,
        _M_end_of_storage = 0x10220738}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daa04 "recording.raw"}}, width = 400, height = 576, wanted_height = 576, x = 105948790,
  y = 2147481584, selected = -1, iconOffset = 2147481968, item_start_y = 2147482544, current_page = 0,
  total_pages = 805426392}
        keySettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dab7c "Tasten-Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x10225d50, _M_finish = 0x10225dbc,
        _M_end_of_storage = 0x10225dd0}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dab5c "keybinding.raw"}}, width = 450, height = 576, wanted_height = 576, x = 2147482304,
  y = 2147482736, selected = -1, iconOffset = 2147482240, item_start_y = 0, current_page = 0,
  total_pages = 258452880}
        service = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dacec "Service"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101dbc70, _M_finish = 0x101dbca8,
        _M_end_of_storage = 0x101dbcb0}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daccc "settings.raw"}}, width = 400, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 0}
        loadLocale_ret = <value optimized out>
        mainSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d92fc "Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101dbeb8, _M_finish = 0x101dbf04,
        _M_end_of_storage = 0x101dbf38}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d9294 "settings.raw"}}, width = 400, height = 576, wanted_height = 576, x = 805476180, y = 1,
  selected = -1, iconOffset = 2147480944, item_start_y = 2147481680, current_page = 0, total_pages = 805348276}
        fontSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dab04 "Schriftgrössen Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x10221bc8, _M_finish = 0x10221c04,
        _M_end_of_storage = 0x10221c08}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daae4 "colors.raw"}}, width = 400, height = 576, wanted_height = 576, x = 270033328,
  y = 2147481808, selected = -1, iconOffset = 259441360, item_start_y = 270033328, current_page = 0,
  total_pages = 258575440}
        audioplPicSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dac5c "Audioplayer / Bildbetrachter"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101df8e0, _M_finish = 0x101df92c,
        _M_end_of_storage = 0x101df960}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dac3c "settings.raw"}}, width = 400, height = 576, wanted_height = 576, x = 2147482592,
  y = 2147482576, selected = -1, iconOffset = 805476180, item_start_y = 0, current_page = 0,
  total_pages = 805340420}
        miscSettingsFilebrowser = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e02dc "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e2670, _M_finish = 0x101e268c,
        _M_end_of_storage = 0x101e2690}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e02bc "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 2147483032,
  y = 2147482888, selected = -1, iconOffset = 0, item_start_y = 786432, current_page = 0, total_pages = 0}
        miscSettingsChannellist = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e0204 "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e0b38, _M_finish = 0x101e0b50,
        _M_end_of_storage = 0x101e0b58}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e01e4 "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 2147482864,
  y = 270021584, selected = -1, iconOffset = 2147483040, item_start_y = 269423684, current_page = 0,
  total_pages = 138925289}
        loadSettingsErg = 0
        languageSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d9194 "Spracheinstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101dcb48, _M_finish = 0x101dcb90,
        _M_end_of_storage = 0x101dcbc8}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d91bc "language.raw"}}, width = 400, height = 576, wanted_height = 576, x = 15, y = 2147481072,
  selected = -1, iconOffset = 259431184, item_start_y = 805476180, current_page = 0, total_pages = 258553260}
        audioSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da744 "Audio-Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e2938, _M_finish = 0x101e2968,
        _M_end_of_storage = 0x101e2978}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da95c "audio.raw"}}, width = 420, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 2147481968, item_start_y = 0, current_page = 0, total_pages = 2147481416}
        parentallockSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da99c "Jugendschutz"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101ce928, _M_finish = 0x101ce940,
        _M_end_of_storage = 0x101ce948}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101da97c "lock.raw"}}, width = 500, height = 576, wanted_height = 576, x = 2147481392,
  y = 2147481552, selected = -1, iconOffset = 2147481968, item_start_y = 0, current_page = 0,
  total_pages = 2147481496}
        lcdSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dab34 "LCD Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x10223418, _M_finish = 0x10223450,
        _M_end_of_storage = 0x10223458}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101d9a1c "lcd.raw"}}, width = 500, height = 576, wanted_height = 576, x = 2147482080,
  y = 2147482016, selected = -1, iconOffset = 266973296, item_start_y = 2147482304, current_page = 0,
  total_pages = 805351204}
        driverSettings = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101dabc4 "Treiber- und Bootoptionen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101ded28, _M_finish = 0x101ded5c,
        _M_end_of_storage = 0x101ded68}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101daba4 "settings.raw"}}, width = 400, height = 576, wanted_height = 576, x = 0, y = 0,
  selected = -1, iconOffset = 0, item_start_y = 0, current_page = 0, total_pages = 261435096}
        miscSettingsGeneral = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e012c "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e0628, _M_finish = 0x101e0644,
        _M_end_of_storage = 0x101e0648}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e010c "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 805351204,
  y = 603996232, selected = -1, iconOffset = 2147482544, item_start_y = 2147482864, current_page = 0,
  total_pages = 1140867112}
        miscSettingsRemoteControl = {<CMenuTarget> = {_vptr.CMenuTarget = 0x1012d1a8}, nameString = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e0294 "Diverse Einstellungen"}}, frameBuffer = 0x10183fb8,
  items = {<std::_Vector_base<CMenuItem*,std::allocator<CMenuItem*> >> = {
      _M_impl = {<std::allocator<CMenuItem*>> = {<__gnu_cxx::new_allocator<CMenuItem*>> = {<No data fields>}, <No data fields>}, _M_start = 0x101e1448, _M_finish = 0x101e1464,
        _M_end_of_storage = 0x101e1468}}, <No data fields>},
  page_start = {<std::_Vector_base<unsigned int,std::allocator<unsigned int> >> = {
      _M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}, iconfile = {
    static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x101e0274 "settings.raw"}}, width = 500, height = 576, wanted_height = 576, x = 270025544, y = 576,
  selected = -1, iconOffset = 2147483040, item_start_y = 269424148, current_page = 0, total_pages = 0}
        zapit_event = {CZapitClient::FIRST_EVENT_MARKER, CZapitClient::EVT_ZAP_COMPLETE_IS_NVOD,
  CZapitClient::EVT_ZAP_FAILED, CZapitClient::EVT_ZAP_SUB_COMPLETE, CZapitClient::EVT_ZAP_SUB_FAILED,
  CZapitClient::EVT_ZAP_MOTOR, CZapitClient::EVT_ZAP_CA_CLEAR, CZapitClient::EVT_ZAP_CA_LOCK,
  CZapitClient::EVT_ZAP_CA_FTA, CZapitClient::EVT_RECORDMODE_ACTIVATED,
  CZapitClient::EVT_RECORDMODE_DEACTIVATED, CZapitClient::EVT_SCAN_COMPLETE, CZapitClient::EVT_SCAN_FAILED,
  CZapitClient::EVT_SCAN_NUM_TRANSPONDERS, CZapitClient::EVT_SCAN_REPORT_NUM_SCANNED_TRANSPONDERS,
  CZapitClient::EVT_SCAN_REPORT_FREQUENCY, CZapitClient::EVT_SCAN_REPORT_FREQUENCYP,
  CZapitClient::EVT_SCAN_SATELLITE, CZapitClient::EVT_SCAN_NUM_CHANNELS, CZapitClient::EVT_SCAN_PROVIDER,
  CZapitClient::EVT_BOUQUETS_CHANGED, CZapitClient::EVT_SCAN_SERVICENAME, CZapitClient::EVT_SCAN_FOUND_A_CHAN,
  CZapitClient::EVT_SCAN_FOUND_TV_CHAN, CZapitClient::EVT_SCAN_FOUND_RADIO_CHAN,
  CZapitClient::EVT_SCAN_FOUND_DATA_CHAN}
#19 0x0f647cf8 in __libc_start_main (argc=1, ubp_av=0x7ffffea4, ubp_ev=<value optimized out>, auxvec=0x7ffffed0,
    rtld_fini=<value optimized out>, stinfo=<value optimized out>, stack_on_entry=<value optimized out>)
    at ../sysdeps/generic/libc-start.c:237
No locals.
#20 0x00000000 in ?? ()
No symbol table info available.
(gdb)   
infoviewer-maybe-crashfix.diff habe ich noch nicht getestet.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von seife »

Es ist sowas, wie ich vermutet habe, weil:

Code: Alles auswählen

#13 0x10024a0c in CRemoteControl::handleMsg (this=0x101d7928, msg=2684354561, data=270702416)
    at remotecontrol.cpp:171
No locals.
#14 0x1001b25c in CNeutrinoApp::handleMsg (this=0x101833d0, m=<value optimized out>, data=270702416)
    at neutrino.cpp:2538
        res = 0
        repeat = false
        msg = 2684354561
#15 0x1005bf70 in CInfoViewer::infobarLoop (this=0x101d7a88, calledFromNumZap=false,
    fadeIn=<value optimized out>) at infoviewer.cpp:792
        msg = 2684354561
        data = 270702416
        fadeValue = 20
        neutrino = (class CNeutrinoApp *) 0x101833d0
        fadeOut = false
2684354561 == 0xA000001 == CRCInput::RC_WithData + 1 == EVT_CURRENTEPG
und crashen tut er da:

Code: Alles auswählen

162 »·······if ( msg == NeutrinoMessages::EVT_CURRENTEPG )
163 »·······{
164 »·······»·······const CSectionsdClient::CurrentNextInfo* info_CN = (CSectionsdClient::CurrentNextInfo*) data;
167 »·······»·······if ((info_CN->current_uniqueKey >> 16) == current_channel_id || (info_CN->current_uniqueKey >> 16) == current_sub_channel_id)
168 »·······»·······{
171 »·······»·······»·······CLCD::getInstance()->setEPGTitle(info_CN->current_name);
172 »·······»·······»·······if ( info_CN->current_uniqueKey != current_EPGid )
173 »·······»·······»·······{
174 »·······»·······»·······»·······if ( current_EPGid != 0 )
In Zeile 171.
Das Problem ist, dass der Pointer, auf den data zeigt, nicht mehr gültig ist, bis er da ankommt, und wenn er dann dereferenziert wird, dann knallts. Zumindest lese ich den backtrace so. Warum das so ist, weiss ich noch nicht. Wäre wunderschön mit valgrind zu debuggen (der würde einem sagen, wann und wo der Speicher dealloziert wurde etc), aber dummerweise tritt es unter valgrind nicht auf, weil da alles so langsam ist, dass diese Race nicht eintritt.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von rhabarber1848 »

seife hat geschrieben:oder probier mal das: infoviewer-maybe-crashfix.diff
Ist das im Lichte meines letzten backtraces noch aktuell?

PS: 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.

Valgrind konnte ich noch nie auf der Dbox starten, es kam, afair,
immer eine floating point exception.
e30
Interessierter
Interessierter
Beiträge: 37
Registriert: Freitag 6. Juli 2007, 15:21

Re: Abstürze eventuell durch den controld-zapit-merge!?

Beitrag von e30 »

@seife

habe gestern spät Rikers testsnap vom 03.04 getestet auf einer Philips und Nokia 2xI Avia500
stürtzt noch ab.Bei Telnet eingabe "zapit -d" schaltet die Philips nicht um nur einblendung auf TV vom Programm+EPG,bei"killall neutrino" geht die Philips genauso aus wie beim wilden Zappen
besteht noch bedarf an einem Log,könnte es aber erst Morgen spät testen?

:o E30