[asterisk-bugs] [JIRA] (ASTERISK-25222) Crash in recurring cancel callback called from ast_dns_resolve_cancel on junk pointer
Richard Mudgett (JIRA)
noreply at issues.asterisk.org
Wed Jul 1 11:59:33 CDT 2015
[ https://issues.asterisk.org/jira/browse/ASTERISK-25222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on ASTERISK-25222 started by Richard Mudgett.
> Crash in recurring cancel callback called from ast_dns_resolve_cancel on junk pointer
> -------------------------------------------------------------------------------------
>
> Key: ASTERISK-25222
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25222
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/General
> Reporter: Matt Jordan
> Assignee: Richard Mudgett
> Attachments: consoleText
>
>
> This crash was caught by the Jenkins unit test runs on master. Note that {{rdata}} is clearly junk when it is passed to the recurring cancel callback:
> {code}
> [Thread debugging using libthread_db enabled]
> Core was generated by `asterisk -gn'.
> Program terminated with signal 11, Segmentation fault.
> #0 0x0000003b74e09220 in pthread_mutex_lock () from /lib64/libpthread.so.0
> #0 0x0000003b74e09220 in pthread_mutex_lock () from /lib64/libpthread.so.0
> No symbol table info available.
> #1 0x0000000000610b64 in __ast_pthread_mutex_lock (filename=0x7f25c3da943d "test_dns_recurring.c", lineno=177, func=0x7f25c3daa1a0 "recurring_cancel", mutex_name=0x7f25c3da9430 "&rdata->lock", t=0x100000020) at lock.c:313
> res = 32550
> #2 0x00007f25c3da610f in recurring_cancel (query=0x7f26000fc6d8) at test_dns_recurring.c:177
> recurring = 0x7f26000b3e70
> rdata = 0x100000000
> __PRETTY_FUNCTION__ = "recurring_cancel"
> #3 0x00000000005a4513 in ast_dns_resolve_cancel (active=0x7f260003f0c8) at dns_core.c:274
> No locals.
> #4 0x00000000005aa5f9 in ast_dns_resolve_recurring_cancel (recurring=0x7f2600077eb0) at dns_recurring.c:142
> res = 0
> __PRETTY_FUNCTION__ = "ast_dns_resolve_recurring_cancel"
> #5 0x00007f25c3da73de in recurring_query_cancel_between (info=0x1893200, cmd=TEST_EXECUTE, test=0x1893200) at test_dns_recurring.c:498
> recurring_query = 0x7f2600077eb0
> rdata = 0x7f26000b3e70
> res = AST_TEST_PASS
> timeout = {tv_sec = 139800176399744, tv_nsec = 7755535}
> __PRETTY_FUNCTION__ = "recurring_query_cancel_between"
> #6 0x000000000074c49c in test_execute (test=0x1893200) at test.c:253
> begin = {tv_sec = 1435690048, tv_usec = 654954}
> result = AST_TEST_NOT_RUN
> #7 0x000000000074cfbb in test_execute_multiple (name=0x0, category=0x0, cli=0x7f2618ce22d0) at test.c:371
> result_buf = "PASS", '\000' <repeats 27 times>
> test = 0x1893200
> mode = TEST_ALL
> execute = 1
> res = 0
> __PRETTY_FUNCTION__ = "test_execute_multiple"
> #8 0x000000000074fa31 in test_cli_execute_registered (e=0xb0f3a8, cmd=-4, a=0x7f2618ce22d0) at test.c:833
> option1 = {0x87abdd "all", 0x87b5d6 "category", 0x0}
> option2 = {0x87abe1 "name", 0x0}
> __PRETTY_FUNCTION__ = "test_cli_execute_registered"
> #9 0x000000000055e533 in ast_cli_command_full (uid=1021, gid=100, fd=12, s=0x7f2618ce25e0 "test execute all") at cli.c:2715
> args = {0xb0f3a8 "\260<K\001", 0x7f26000011b0 "test", 0x7f26000011b5 "execute", 0x7f26000011bd "all", 0x0 <repeats 33 times>, 0x3b742092a6 "\205\300uNH\211\330H\213l$ H\213\\$\030L\213d$(L\213l$0H\203\304\070\303f.\017\037\204", 0x3230343032000000 <Address 0x3230343032000000 out of bounds>, 0x7f2618ce2530 "\210\021Bt;", 0x0, 0x7f2618ce2530 "\210\021Bt;", 0x23 <Address 0x23 out of bounds>, 0x1717a40 "\220J\224\001", 0x3000000018 <Address 0x3000000018 out of bounds>, 0x7f2618ce2810 "", 0x7f2618ce2750 "", 0x1ddb513 "m_alloc", 0x28 <Address 0x28 out of bounds>, 0x3b74a02870 "\350DmwK\217}\365", 0x0, 0x7f2618ce26b0 "\003", 0x3b74a03c48 "", 0x3b74a09048 "\216*", 0x0, 0x42a2d5 "e_object_via_lookup_nolock", 0x10 <Address 0x10 out of bounds>, 0x3b74e00b28 "P\265\250\020\003\v\202\260\344\236", 0x0, 0x7f2618ce26f0 "", 0x3b74421188 "", 0x0, 0x7f261a6a57c8 "A\306B", 0x7f261a6a94d0 "", 0x41b302 "getsockopt"}
> e = 0xb0f3a8
> x = 3
> duplicate = 0x7f26000011b0 "test"
> tmp = "test execute all\000ted", '\000' <repeats 44 times>
> retval = 0x2 <Address 0x2 out of bounds>
> a = {fd = 12, argc = 3, argv = 0x7f2618ce2358, line = 0x0, word = 0x0, pos = 0, n = 0}
> __PRETTY_FUNCTION__ = "ast_cli_command_full"
> {code}
> Full Jenkins test run attached. See the link for more information.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list