[Freeswitch-dev] Skypopen segfault

Anton VG anton.vazir at gmail.com
Sat May 21 14:40:27 MSD 2011


Be sure I will :)
Thanks Man!

2011/5/21 Giovanni Maruzzelli <gmaruzz at gmail.com>:
> No need for a Jira, because I fixed it in git.
>
> It's not related to network.
>
> A skype interface was receiving a DTMF without a channel on it. That
> was causing a segfault (my code expected a channel).
>
> Now it will not segfault anymore, it will just give a warning.
>
> I was curious why there was no channel. Maybe a channel was destroyed
> (hangup, cancel, etc) at the same time the skype client was getting
> the dtmf...
>
> Anyway, is fixed now. Please update to latest git.
>
> Please keep up reporting bugs and issues, that's the way to have an
> ever improving software.
>
> Thanks,
> -giovanni
>
>
> On 5/21/11, Anton VG <anton.vazir at gmail.com> wrote:
>> Do you still want me to post a JIRA issue, regardles absence of
>> gudelines of it's reproduction?
>>
>> 2011/5/21 Anton VG <anton.vazir at gmail.com>:
>>> Problem it's not easy to reproduce that. I't working on production PC,
>>> as a skype gateway to an asterisk host, serving a bunch of users.
>>> As per recommendations, after the first segfault I've recompiled the
>>> FS with no optimization, and dumping the core. Not sure That I can
>>> produce guidelines to reproduce the given.
>>> Since I have the core, we can trace it deeper, though. I can add that
>>> it happen already 5-6 times, and maybe related to fail of the network
>>> link to neighboring ASTERISK box, while in conversation. But anyway
>>> not sure though. Atleast once it failed without any network failure,
>>> with similar backtrace. Seems it's necessary to analyze the
>>> segfaulting function.
>>>
>>> 2011/5/21 Giovanni Maruzzelli <gmaruzz at gmail.com>:
>>>> Anyway, I just added some guards that will avoid the crashes, but I
>>>> would still very interested in the procedure to replicate the problem.
>>>>
>>>> Please, let me know how you got this problem, also if it does not bite
>>>> you again.
>>>>
>>>> commit 2146583663a5067f6ff71df1e48c3bb900e89db8
>>>> Author: Giovanni Maruzzelli <gmaruzz at gmail.com>
>>>> Date:   Sat May 21 02:45:39 2011 -0500
>>>>
>>>>    skypopen: adding some guards against NULL sessions and channels
>>>>
>>>> commit 7fa3f7f3dd484a0f9688b9df1fc55e093e6d27f0
>>>> Author: Giovanni Maruzzelli <gmaruzz at gmail.com>
>>>> Date:   Sat May 21 02:36:51 2011 -0500
>>>>
>>>>    skypopen: fixing bug from Anton VG, adding some guards against
>>>> NULL sessions and channels
>>>>
>>>>
>>>> -giovanni
>>>>
>>>> On Sat, May 21, 2011 at 9:27 AM, Giovanni Maruzzelli <gmaruzz at gmail.com>
>>>> wrote:
>>>>> Please open a Jira issue with all related info, particularly how to
>>>>> reproduce this bug and a debug listing.
>>>>>
>>>>> Important is that you give a clear way to reproduce the bug, ie: a
>>>>> step by step way to have the same result (crash in this case).
>>>>>
>>>>> -giovanni
>>>>>
>>>>> On Sat, May 21, 2011 at 9:12 AM, Anton VG <anton.vazir at gmail.com> wrote:
>>>>>> Giovanny, I've got several segfaults of FS,
>>>>>> seems they belongs to SKYPOPEN
>>>>>>
>>>>>>
>>>>>> Core was generated by `./freeswitch -core -nc'.
>>>>>> Program terminated with signal 11, Segmentation fault.
>>>>>> #0  0x00007f53e7234028 in switch_core_session_get_channel
>>>>>> (session=0x0) at src/switch_core_session.c:1082
>>>>>> 1082            switch_assert(session->channel);
>>>>>> (gdb) bt full
>>>>>> #0  0x00007f53e7234028 in switch_core_session_get_channel
>>>>>> (session=0x0) at src/switch_core_session.c:1082
>>>>>>        __PRETTY_FUNCTION__ = "switch_core_session_get_channel"
>>>>>> #1  0x00007f53ce23dd0a in dtmf_received (tech_pvt=0x7f53ce470af0,
>>>>>> value=0x7f53cd8c6560 "2") at mod_skypopen.c:2138
>>>>>>        session = 0x0
>>>>>>        channel = 0x0
>>>>>>        __func__ = "dtmf_received"
>>>>>> #2  0x00007f53ce24a1dd in skypopen_signaling_read
>>>>>> (tech_pvt=0x7f53ce470af0) at skypopen_protocol.c:537
>>>>>>        read_from_pipe = "CALL 41977 DTMF 2", '\000' <repeats 4078
>>>>>> times>
>>>>>>        message = "CALL\000\064\061\071\067\067\000DTMF\000\062",
>>>>>> '\000' <repeats 4078 times>
>>>>>>        message_2 = "CALL 41977 DTMF 2", '\000' <repeats 4078 times>
>>>>>>        buf = 0x0
>>>>>>        obj = "CALL", '\000' <repeats 507 times>
>>>>>>        id = "41977", '\000' <repeats 506 times>
>>>>>>        prop = "DTMF", '\000' <repeats 507 times>
>>>>>>        value = "2", '\000' <repeats 510 times>
>>>>>>        where = 0x0
>>>>>>        stringp = 0x7f53cd8c6d68
>>>>>>        a = 18
>>>>>>        howmany = 18
>>>>>>        i = 17
>>>>>>        __func__ = "skypopen_signaling_read"
>>>>>> #3  0x00007f53ce236c65 in skypopen_signaling_thread_func
>>>>>> (thread=0x7f53d80a6378, obj=0x7f53ce470af0) at mod_skypopen.c:1399
>>>>>>        tech_pvt = 0x7f53ce470af0
>>>>>>        res = 0
>>>>>>        forever = 1
>>>>>>        event = 0x0
>>>>>>        __func__ = "skypopen_signaling_thread_func"
>>>>>> #4  0x00007f53e72e1317 in dummy_worker (opaque=0x7f53d80a6378) at
>>>>>> threadproc/unix/thread.c:138
>>>>>>        thread = 0x7f53d80a6378
>>>>>> #5  0x00007f53e67628ba in start_thread () from /lib/libpthread.so.0
>>>>>> No symbol table info available.
>>>>>> #6  0x00007f53e5c8e02d in clone () from /lib/libc.so.6
>>>>>> No symbol table info available.
>>>>>> #7  0x0000000000000000 in ?? ()
>>>>>> No symbol table info available.
>>>>>> (gdb)
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sincerely,
>>>>>
>>>>> Giovanni Maruzzelli
>>>>> Cell : +39-347-2665618
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sincerely,
>>>>
>>>> Giovanni Maruzzelli
>>>> Cell : +39-347-2665618
>>>>
>>>
>>
>
> --
> Sent from my mobile device
>
> Sincerely,
>
> Giovanni Maruzzelli
> Cell : +39-347-2665618
>



More information about the FreeSWITCH-dev mailing list