[asterisk-bugs] [JIRA] (ASTERISK-25763) TSAN: Data race in json free
Badalian Vyacheslav (JIRA)
noreply at issues.asterisk.org
Tue Feb 9 18:32:33 CST 2016
Badalian Vyacheslav created ASTERISK-25763:
----------------------------------------------
Summary: TSAN: Data race in json free
Key: ASTERISK-25763
URL: https://issues.asterisk.org/jira/browse/ASTERISK-25763
Project: Asterisk
Issue Type: Bug
Security Level: None
Affects Versions: 13.7.2
Reporter: Badalian Vyacheslav
As i understand you destroy locked mutex
{code}
==================
WARNING: ThreadSanitizer: data race (pid=22242)
Write of size 1 at 0x7d24002e7078 by thread T21:
#0 pthread_mutex_destroy <null> (libtsan.so.0+0x00000002878d)
#1 __ast_pthread_mutex_destroy /root/asterisk-13.7.0/main/lock.c:205 (asterisk+0x0000004de247)
#2 json_mem_free /root/asterisk-13.7.0/main/json.c:68 (asterisk+0x0000004d0846)
#3 ast_json_unref /root/asterisk-13.7.0/main/json.c:235 (asterisk+0x0000004d0ec2)
#4 json_payload_destructor /root/asterisk-13.7.0/main/json.c:801 (asterisk+0x0000004d30f5)
#5 internal_ao2_ref /root/asterisk-13.7.0/main/astobj2.c:445 (asterisk+0x0000002cb653)
#6 __ao2_ref /root/asterisk-13.7.0/main/astobj2.c:516 (asterisk+0x0000002cba40)
#7 __ao2_cleanup /root/asterisk-13.7.0/main/astobj2.c:529 (asterisk+0x0000002cbadc)
#8 stasis_message_dtor /root/asterisk-13.7.0/main/stasis_message.c:107 (asterisk+0x00000062a4e5)
#9 internal_ao2_ref /root/asterisk-13.7.0/main/astobj2.c:445 (asterisk+0x0000002cb653)
#10 __ao2_ref /root/asterisk-13.7.0/main/astobj2.c:516 (asterisk+0x0000002cba40)
#11 __ao2_cleanup /root/asterisk-13.7.0/main/astobj2.c:529 (asterisk+0x0000002cbadc)
#12 dispatch_exec_async /root/asterisk-13.7.0/main/stasis.c:696 (asterisk+0x000000604362)
#13 ast_taskprocessor_execute /root/asterisk-13.7.0/main/taskprocessor.c:782 (asterisk+0x000000648e9b)
#14 default_tps_processing_function /root/asterisk-13.7.0/main/taskprocessor.c:183 (asterisk+0x00000064549d)
#15 dummy_start /root/asterisk-13.7.0/main/utils.c:1237 (asterisk+0x00000067e255)
#16 <null> <null> (libtsan.so.0+0x000000023659)
Previous atomic read of size 1 at 0x7d24002e7078 by main thread:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x000000037816)
#1 __ast_pthread_mutex_lock /root/asterisk-13.7.0/main/lock.c:313 (asterisk+0x0000004de2a0)
#2 json_mem_lock /root/asterisk-13.7.0/main/json.c:112 (asterisk+0x0000004d0922)
#3 ast_json_unref /root/asterisk-13.7.0/main/json.c:222 (asterisk+0x0000004d0e6a)
#4 really_quit /root/asterisk-13.7.0/main/asterisk.c:2096 (asterisk+0x0000002bb3b0)
#5 quit_handler /root/asterisk-13.7.0/main/asterisk.c:1929 (asterisk+0x0000002baac5)
#6 asterisk_daemon /root/asterisk-13.7.0/main/asterisk.c:4738 (asterisk+0x0000002ca84a)
#7 main /root/asterisk-13.7.0/main/asterisk.c:4282 (asterisk+0x0000002c93ad)
Location is heap block of size 144 at 0x7d24002e7070 allocated by main thread:
#0 malloc <null> (libtsan.so.0+0x000000025a33)
#1 _ast_malloc /root/asterisk-13.7.0/include/asterisk/utils.h:547 (asterisk+0x0000004cf79e)
#2 ast_json_malloc /root/asterisk-13.7.0/main/json.c:140 (asterisk+0x0000004d09d6)
#3 json_object <null> (libjansson.so.4+0x00000000720a)
#4 ast_json_pack /root/asterisk-13.7.0/main/json.c:693 (asterisk+0x0000004d2a41)
#5 really_quit /root/asterisk-13.7.0/main/asterisk.c:2092 (asterisk+0x0000002bb388)
#6 quit_handler /root/asterisk-13.7.0/main/asterisk.c:1929 (asterisk+0x0000002baac5)
#7 asterisk_daemon /root/asterisk-13.7.0/main/asterisk.c:4738 (asterisk+0x0000002ca84a)
#8 main /root/asterisk-13.7.0/main/asterisk.c:4282 (asterisk+0x0000002c93ad)
Thread T21 (tid=22744, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x000000027b07)
#1 ast_pthread_create_stack /root/asterisk-13.7.0/main/utils.c:1290 (asterisk+0x00000067e69e)
#2 default_listener_start /root/asterisk-13.7.0/main/taskprocessor.c:200 (asterisk+0x0000006455f8)
#3 __allocate_taskprocessor /root/asterisk-13.7.0/main/taskprocessor.c:611 (asterisk+0x000000648086)
#4 ast_taskprocessor_get /root/asterisk-13.7.0/main/taskprocessor.c:657 (asterisk+0x000000648273)
#5 internal_stasis_subscribe /root/asterisk-13.7.0/main/stasis.c:479 (asterisk+0x000000602b22)
#6 stasis_subscribe /root/asterisk-13.7.0/main/stasis.c:510 (asterisk+0x000000602e1b)
#7 stasis_message_router_create_internal /root/asterisk-13.7.0/main/stasis_message_router.c:230 (asterisk+0x00000062c40b)
#8 stasis_message_router_create /root/asterisk-13.7.0/main/stasis_message_router.c:243 (asterisk+0x00000062c505)
#9 manager_subscriptions_init /root/asterisk-13.7.0/main/manager.c:8512 (asterisk+0x00000051c976)
#10 subscribe_all /root/asterisk-13.7.0/main/manager.c:8531 (asterisk+0x00000051ca44)
#11 __init_manager /root/asterisk-13.7.0/main/manager.c:8788 (asterisk+0x00000051e4fb)
#12 init_manager /root/asterisk-13.7.0/main/manager.c:9084 (asterisk+0x000000520a3c)
#13 asterisk_daemon /root/asterisk-13.7.0/main/asterisk.c:4656 (asterisk+0x0000002ca324)
#14 main /root/asterisk-13.7.0/main/asterisk.c:4282 (asterisk+0x0000002c93ad)
SUMMARY: ThreadSanitizer: data race ??:0 pthread_mutex_destroy
==================
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list