Hallo, ich wollte meine derzeitigen Erkenntnisse und Erfahrungen mitteilen bei minütlichen Übertragungen von Daten.
Das Stromproblem scheint beseitigt zu sein. Ich habe keine weiteren Ausfälle mehr mitbekommen, bei denen der blaue Herzschlag (Heartbeat) des GPy ausgefallen ist und es keine Fehlermeldung gab. Momentan besuchen mich nur die Gurus…
Der GPy nutzt die folgende FW:
os.uname()
(sysname='GPy', nodename='GPy', release='1.20.2.rc6-0.10.1-vanilla-squirrel', version='v1.20.1.r2-120-g201315f4a-dirty on 2020-03-02', machine='GPy with ESP32')
Und die folgende FW für das Modem:
sqnsupgrade.info()
Welcome to the SQN3330 firmware updater [1.2.6] >>>
GPy with firmware version 1.20.2.rc6-0.10.1-vanilla-squirrel
Your modem is in application mode. Here is the current version:
UE5.0.0.0d
LR5.1.1.0-41065
Für das Debugging nutze ich momentan Putty und einen USB to TTL-Adapter, der mir über die Pins P0 und P1 den Debugging-Output auf meinen Rechner überträgt (Coole Anleitung von MKO!).
Der GPy lief jetzt 1,5 Tage erfolgreich bis er wieder einen Guru Mediation Error erlitt von dem er sich nicht erholen konnte. Leider wurde mir hier nicht der gesamte Output ausgegeben. Ich habe schon des Öfteren gesehen, dass bei diesen “Guru Meditation Error”-Meldungen manchmal die Hälfte fehlt. Das heißt, wieder anschmeißen und hoffen, dass die nächste Fehlermeldung komplett kommt…
Es hat den Core 0 betroffen und nur das wurde mir angezeigt:
Guru Meditation Error: Core 0 panic'ed (
Dafür gab es in diesen 1,5 Tagen 11 Guru-Fehler von denen sich der GPy aber wieder selbstständig erholt hat, aber nur Core 1 betroffen haben. Für diese liegen mir die vollständigen coredumps vor. Ich finde das Verhalten sehr zufällig, da kein klarer Zeitintervall erkennbar ist, nachdem es passiert. Es lagen nach 18 Stunden Laufzeit urplötzlich z. B. innerhalb einer Stunde 4 Guru-Fehler vor! Dann gab es 8 Stunden später wieder einen und davor lagen auch einige Stunden zwischen den Guru-Fehlern.
Die Guru-Fehler traten immer nach erfolgreichen Datenübertragungen auf:
Status code: 200
POST-request OK
Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x40096fe5 PS : 0x00060f33 A0 : 0x80095b97 A1 : 0x3ffd3610
A2 : 0x3ffd3820 A3 : 0x00000001 A4 : 0x3ffd3818 A5 : 0x00000001
A6 : 0x000000fe A7 : 0x3ffd7cc0 A8 : 0x28000045 A9 : 0x38000038
A10 : 0x9cf1f910 A11 : 0xffffffff A12 : 0x00000001 A13 : 0x3ffd7d20
A14 : 0x00000002 A15 : 0x3ffd7ca0 SAR : 0x00000010 EXCCAUSE: 0x0000001d
EXCVADDR: 0x9cf1f918 LBEG : 0x40091e25 LEND : 0x40091e59 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000
Backtrace: 0x40096fe5:0x3ffd3610 0x40095b94:0x3ffd3630 0x400946ff:0x3ffd3650 0x4008e42b:0x3ffd3690 0x4008e9e5:0x3ffd36d0 0x4016a771:0x3ffd3710 0x40110fcd:0x3ffd3750
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x40096ea2 PS : 0x00060c33 A0 : 0x800963ed A1 : 0x3ffd30f0
A2 : 0x3ffd3160 A3 : 0x3ffd3110 A4 : 0x00000040 A5 : 0x3ffc4144
A6 : 0x0000003b A7 : 0x3ffbf370 A8 : 0x9cf1f910 A9 : 0x3ffd3530
A10 : 0x3ffd3550 A11 : 0x3ffc414c A12 : 0x00000027 A13 : 0x40083214
A14 : 0x9cf1f910 A15 : 0xffffffff SAR : 0x0000000a EXCCAUSE: 0x0000001c
EXCVADDR: 0x9cf1f91c LBEG : 0x40092524 LEND : 0x4009252f LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000
Backtrace: 0x40096ea2:0x3ffd30f0 0x400963ea:0x3ffd3110 0x4008f8fd:0x3ffd3140 0x4008f697:0x3ffd3160 0x4008f81d:0x3ffd34b0 0x4008f64a:0x3ffd34d0 0x4008f242:0x3ffd3510 0x4008f492:0x3ffd3530 0x4008325e:0x3ffd3550 0x40096fe2:0x3ffd3610 0x40095b94:0x3ffd3630 0x400946ff:0x3ffd3650 0x4008e42b:0x3ffd3690 0x4008e9e5:0x3ffd36d0 0x4016a771:0x3ffd3710 0x40110fcd:0x3ffd3750
Re-entered core dump! Exception happened during core dump!
Rebooting...
Für den ersten Backtrace unter StoreProhibited bekomme ich:
xtensa-esp32-elf-addr2line.exe -fe .\GPy-1.20.2.r1-application.elf 0x40096fe5:0x3ffd3610 0x40095b94:0x3ffd3630 0x400946ff:0x3ffd3650 0x4008e42b:0x3ffd3690 0x4008e9e5:0x3ffd36d0 0x4016a771:0x3ffd3710 0x40110fcd:0x3ffd3750 multi_heap_malloc_impl
/Users/ehlers/pycom/pycom-esp-idf/components/heap/multi_heap.c:438
xTaskRemoveFromUnorderedEventList
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:3189
prvInitialiseNewTask
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:959
prvReceiveGenericFromISR
/Users/ehlers/pycom/pycom-esp-idf/components/esp_ringbuf/ringbuf.c:632
vRingbufferDelete
/Users/ehlers/pycom/pycom-esp-idf/components/esp_ringbuf/ringbuf.c:1021
esp_event_set_default_wifi_handlers
/Users/ehlers/pycom/pycom-esp-idf/components/esp32/event_default_handlers.c:470
TASK_LTE
/var/jenkins_home/workspace/micropython-sigfox_Release_v1.20/esp32/lte/lteppp.c:447
Und für den zweiten Backtrace unter LoadProhibited:
xtensa-esp32-elf-addr2line.exe -fe .\GPy-1.20.2.r1-application.elf 0x40096ea2:0x3ffd30f0 0x400963ea:0x3ffd3110 0x4008f8fd:0x3ffd3140 0x4008f697:0x3ffd3160 0x4008f81d:0x3ffd34b0 0x4008f64a:0x3ffd34d0 0x4008f242:0x3ffd3510 0x4008f492:0x3ffd3530 0x4008325e:0x3ffd3550 0x40096fe2:0x3ffd3610 0x40095b94:0x3ffd3630 0x400946ff:0x3ffd3650 0x4008e42b:0x3ffd3690 0x4008e9e5:0x3ffd36d0 0x4016a771:0x3ffd3710 0x40110fcd:0x3ffd3750 split_if_necessary
/Users/ehlers/pycom/pycom-esp-idf/components/heap/multi_heap.c:311
prvSampleTimeNow
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/timers.c:648
BT_tx_if_init
??:?
esp_core_dump_write_binary
/Users/ehlers/pycom/pycom-esp-idf/components/espcoredump/src/core_dump_common.c:114
xPortGetCoreID
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/include/freertos/portable.h:210
esp_core_dump_write_binary
/Users/ehlers/pycom/pycom-esp-idf/components/espcoredump/src/core_dump_common.c:82
panicHandler
/Users/ehlers/pycom/pycom-esp-idf/components/esp32/panic.c:309
esp_core_dump_to_uart
/Users/ehlers/pycom/pycom-esp-idf/components/espcoredump/src/core_dump_uart.c:103
_xt_user_exc
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/xtensa_vectors.S:768
multi_heap_malloc_impl
/Users/ehlers/pycom/pycom-esp-idf/components/heap/multi_heap.c:438
xTaskRemoveFromUnorderedEventList
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:3189
prvInitialiseNewTask
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:959
prvReceiveGenericFromISR
/Users/ehlers/pycom/pycom-esp-idf/components/esp_ringbuf/ringbuf.c:632
vRingbufferDelete
/Users/ehlers/pycom/pycom-esp-idf/components/esp_ringbuf/ringbuf.c:1021
esp_event_set_default_wifi_handlers
/Users/ehlers/pycom/pycom-esp-idf/components/esp32/event_default_handlers.c:470
TASK_LTE
/var/jenkins_home/workspace/micropython-sigfox_Release_v1.20/esp32/lte/lteppp.c:447
Ich sehe da UART und LTE und verweise wieder auf diesen Thread:
Ich werde mir noch die anderen Guru-Fehlermeldungen anschauen und wenn die anderen auch alle wieder auf
LTE und
UART verweisen, dann liegt es wohl wieder am Modem (nehme ich an).
Ich denke, ich werde einfach einen externen Watchdog nehmen, um das Problem irgendwie halbwegs gelöst zu bekommen bis Pycom genug Bugreports gesammelt hat, um das Problem zu lösen: