Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: RP2040 intermittently freezes when transmitting #2546

Closed
GUVWAF opened this issue Jun 6, 2023 · 2 comments
Closed

[Bug]: RP2040 intermittently freezes when transmitting #2546

GUVWAF opened this issue Jun 6, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@GUVWAF
Copy link
Member

GUVWAF commented Jun 6, 2023

Category

Hardware Compatibility

Hardware

Raspberry Pi Pico (W)

Firmware Version

2.1.14.99a31c1

Description

Device freezes intermittently when transmitting. Not easy to reproduce; happens rarely.
Again an issue with FreeRTOS and mutexes during an interrupt. See debug log.

Relevant log output

#0  sleep_until (t=<optimized out>) at /home/earle/Arduino/hardware/pico/rp2040/pico-sdk/src/common/pico_time/time.c:397
#1  0x10027224 in sleep_us (us=<optimized out>)
    at /home/earle/Arduino/hardware/pico/rp2040/pico-sdk/src/common/pico_time/include/pico/time.h:103
#2  0x1002723e in sleep_ms (ms=<optimized out>) at /home/earle/Arduino/hardware/pico/rp2040/pico-sdk/src/common/pico_time/time.c:429
#3  0x10021a7c in rtosFatalError ()
#4  0x100224f4 in xQueueSemaphoreTake ()
#5  0x10022646 in xQueueTakeMutexRecursive ()
#6  0x1002193c in __freertos_recursive_mutex_take ()
#7  0x100259b2 in __retarget_lock_acquire_recursive ()
#8  0x1002e51c in __malloc_lock (ptr=ptr@entry=0x2000d208) at /workdir/repo/newlib/newlib/libc/stdlib/mlock.c:44
#9  0x10032234 in _free_r (reent_ptr=0x2000d208, mem=mem@entry=0x20010418) at /workdir/repo/newlib/newlib/libc/stdlib/mallocr.c:2652
#10 0x1002e0f0 in free (aptr=0x20010418) at /workdir/repo/newlib/newlib/libc/stdlib/malloc.c:170
#11 0x10025eaa in __wrap_free ()
#12 0x1002ad92 in operator delete (p=<optimized out>, n=<optimized out>)
    at /home/earle/Arduino/hardware/pico/rp2040/pico-sdk/src/rp2_common/pico_standard_link/new_delete.cpp:27
#13 0x100260d2 in std::_Rb_tree<unsigned char, std::pair<unsigned char const, CBInfo>, std::_Select1st<std::pair<unsigned char const, CBInfo> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, CBInfo> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned char const, CBInfo> >*) [clone .isra.0] ()
#14 0x10026250 in _detachInterruptInternal(unsigned char) ()
#15 0x100262ac in detachInterrupt ()
#16 0x10019d90 in ArduinoHal::detachInterrupt(unsigned long) ()
#17 0x1001a71a in SX126x::clearDio1Action() ()
#18 0x100086f4 in SX126xInterface<SX1262>::disableInterrupt() ()
#19 0x1000c84a in RadioLibInterface::isrLevel0Common(RadioLibInterface::PendingISR) ()
#20 0x1000c868 in RadioLibInterface::isrTxLevel0() ()
#21 0x100261c4 in _gpioInterruptDispatcher(unsigned int, unsigned long) ()
#22 0x1002678c in gpio_default_irq_handler () at /home/earle/Arduino/hardware/pico/rp2040/pico-sdk/src/rp2_common/hardware_gpio/gpio.c:155
#23 0x20001098 in irq_handler_chain_slots ()
@GUVWAF GUVWAF added the bug Something isn't working label Jun 6, 2023
@rcarteraz
Copy link
Contributor

I don't have a debugger to catch the log but I have the same issue on my device as well. Very intermittent. Ran for 2 hours then froze, then ran for 4 hours before freezing, then ran for less than 15 minutes before freezing.

@GUVWAF
Copy link
Member Author

GUVWAF commented Jun 13, 2023

Fixed by #2558.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants