[asterisk-bugs] [JIRA] (ASTERISK-29698) Segfault if sorcery object_lifetime_maximum and qualify_frequency the same value

Alexei Gradinari (JIRA) noreply at issues.asterisk.org
Tue Nov 9 15:44:50 CST 2021


    [ https://issues.asterisk.org/jira/browse/ASTERISK-29698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=256827#comment-256827 ] 

Alexei Gradinari commented on ASTERISK-29698:
---------------------------------------------

I tried to run on test server with refdebug = yes and on startup got another segfault in __ao2_ref

astobj2.c:658
if (ref_log && !(obj->priv_data.options & AO2_ALLOC_OPT_NO_REF_DEBUG)) {

but obj is already freed, look at line 642
ast_free(obj);

Should I create a new issue or you'll do it?


> Segfault if sorcery object_lifetime_maximum and qualify_frequency the same value
> --------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29698
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29698
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip, Resources/res_sorcery_memory_cache
>    Affects Versions: 16.21.1
>            Reporter: Alexei Gradinari
>            Assignee: Unassigned
>         Attachments: bt2.txt, bt.txt, core-brief.txt, core-full.txt, core-locks.txt, core-thread1.txt
>
>
> sorcery.conf:
> [res_pjsip]
> endpoint=realtime,ps_endpoints
> endpoint/cache=memory_cache,maximum_objects=3000,expire_on_reload=yes,object_lifetime_maximum=30
> aor=realtime,ps_aors
> aor/cache=memory_cache,maximum_objects=3000,expire_on_reload=yes,object_lifetime_maximum=30
> The endpoint with aor's static contact and qualify_frequency = 30
> I think one thread 'sorcery_memory_cache' clears cache due to expiry
> and another thread 'pjsip_options' uses the same cache object which is already freed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list