Skip to content

Crashes since #6565 flashstring dedup #6574

Closed
@TD-er

Description

@TD-er

Basic Infos

  • This issue complies with the issue POLICY doc.
  • I have read the documentation at readthedocs and the issue is not addressed there.
  • I have tested that the issue is present in current master branch (aka latest git).
  • I have searched the issue tracker for a similar issue.
  • If there is a stack dump, I have decoded it.
  • I have filled out all fields below.

Platform

  • Hardware: [ESP-12|ESP-01|ESP-07|ESP8285 device|other]
  • Core Version: [1aeea12]
  • Development Env: [Platformio]
  • Operating System: [Windows]

Settings in IDE

  • Module: [Generic ESP8266 Module]
  • Flash Mode: [dio]
  • Flash Size: [4MB]
  • lwip Variant: [v2 Lower Memory|Higher Bandwidth]
  • Reset Method: [nodemcu]
  • Flash Frequency: [40Mhz]
  • CPU Frequency: [80Mhz]
  • Upload Using: [OTA|SERIAL]
  • Upload Speed: [115200] (serial upload only)

Problem Description

Update to last feature/stage state does reduce bin size, but also causes reboots with exception 28
See #6565 #6565 (comment)

Decoded stack trace:

PS C:\GitHub\TD-er\ESPEasy> python .\tools\decoder.py -t C:\Users\gijs\.platformio\packages\toolchain-xtensa\ -e .\.pio\build\custom_ESP8266_4M1M\firmware.elf .\stacktrace.txt
Exception: 28 (LoadProhibited: A load referenced a page mapped with an attribute that does not permit loads)

epc1:     0x4000e140
epc2:     0x00000000
epc3:     0x00000000
excvaddr: 0x00000000
depc:     0x00000000

ctx: cont

sp:       0x3fff20b0
end:      0x3fff2480
offset:   0x000001a0

stack:
0x402636f9: String::operator=(char const*) at ??:?
0x4026354d: String::move(String&) at ??:?
0x40264495: String::substring(unsigned int, unsigned int) const at ??:?
0x402636aa: String::operator=(String&&) at ??:?
0x4023ab9e: parseCompleteNonCommentLine(String&, String&, String&, String&, bool&, bool&, bool&, bool*, bool*, unsigned char&, unsigned char&) at ??:?
0x402b49e0: chip_v6_unset_chanfreq at ??:?
0x40263928: String::operator=(__FlashStringHelper const*) at ??:?
0x4026328d: String::invalidate() at ??:?
0x4024412f: rulesProcessingFile(String const&, String&) at ??:?
0x402639b1: String::concat(char const*, unsigned int) at ??:?
0x40270e88: spiffs_cache_page_get_by_fd at ??:?
0x40263427: String::reserve(unsigned int) at ??:?
0x40263b22: String::concat(int) at ??:?
0x402b0031: sleep_reset_analog_rtcreg_8266 at ??:?
0x40233159: rulesProcessing(String&) at ??:?
0x40263928: String::operator=(__FlashStringHelper const*) at ??:?
0x40263958: String::String(__FlashStringHelper const*) at ??:?
0x402bd840: chip_v6_unset_chanfreq at ??:?
0x4025a55b: setup at ??:?
0x4026f6c4: std::_Function_handler<void (WiFiEventSoftAPModeStationDisconnected const&), void (*)(WiFiEventSoftAPModeStationDisconnected const&)>::_M_invoke(std::_Any_data const&, WiFiEventSoftAPModeStationDisconnected const&) at ??:?
0x40264cf8: loop_wrapper() at core_esp8266_main.cpp:?
0x401003d1: cont_wrapper at ??:?

It is a call to this function (and this revision of the file): https://github.com/letscontrolit/ESPEasy/blob/6267b9f00fbfbb9aedb61b408d51e17f76fd6330/src/ESPEasyRules.ino#L313-L422

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions