[Home]

Summary:ASTERISK-28907: Crash when removing stasis topic
Reporter:Kevin Harwell (kharwell)Labels:
Date Opened:2020-05-19 13:36:34Date Closed:
Priority:MinorRegression?No
Status:Open/NewComponents:Core/Stasis
Versions:13.33.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) archive.zip
Description:Jenkins caught the following crash when running an [ari move test|https://jenkins2.asterisk.org/job/asterisk-gatetests/job/13/959/]:
{noformat}
#0  0x00007f3efb119337 in raise () from /lib64/libc.so.6
#0  0x00007f3efb119337 in raise () at /lib64/libc.so.6
#1  0x00007f3efb11aa28 in abort () at /lib64/libc.so.6
#2  0x0000000000621df8 in ast_do_crash () at utils.c:2459
#3  0x000000000045f545 in my_do_crash () at astmm.c:229
#4  0x000000000045f8bd in region_data_check (reg=0x7f3ea800d070) at astmm.c:323
       end = 0x7f3ea800d160
       pos = 0x7f3ea800d150
#5  0x000000000045fa5d in region_free (freed=0x9f0d60 <whales>, reg=0x7f3eb002a3d0) at astmm.c:381
       old = 0x7f3ea800d070
       __PRETTY_FUNCTION__ = "region_free"
#6  0x000000000045fe47 in __ast_free_region (ptr=0x7f3eb002a460, file=0x6ddeeb "astobj2.c", lineno=481, func=0x6de0d0 <__PRETTY_FUNCTION__.8397> "internal_ao2_ref") at astmm.c:489
       reg = 0x7f3eb002a3d0
#7  0x000000000046003d in __ast_free (ptr=0x7f3eb002a460, file=0x6ddeeb "astobj2.c", lineno=481, func=0x6de0d0 <__PRETTY_FUNCTION__.8397> "internal_ao2_ref") at astmm.c:542
#8  0x0000000000463057 in internal_ao2_ref (user_data=0x7f3eb002a470, delta=-1, file=0x6ddeeb "astobj2.c", line=523, func=0x6de0e1 <__FUNCTION__.8417> "__ao2_ref") at astobj2.c:481
       obj = 0x7f3eb002a460
       obj_mutex = 0x0
       obj_rwlock = 0x7f3ef91453a0
       current_value = 0
       ret = 1
       __PRETTY_FUNCTION__ = "internal_ao2_ref"
#9  0x0000000000463284 in __ao2_ref (user_data=0x7f3eb002a470, delta=-1) at astobj2.c:523
       __FUNCTION__ = "__ao2_ref"
#10 0x0000000000463fec in internal_ao2_traverse (self=0x44c0ac8, flags=67, cb_fn=0x6009c7 <str_cmp>, arg=0x7f3eb0026f44, data=0x0, type=AO2_CALLBACK_DEFAULT, tag=0x0, file=0x0, line=0, func=0x0) at astobj2_container.c:424
       ret = 0x0
       cb_default = 0x6009c7 <str_cmp>
       cb_withdata = 0x0
       node = 0x7f3eb002a470
       traversal_state = 0x7f3ef91453d0
       orig_lock = AO2_LOCK_REQ_MUTEX
       multi_container = 0x0
       multi_iterator = 0x0
       __PRETTY_FUNCTION__ = "internal_ao2_traverse"
#11 0x0000000000464157 in __ao2_callback (c=0x44c0ac8, flags=67, cb_fn=0x6009c7 <str_cmp>, arg=0x7f3eb0026f44) at astobj2_container.c:455
#12 0x000000000046430a in __ao2_find (c=0x44c0ac8, arg=0x7f3eb0026f44, flags=67) at astobj2_container.c:496
       arged = 0x7f3eb0026f44
       __PRETTY_FUNCTION__ = "__ao2_find"
#13 0x0000000000600b66 in ast_str_container_remove (str_container=0x44c0ac8, remove=0x7f3eb0026f44 "channel:1589911037.11") at strings.c:235
#14 0x00000000005e2bc6 in topic_remove_subscription (topic=0x7f3eb0026f08, sub=0x4541928) at stasis.c:1096
       idx = 0
       res = 0
       __PRETTY_FUNCTION__ = "topic_remove_subscription"
#15 0x00000000005e39b5 in stasis_forward_cancel (forward=0x7f3eb00292c0) at stasis.c:1416
       idx = 4
       from = 0x7f3eb0026f08
       to = 0x3177e28
       __PRETTY_FUNCTION__ = "stasis_forward_cancel"
#16 0x00000000005ee192 in stasis_cp_single_unsubscribe (one=0x7f3eb0026e08) at stasis_cache_pattern.c:197
#17 0x00000000004d9469 in ast_channel_internal_cleanup (chan=0x7f3eb0025998) at channel_internal_api.c:1580
       __PRETTY_FUNCTION__ = "ast_channel_internal_cleanup"
#18 0x00000000004badf9 in ast_dummy_channel_destructor (obj=0x7f3eb0025998) at channel.c:2415
       chan = 0x7f3eb0025998
       datastore = 0x0
       vardata = 0x0
       headp = 0x7f3eb0026178
#19 0x0000000000462f6d in internal_ao2_ref (user_data=0x7f3eb0025998, delta=-1, file=0x6ddeeb "astobj2.c", line=523, func=0x6de0e1 <__FUNCTION__.8417> "__ao2_ref") at astobj2.c:456
       obj = 0x7f3eb0025988
       obj_mutex = 0x7f3e3bf99ebd
       obj_rwlock = 0x0
       current_value = 0
       ret = 1
       __PRETTY_FUNCTION__ = "internal_ao2_ref"
#20 0x0000000000463284 in __ao2_ref (user_data=0x7f3eb0025998, delta=-1) at astobj2.c:523
       __FUNCTION__ = "__ao2_ref"
#21 0x00007f3e3bf99a7e in custom_log (event=0x7f3eb00257a0) at cel_custom.c:175
       dummy = 0x7f3eb0025998
       str = 0x7f3eb008a0f0
       config = 0x0
       __PRETTY_FUNCTION__ = "custom_log"
#22 0x00000000004b105f in cel_backend_send_cb (obj=0x41c56e0, arg=0x7f3eb00257a0, flags=6) at cel.c:567
       backend = 0x41c56e0
#23 0x0000000000463e3a in internal_ao2_traverse (self=0x30eb108, flags=6, cb_fn=0x4b1034 <cel_backend_send_cb>, arg=0x7f3eb00257a0, data=0x0, type=AO2_CALLBACK_DEFAULT, tag=0x0, file=0x0, line=0, func=0x0) at astobj2_container.c:354
       match = 3
       ret = 0x0
       cb_default = 0x4b1034 <cel_backend_send_cb>
       cb_withdata = 0x0
       node = 0x41cd6b0
       traversal_state = 0x7f3ef91458b0
       orig_lock = AO2_LOCK_REQ_MUTEX
       multi_container = 0x0
       multi_iterator = 0x0
       __PRETTY_FUNCTION__ = "internal_ao2_traverse"
#24 0x0000000000464157 in __ao2_callback (c=0x30eb108, flags=6, cb_fn=0x4b1034 <cel_backend_send_cb>, arg=0x7f3eb00257a0) at astobj2_container.c:455
#25 0x00000000004b11f0 in cel_report_event (snapshot=0x7f3e84009910, event_type=AST_CEL_CHANNEL_END, event_time=0x7f3e8401d450, userdefevname=0x0, extra=0x0, peer_str=0x0) at cel.c:608
       ev = 0x7f3eb00257a0
       cfg = 0x3069868
       __PRETTY_FUNCTION__ = "cel_report_event"
       backends = 0x30eb108
#26 0x00000000004b254e in cel_channel_state_change (old_snapshot=0x7f3e84009910, new_snapshot=0x0, event_time=0x7f3e8401d450) at cel.c:906
       is_hungup = -2080254896
       was_hungup = 32574
#27 0x00000000004b29d9 in cel_snapshot_update_cb (data=0x0, sub=0x31f3bb8, message=0x7f3e8401d450) at cel.c:1017
       old_snapshot = 0x7f3e84009910
       new_snapshot = 0x0
       i = 1
       update = 0x7f3e8401d380
#28 0x00000000005f7608 in router_dispatch (data=0x31f2258, sub=0x31f3bb8, message=0x7f3e8401d450) at stasis_message_router.c:201
       router = 0x31f2258
       route = {message_type = 0x308a5a0, callback = 0x4b2920 <cel_snapshot_update_cb>, data = 0x0}
#29 0x00000000005e1586 in subscription_invoke (sub=0x31f3bb8, message=0x7f3e8401d450) at stasis.c:632
       final = 0
       message_type_id = 4
       start = {tv_sec = 1589911037, tv_usec = 681885}
       elapsed = 7534173
       __PRETTY_FUNCTION__ = "subscription_invoke"
#30 0x00000000005e2c22 in dispatch_exec_async (local=0x7f3ef9145c60) at stasis.c:1115
       sub = 0x31f3bb8
       message = 0x7f3e8401d450
#31 0x000000000060592b in ast_taskprocessor_execute (tps=0x31f5988) at taskprocessor.c:1237
       local = {local_data = 0x31f3bb8, data = 0x7f3e8401d450}
       t = 0x7f3e840017d0
       size = 0
       __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"
#32 0x0000000000602a9a in default_tps_processing_function (data=0x31f5898) at taskprocessor.c:211
       listener = 0x31f5898
       tps = 0x31f5988
       pvt = 0x31f3ee0
       sem_value = 7558309
       res = 0
       __PRETTY_FUNCTION__ = "default_tps_processing_function"
#33 0x000000000061ed73 in dummy_start (data=0x32d2ed0) at utils.c:1239
       __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -4414058469542929997, 0, 512000, 0, 139908443563776, -4414058469500986957, 4378606999637252531}, __mask_was_saved = 0}}, __pad = {0x7f3ef9145db0, 0x0, 0x0, 0x0}}
       __cancel_routine = 0x454fc0 <ast_unregister_thread>
       __cancel_arg = 0x7f3ef9146700
       __not_first_call = 0
       ret = 0x0
       a = {start_routine = 0x602a04 <default_tps_processing_function>, data = 0x31f5898, name = 0x31dcb70 "default_tps_processing_function started at [  228] taskprocessor.c default_listener_start()"}
       __PRETTY_FUNCTION__ = "dummy_start"
#34 0x00007f3efbe3fe65 in start_thread () at /lib64/libpthread.so.0
#35 0x00007f3efb1e188d in clone () at /lib64/libc.so.6
{noformat}
Comments: