[Asterisk-code-review] res pjsip history: Add a module that provides PJSIP history ... (asterisk[13])

Matt Jordan asteriskteam at digium.com
Wed Dec 23 15:43:41 CST 2015


Matt Jordan has posted comments on this change.

Change subject: res_pjsip_history: Add a module that provides PJSIP history for debugging
......................................................................


Patch Set 4:

> > SEGV when clearing history
 > >
 > > #0  0x00007fa9d5617a98 in __GI_raise (sig=sig at entry=6) at
 > > ../sysdeps/unix/sysv/linux/raise.c:55
 > > resultvar = 0
 > > pid = 13507
 > > selftid = 13562
 > > #1  0x00007fa9d561969a in __GI_abort () at abort.c:89
 > > save_stage = 2
 > > act =
 > > {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4},
 > > sa_mask = {__val = {15, 100, 140367316922624, 1275070859,
 > > 140367459373056, 140367317571352, 692, 140367317572008,
 > > 140364163543680, 6236192, 140367406460108, 140367407534744,
 > > 140367407541920, 140365101272272, 2048, 140367407522878}},
 > sa_flags
 > > = -661794816, sa_restorer = 0x7fa9d01a1718}
 > > sigs = {__val = {32, 0 <repeats 15 times>}}
 > > #2  0x00007fa9d5610227 in __assert_fail_base (fmt=<optimized
 > out>,
 > > assertion=assertion at entry=0x7fa9d01a1718 "!\"Calling pjlib from
 > > unknown/external thread. You must \" \"register external threads
 > > with pj_thread_register() \" \"before calling any pjlib
 > > functions.\"", file=file at entry=0x7fa9d01a1593 "../src/pj/os_core_unix.c",
 > > line=line at entry=692, function=function at entry=0x7fa9d01a19a8
 > > <__PRETTY_FUNCTION__.5828> "pj_thread_this") at assert.c:92
 > > str = 0x7fa94c000d40 "p\016"
 > > total = 4096
 > > #3  0x00007fa9d56102d2 in __GI___assert_fail (assertion=0x7fa9d01a1718
 > > "!\"Calling pjlib from unknown/external thread. You must \"
 > > \"register external threads with pj_thread_register() \" \"before
 > > calling any pjlib functions.\"", file=0x7fa9d01a1593
 > > "../src/pj/os_core_unix.c", line=692, function=0x7fa9d01a19a8
 > > <__PRETTY_FUNCTION__.5828> "pj_thread_this") at assert.c:101
 > > #4  0x00007fa9d0190229 in  () at /lib64/libpj.so.2
 > > #5  0x00007fa9d01903fd in pj_mutex_lock () at /lib64/libpj.so.2
 > > #6  0x00007fa9d0198658 in cpool_release_pool () at
 > > /lib64/libpj.so.2
 > > #7  0x00007fa913fb0c55 in pjsip_history_entry_dtor
 > > (obj=0x7fa94400e560) at res_pjsip_history.c:608
 > > entry = 0x7fa94400e560
 > > #8  0x0000000000459d22 in __ao2_ref (func=<synthetic pointer>,
 > > line=516, file=0x5fc6eb "astobj2.c", delta=-1, user_data=<optimized
 > > out>)
 > > at astobj2.c:445
 > > obj_mutex = <optimized out>
 > > obj_rwlock = <optimized out>
 > > current_value = 0
 > > #9  0x0000000000459d22 in __ao2_ref (user_data=0x7fa94400e560,
 > > delta=delta at entry=-1) at astobj2.c:516
 > > #10 0x00007fa913fb1199 in pjsip_set_history (entry=<optimized
 > out>)
 > > at res_pjsip_history.c:709
 > > idx = 0
 > > what = <optimized out>
 > > #11 0x00007fa913fb1199 in pjsip_set_history () at
 > res_pjsip_history.c:716
 > > idx = 0
 > > what = <optimized out>
 > > #12 0x00007fa913fb1199 in pjsip_set_history (e=<optimized out>,
 > > cmd=<optimized out>, a=0x7fa9d0103330) at res_pjsip_history.c:1281
 > > what = <optimized out>
 > > #13 0x00000000004d0b71 in ast_cli_command_full (uid=uid at entry=1004,
 > > gid=gid at entry=500, fd=fd at entry=15, s=s at entry=0x7fa9d0103630
 > "pjsip
 > > set history clear") at cli.c:2723
 > > args =
 > > {0x7fa9141b7260 <cli_pjsip> "\240\273\"\001", 0x7fa94c0014e0
 > > "pjsip", 0x7fa94c0014e6 "set", 0x7fa94c0014ea "history",
 > > 0x7fa94c0014f2 "clear", 0x0 <repeats 36 times>, 0x7fa9d889d374
 > > <check_match+228> "\211\302H\211؅\322t\330\353\301\220H\205\300t͋T$0D\211\341\301\341\036\301\371\037\203\301\003\017\267\024PH\211؉ց\346\377\177",
 > > 0x0, 0x7fa9d889d374 <check_match+228> "\211\302H\211؅\322t\330\353\301\220H\205\300t͋T$0D\211\341\301\341\036\301\371\037\203\301\003\017\267\024PH\211؉ց\346\377\177",
 > > 0x7fa9d63a2b28 "P\265\250\020\003\v\202\260\366\062\254\237",
 > > <incomplete sequence \345\236>, 0x7fa9d8a5f9a0 "", 0x7fa9d55e58d4
 > > "\350DmwK\217}\365\260\037\313\376\001\062\215\062\061\363\360UD\366H\023\v\222\210\353\026\337l\\\214w\035Oc\241V\216\244\275s\r\207\037\205\374\320\353㝀\020ؽ{\350V\216\366\247\333\001y\213\207---Type
 > > <retur
 > 
 > oooo. Cool.
 > 
 > How did you do that?

Ah, nevermind. I see it here:

#3 0x00007fa9d56102d2 in __GI___assert_fail (assertion=0x7fa9d01a1718 "!\"Calling pjlib from unknown/external thread. You must \" \"register external threads with pj_thread_register() \" \"before calling any pjlib functions.\"", file=0x7fa9d01a1593

I'm not sure, but I suspect I'm running without assertions enabled. I'll have to re-enable and check a few different areas.

-- 
To view, visit https://gerrit.asterisk.org/1849
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I39bd74ce998e99ad5ebc0aab3e84df3a150f8e36
Gerrit-PatchSet: 4
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Matt Jordan <mjordan at digium.com>
Gerrit-Reviewer: George Joseph <george.joseph at fairview5.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
Gerrit-HasComments: No



More information about the asterisk-code-review mailing list