Webradio führt teilweise zu einem freeze

Hallo @biologist

Es liegt tatsächlich an Led.cpp Zeile 470

alte Version: if (!gPlayProperties.isWebstream) { funktioniert
neue Version: if (gPlayProperties.playMode != WEBSTREAM) { funktioniert nicht

Da meine Kenntnisse nicht reichen weiß ich den Unterschied nicht und schon garnicht warum es bei dir läuft . Verwende Wrover-E

VG

Anders rum. if (!gPlayProperties.isWebstream) ist neu.
Kannst du mal als Debug bei dir ein Serial.println(„not webstream“) direkt unterhalb dieser Zeile einfügen, wenn du deinen Webstream startest?

Bis vor kurzem habe ich nur auf den Playmodus geschaut, wenn es darum geht, die LED-Signalisierung zu machen. Das geht mit m3u jedoch nicht mehr, weil m3u beides sein kann (Webstream und kein Webstream). Also habe ich isWebstream als boolsches Flag eingeführt. Dessen Eigenschaft steht aktuell jedoch erst relativ spät fest (im Gegensatz zum Playmodus). Möglicherweise gibt es jetzt eine kurze Zeitspanne, in der LED.cpp bei dir davon ausgeht, dass es sich nicht um einen Webstream handelt. Ist das der Fall, dann wird currentRelPos gebraucht, ist aber noch nicht gesetzt und dann knallt es in Zeile 474, weil da intern eine Division durchgeführt wird.

Selbst für diesen Einzeiler bin ich zu dumm . Compilerfehler , auch mit div. anderen Schreibweisen davon

Semikolon vergessen am Ende?

Habe ich hinzugefügt , hilft nicht ,

Sind die Anführungszeichen beide „oben“? :slight_smile:
Unten und oben wird der Compiler nicht mögen, hehe.

Hatte ich auch probiert

Hi @biologist
Habe eben 2 Systeme auf die aktuelle Rev. geflasht . Mein Problem mit WDR2 ist weg . Hast du da was gemacht oder liegt es an Wolles geänderter Lib. ?
Praktisch jetzt durch die Radiostationen zu zappen .

VG

Also am Neopixel habe ich nichts geändert.
Es wird jetzt halt die aktuelle Titel in er GUI angezeigt, ich habe die RC522-Initialisierung nach hinten geschoben und die platformio.ini eingekürzt. Erstgenanntes war schon, von der Anzahl der betroffenen Files, bisschen größer, aber Led.cpp war nicht dabei.

Tja, eigentlich müsste ich schon im Sinne der Reproduzierbarkeit die Versionen festpinnen. Bislang habe ich das, außer bei Fastled, nicht gemacht.

Hallo zusammen,

auch wenn das Thema bereits knapp 3 Jahre alt ist, wollte ich es in einer etwas abgewandelten Form nochmal zum Leben erwecken.
Habe zwar nicht das Problem, dass es zu einem freeze kommt, allerdings bekomme ich bei der Verwendung von Webradio Links stets einen
Guru Meditation Error: Core 1 panic’ed (Unhandled debug exception)
und damit einen Reboot.
Verwende ich allerdings den „aufgelösten“ Link mit Authentifizierungs- und Sitzungsinformationen, funktioniert die RFID Karte tadellos.

Ich meine auch, dass das Problem mit einer viel älteren SW von vor 2 Jahren meines Erachtens nicht auftrat.

Hier mal ein Beispiel:
Ursprüngliche Webradio URL:
https://dispatcher.rndfnk.com/br/puls/live/mp3/mid
→ reboot mit folgender Ausgabe:


I [251] LED-Helligkeit für Nachtmodus wurde aus NVS geladen: 4

 _____   ____    ____            _
| ____| / ___|  |  _ \   _   _  (_)  _ __     ___
|  _|   \__  \  | |_) | | | | | | | | '_ \   / _ \
| |___   ___) | |  __/  | |_| | | | | | | | | (_) |
|_____| |____/  |_|      \__,_| |_| |_| |_|  \___/
         Rfid-controlled musicplayer


N [333] Software-revision: 20240923
N [334] Git-revision: deb90f0-dirty
N [334] Arduino version: 2.0.17
N [344] ESP-IDF version: 4.4.7
N [344] Wakeup was not caused by deepsleep: 0
N [344] Versuche SD-Karte im SD_MMC-Modus (1 Bit) zu mounten...
D [355] SD card type: SDHC
N [355] SD-Kartengröße / freier Speicherplatz: 121942 MB / 26054 MB
I [366] FTP-User wurde aus NVS geladen: esp32
I [367] FTP-Passwort wurde aus NVS geladen: Safeme321
I [369] Hostname aus NVS geladen: espuino
D [384] SSID: Frank, Password: yes, dynamic IP
D [390] PN5180 firmware version=4.0
D [420] RFID-Tags koennen jetzt gescannt werden...
N [608] Versuche mit WLAN 'Frank' zu verbinden...
D [653] Freier Heap-Speicher nach Setup-Routine: 159972
D [653] PSRAM: 4191659 bytes
D [653] Flash-size: 16777216 bytes
D [654] Datum/Uhrzeit (Interne RTC): 03.03.2025, 19:57:28
N [952] Verbunden mit WLAN 'Frank' (Signalstärke: -52 dBm, Kanal: 11, MAC-Adresse: 3C:A6:2F:72:77:64)     
N [952] Aktuelle IP: 192.168.178.65
N [964] Synchronisiere Uhrzeit via NTP...
N [1366] mDNS gestartet: http://espuino.local
N [1373] HTTP-Server gestartet.
N [1374] Lautsprecher eingeschaltet
I [1375] Maximale Lautstärke wurde gesetzt auf: 21
N [1381] Neuer Modus: mono
N [1831] RFID-Karte erkannt: 40-98-f4-2a
N [1831] Card type: ISO-14443
I [1832] RFID-Karte empfangen: 064152244042
N [1837] Modus: Webstream
N [1844] Neue Playlist mit 1 Titel(n) empfangen
D [1844] Free heap: 124116
I [1844] info        : Connect to new host: "https://dispatcher.rndfnk.com/br/puls/live/mp3/mid"
I [1903] info        : PSRAM found, inputBufferSize: 638965 bytes
I [1903] info        : buffers freed, free Heap: 123868 bytes
N [5856] Datum/Uhrzeit empfangen von NTP-Server: 03.03.2025, 19:57:33
I [7395] info        : SSL has been established in 5492 ms, free Heap: 79296 bytes
N [7397] 'https://dispatcher.rndfnk.com/br/puls/live/mp3/mid' wird abgespielt (1 von 1)
I [7500] info        : redirect to new host "https://f131.rndfnk.com/ard/br/puls/live/mp3/128/stream.mp3?cid=01FBPW7QW008S7WNVD4TMQK419&sid=2topPDn6J48bl7yTPoIgNzT93AE&token=SnSLPIB23WaHgNcq3FrGrZUzy-3EOpPceub...
I [7510] info        : Connect to new host: "https://f131.rndfnk.com/ard/br/puls/live/mp3/128/stream.mp3?cid=01FBPW7QW008S7WNVD4TMQK419&sid=2topPDn6J48bl7yTPoIgNzT93AE&token=SnSLPIB23WaHgNcq3FrGrZUzy-3EOpPceub...
I [7534] info        : buffers freed, free Heap: 123468 bytes
Guru Meditation Error: Core  1 panic'ed (Unhandled debug exception). 
Debug exception reason: Stack canary watchpoint triggered (mp3play)
Core  1 register dump:
PC      : 0x401c0178  PS      : 0x00060636  A0      : 0x801c0fa1  A1      : 0x3ffd0860  
A2      : 0x3ffd0c40  A3      : 0x3ffd0c90  A4      : 0x3ffd0920  A5      : 0x3ffd0d00
A6      : 0x00000000  A7      : 0x00000000  A8      : 0x00000000  A9      : 0x00000000  
A10     : 0x3ffd0c40  A11     : 0x3494cb8d  A12     : 0x1f83d9ab  A13     : 0x87f19e7d
A14     : 0x3ffd0c40  A15     : 0x137e2179  SAR     : 0x0000001e  EXCCAUSE: 0x00000001  
EXCVADDR: 0x00000000  LBEG    : 0x4009446c  LEND    : 0x40094488  LCOUNT  : 0x00000000


Backtrace: 0x401c0175:0x3ffd0860 0x401c0f9e:0x3ffd0bc0 0x401c1001:0x3ffd0be0 0x401c1295:0x3ffd0c00 0x401bd2c3:0x3ffd0c40 0x401b8cbe:0x3ffd0d40 0x401b8db6:0x3ffd0db0 0x401b8e02:0x3ffd0e60 0x401b8f85:0x3ffd0ee0 0x401b89fd:0x3ffd0f00 0x401b8ade:0x3ffd10b0 0x401b8bbd:0x3ffd10d0 0x401b8c91:0x3ffd1140 0x401b61b6:0x3ffd1160 0x401b72a7:0x3ffd1190 0x401c3aea:0x3ffd11e0 0x401c47cd:0x3ffd1220 0x401c4f53:0x3ffd1410 0x40217bd5:0x3ffd1570 0x40217dd4:0x3ffd15a0 0x401cdf30:0x3ffd15c0 0x401cb9ad:0x3ffd1660 0x401cb9e7:0x3ffd1680 0x401798ca:0x3ffd16a0 0x40177450:0x3ffd1930 0x4017751e:0x3ffd1980 0x401775fe:0x3ffd19c0 0x40234e5b:0x3ffd19e0 0x400f8071:0x3ffd1a00 0x400f9132:0x3ffd1c30 0x400fab52:0x3ffd1e80 0x400d4823:0x3ffd1ea0
  #0  0x401c0175 in mbedtls_sha512_software_process at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\port\sha\parallel_engine/esp_sha512.c:268
  #1  0x401c0f9e in esp_internal_sha512_parallel_engine_process at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\port\sha\parallel_engine/esp_sha512.c:329
  #2  0x401c1001 in mbedtls_sha512_update_ret at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\port\sha\parallel_engine/esp_sha512.c:367
  #3  0x401c1295 in mbedtls_sha512_update_ret at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\port\sha\parallel_engine/esp_sha512.c:352
      (inlined by) mbedtls_sha512_finish_ret at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\port\sha\parallel_engine/esp_sha512.c:441
  #4  0x401bd2c3 in mbedtls_sha512_ret at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/sha512.c:453
  #5  0x401b8cbe in entropy_update at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/entropy.c:174
  #6  0x401b8db6 in entropy_gather_internal at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/entropy.c:279
  #7  0x401b8e02 in entropy_gather_internal at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/entropy.c:257
      (inlined by) mbedtls_entropy_func at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/entropy.c:359
  #8  0x401b8f85 in mbedtls_entropy_func at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/entropy.c:328
  #9  0x401b89fd in mbedtls_ctr_drbg_reseed_internal at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ctr_drbg.c:369
  #10 0x401b8ade in mbedtls_ctr_drbg_reseed at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ctr_drbg.c:407
  #11 0x401b8bbd in mbedtls_ctr_drbg_random_with_add at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ctr_drbg.c:525
  #12 0x401b8c91 in mbedtls_ctr_drbg_random at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ctr_drbg.c:592
  #13 0x401b61b6 in mpi_fill_random_internal at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/bignum.c:2474
  #14 0x401b72a7 in mbedtls_mpi_random at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/bignum.c:2567 (discriminator 2)
  #15 0x401c3aea in ecp_randomize_jac at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:1709
  #16 0x401c47cd in ecp_mul_comb_core at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:2074
      (inlined by) ecp_mul_comb_after_precomp at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:2186
      (inlined by) ecp_mul_comb at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:2389
  #17 0x401c4f53 in mbedtls_ecp_mul_restartable at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:2751
      (inlined by) mbedtls_ecp_mul_restartable at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecp.c:2699
  #18 0x40217bd5 in ecdh_gen_public_restartable at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecdh.c:77
      (inlined by) mbedtls_ecdh_gen_public at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecdh.c:95
  #19 0x40217dd4 in ecdh_make_public_internal at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecdh.c:546
      (inlined by) mbedtls_ecdh_make_public at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ecdh.c:575
  #20 0x401cdf30 in ssl_write_client_key_exchange at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ssl_cli.c:3713
      (inlined by) mbedtls_ssl_handshake_client_step at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ssl_cli.c:4335
  #21 0x401cb9ad in mbedtls_ssl_handshake_step at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ssl_tls.c:5758
  #22 0x401cb9e7 in mbedtls_ssl_handshake at C:\Users\froeb\.platformio\packages\framework-espidf\components\mbedtls\mbedtls\library/ssl_tls.c:5796
  #23 0x401798ca in start_ssl_client(sslclient_context*, IPAddress const&, unsigned int, char const*, int, char const*, bool, char const*, char const*, char const*, char const*, bool, char const**) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/ssl_client.cpp:271   
  #24 0x40177450 in WiFiClientSecure::connect(IPAddress, unsigned short, char const*, char const*, char const*, char const*) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp:141
  #25 0x4017751e in WiFiClientSecure::connect(char const*, unsigned short, char const*, char const*, char const*) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp:136
  #26 0x401775fe in WiFiClientSecure::connect(char const*, unsigned short) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp:117
      (inlined by) WiFiClientSecure::connect(char const*, unsigned short) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp:113
  #27 0x40234e5b in WiFiClientSecure::connect(char const*, unsigned short, int) at C:/Users/froeb/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp:122
  #28 0x400f8071 in Audio::connecttohost(char const*, char const*, char const*) at .pio/libdeps/lolin_d32_pro_sdmmc_pe/ESP32-audioI2S/src/Audio.cpp:599 (discriminator 4)
  #29 0x400f9132 in Audio::parseHttpResponseHeader() at .pio/libdeps/lolin_d32_pro_sdmmc_pe/ESP32-audioI2S/src/Audio.cpp:3868
  #30 0x400fab52 in Audio::parseHttpResponseHeader() at .pio/libdeps/lolin_d32_pro_sdmmc_pe/ESP32-audioI2S/src/Audio.h:242
      (inlined by) Audio::loop() at .pio/libdeps/lolin_d32_pro_sdmmc_pe/ESP32-audioI2S/src/Audio.cpp:2409 
  #31 0x400d4823 in AudioPlayer_Task(void*) at src/AudioPlayer.cpp:880





ELF file SHA256: aeb56412cc70938d

E (8695) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
Rebooting...
E (749) esp_core_dump_flash: No core dump partition found!
E (749) esp_core_dump_flash: No core dump partition found!

Ein Redirect erfolgt hier zwar, aber dieser führt nicht zum Erfolg.

Verwende ich allerdings die „aufgelöste“ URL mit Authentifizierungs- und Sitzungsinformationen, als Adresse (erhalten durch das Eingeben der „originalen“ streaming URL und das rauskopieren des im Browsers angezeigten Redirects):
https://f111.rndfnk.com/ard/br/puls/live/mp3/128/stream.mp3?cid=01FBPW7QW008S7WNVD4TMQK419&sid=2towaLexKOSYNmmK1JS1xWsdSt3&token=-UFzJDfnafM6hxiGsB1SqYGZNvdwTcNIZZoI1xKQE9E&tvf=JpAOO9d2KRhmMTExLnJuZGZuay5jb20

funktioniert der Stream problemlos.

Kann sich das jemand erklären?

Versuche es mal mit http statt https.

Anonsten in AudioPlayer.cpp mal die Stacksize (6000) z. B. auf 7168 vergößern:

Hier sieht man den Fehler übrigens:

Hi Torsten,
das mit http hat geklappt - vielen Dank!!!

Die Stelle im AudioPlayer.cpp werde ich mir aber mal merken, falls trotz http doch wieder Kanarienvögel sterben müssen.

1 „Gefällt mir“

Generell gilt immer: Wenn möglich https meiden und http verwenden. Das braucht weniger Speicher.