Skip to content

[Crash][esp32s3][v4.4.1] assert failed: spinlock_release spinlock.h:158 (core_id == lock->owner) when using SPI RAM (IDFGH-7560) #9120

@chipweinberger

Description

@chipweinberger

Please see this thread: https://www.esp32.com/viewtopic.php?f=13&t=27852&p=98615#p98615

esp32s3
esp-idf 4.4.1 (at latest commit: Tue May 31 10:28:03)

(note: also happens esp-idf 4.4.1 stock)

I've been hitting this assert at seemingly random times:
assert(core_id == lock->owner); // This is a mutex we didn't lock, or it's corrupt

It does not appear to be corruption:
run 1: core_id: 0xabab, lock->owner: 0xb33fffff
run 2: core_id 0xcdcd, lock->owner 0xb33fffff

Note: soc.h
#define PRO_CPUID (0xcdcd)
#define APP_CPUID (0xabab)
#define SPINLOCK_FREE 0xB33FFFFF

More details:

  1. I hit this assert seemingly at random. When my device is not doing much, I can last awhile. But if I start to do some BLE stuff, or file IO, maybe other unrelated stuff, I tend to crash either immediately or a few seconds after activity ends.
  2. Occasionally I crash soon after boot, during my initialization code
  3. I also once hit: Guru Meditation Error: Core panic'ed (Cache disabled but cached memory region accessed) when doing nvs::NVSPartition:: read(), again, this looks like some corruption? Not sure if related.
  4. I've tried setting CONFIG_LWIP_TCPIP_CORE_LOCKING=y, but It does not solve the issue for me

Logs: (this crashed during my boot up init)

I (19385) pd_sntp: Starting SNTP
I (19395) pd led ux: home wifi connected
I (19405) pd mdns: mdns_delegate_hostname_add(192.168.0.180, pe6gzq)
I (19415) pd mdns: success
I (19565) : core_id 0xabab, lock->owner 0xb33fffff

assert failed: spinlock_release spinlock.h:163 (core_id == lock->owner)


Backtrace:0x40376407:0x3fcb95a00x4038286d:0x3fcb95d0 0x4038d99a:0x3fcb9600 0x40387e49:0x3fcb9720 0x40384068:0x3fcb9750 0x420cd39d:0x3fcb9790 0x420cd8db:0x3fcb97c0 0x420b94fc:0x3fcb97f0 0x420b95c2:0x3fcb9820 0x420ba832:0x3fcb9850 0x420c8aae:0x3fcb9880 0x420cd0f5:0x3fcb98d0 0x420b739d:0x3fcb9900 0x420b7444:0x3fcb9930 0x40387b5a:0x3fcb9960 
0x40376407: panic_abort at /esp_system/panic.c:402

0x4038286d: esp_system_abort at /esp_system/esp_system.c:128

0x4038d99a: __assert_func at /newlib/assert.c:85

0x40387e49: spinlock_release at /esp_hw_support/include/soc/spinlock.h:163
 (inlined by) vPortExitCritical at /freertos/port/xtensa/port.c:310

0x40384068: xQueueSemaphoreTake at /freertos/queue.c:1612

0x420cd39d: sys_mutex_lock at /lwip/port/esp32/freertos/sys_arch.c:82

0x420cd8db: sys_arch_protect at /lwip/port/esp32/freertos/sys_arch.c:480

0x420b94fc: do_memp_free_pool at /lwip/lwip/src/core/memp.c:370 (discriminator 2)

0x420b95c2: memp_free at /lwip/lwip/src/core/memp.c:440

0x420ba832: pbuf_free at /lwip/lwip/src/core/pbuf.c:786

0x420c8aae: ip6_input at /lwip/lwip/src/core/ipv6/ip6.c:701

0x420cd0f5: ethernet_input at /lwip/lwip/src/netif/ethernet.c:229

0x420b739d: tcpip_thread_handle_msg at /lwip/lwip/src/api/tcpip.c:180

0x420b7444: tcpip_thread at /lwip/lwip/src/api/tcpip.c:154

0x40387b5a: vPortTaskWrapper at /freertos/port/xtensa/port.c:131

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions