Project

General

Profile

Bug #2668

osmo-stp: endless loop in osmo_timer_del()

Added by laforge 2 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
Start date:
11/20/2017
Due date:
% Done:

100%


Description

When using current osmo-stp master, I quite frequently get it into a state where it consumes 100% CPU and infinite loops in osmo_timer_del()

120     void osmo_timer_del(struct osmo_timer_list *timer)
(gdb) bt full
#0  osmo_timer_del (timer=0x560cea1e4468) at timer.c:120
No locals.
#1  0x00007fdcfc1c2fb5 in osmo_timers_update () at timer.c:253
        current_time = {tv_sec = 1511203899, tv_usec = 890291}
        node = <optimized out>
        timer_eviction_list = {next = 0x560cea1e4480, prev = 0x560cea1e4480}
        this = 0x560cea1e4468
        work = <optimized out>
#2  0x00007fdcfc1c35e5 in osmo_select_main (polling=<optimized out>) at select.c:250
        readset = {__fds_bits = {0 <repeats 16 times>}}
        writeset = {__fds_bits = {0 <repeats 16 times>}}
        exceptset = {__fds_bits = {0 <repeats 16 times>}}
        rc = <optimized out>
        no_time = {tv_sec = 0, tv_usec = 0}
#3  0x0000560ce974f2a3 in main (argc=1, argv=0x7ffe918b4768) at stp_main.c:208
        rc = <optimized out>
(gdb) q

So somehow, we're corrupting the timer list :/

History

#1 Updated by laforge 2 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

It seems that https://gerrit.osmocom.org/4939 solves the problem. More testing required to be sure.

Also available in: Atom PDF