lwIP - A Lightweight TCP/IP stack - Bugs: bug #52719, sys_timeouts synchronization issue...
You are not allowed to post comments on this tracker with your current authentication level.
bug #52719: sys_timeouts synchronization issue with core locking (NO_SYS == 0)
Submitter: | Joel Cunningham <jcunningham> | ||
Submitted: | Thu 21 Dec 2017 09:50:59 PM UTC | ||
Category: | None | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | Fixed |
Privacy: | Public | Assigned to: | jcunningham |
Open/Closed: | Closed | Planned Release: | 2.1.0 |
lwIP version: | git head |
Jump to the original submission
Tue 02 Jan 2018 06:19:53 PM UTC, comment #6: |
Joel Cunningham <jcunningham> |
Tue 02 Jan 2018 05:41:06 PM UTC, comment #5: Cool, thanks!!! |
Dirk Ziegelmeier <dziegel> |
Tue 02 Jan 2018 05:39:26 PM UTC, comment #4: Dirk,
|
Joel Cunningham <jcunningham> |
Tue 02 Jan 2018 05:28:36 PM UTC, comment #3: Joel, can you please check whether the new LWIP_ASSERT_CORE_LOCKED() stuff would reveal your issue? |
Dirk Ziegelmeier <dziegel> |
Tue 02 Jan 2018 04:03:07 PM UTC, comment #2: Douglas,
|
Joel Cunningham <jcunningham> |
Tue 02 Jan 2018 03:09:05 PM UTC, comment #1: Attached is a suggested patch. This pushes down the release of the core lock to the actual mbox fetch, keeping the lock held while checking the timer data structures. |
Douglas <ourairquality> |
Thu 21 Dec 2017 09:50:59 PM UTC, original submission:
I've found a synchronization issue with sys_timeouts and core locking for NO_SYS == 0. This was found during code inspection.
|
Joel Cunningham <jcunningham> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 5 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2018-01-02 | jcunningham | Status | None | Fixed | |
Open/Closed | Open | Closed | |||
2018-01-02 | dziegel | Assigned to | None | jcunningham | |
2018-01-02 | ourairquality | Attached File | - | Added 0001-timers-rework-the-core-locking-around-timers.patch, #42788 | |
2018-01-02 | goldsimon | Planned Release | None | 2.1.0 |
Powered by Savane 3.13-d3ae.
Corresponding source code
Patches applied in 53499f5e9faecb1593f9a3de54385ac4ebd9aa83 and 1c7a02429739e4d1b2858ad0fe5114f47a1d2ffa
I ended up dropping the assert checks in cyclic_timer and tcpip_tcp_timer because they are:
1) static functions with which can only be called as a timer callback
2) Redundant with the check in sys_check_timeouts, which ensures timer handlers (callbacks) are called with the core lock acquired