Open Source Telephony
 help / color / mirror / Atom feed
From: Guillaume Zajac <guillaume.zajac@linux.intel.com>
To: ofono@ofono.org
Subject: Re: [PATCH] test-server:Add test of PPP disconnect reason
Date: Thu, 17 Feb 2011 18:21:31 +0100	[thread overview]
Message-ID: <4D5D591B.2020208@linux.intel.com> (raw)
In-Reply-To: <4D5D51D4.5010407@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2674 bytes --]

Hi Denis,

On 17/02/2011 17:50, Denis Kenzior wrote:
> Hi Guillaume,
>
> On 02/17/2011 10:37 AM, Guillaume Zajac wrote:
>> Hi Denis,
>>
>> On 17/02/2011 17:14, Denis Kenzior wrote:
>>> Hi Guillaume,
>>>
>>> On 02/17/2011 07:48 AM, Guillaume Zajac wrote:
>>>> ---
>>>>    gatchat/test-server.c |    6 ++++++
>>>>    1 files changed, 6 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/gatchat/test-server.c b/gatchat/test-server.c
>>>> index e574d64..c0a5a4d 100644
>>>> --- a/gatchat/test-server.c
>>>> +++ b/gatchat/test-server.c
>>>> @@ -137,6 +137,12 @@ static void
>>>> ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user)
>>>>        g_at_ppp_unref(ppp);
>>>>        ppp = NULL;
>>>>
>>>> +    if (reason == G_AT_PPP_REASON_NET_FAIL) {
>>> Don't you mean G_AT_PPP_REASON_LINK_DEAD?
>>>
>> In case of test-server, I didn't reproduce the crash with/without the
>> fix, I applied it to test server first as we don't have dial_cb for
>> emulator yet:
>>
>> I did ./gsmdial -i localhost -p 12346
>>
>> At the end of the exchange:
>> ppp_lcp_down_notify() is called
>> disconnect reason is G_AT_PPP_REASON_PEER_CLOSED
>> then the GAtServer is well resumed.
>>
> That is because gsmdial performs graceful shutdown, try killing the app
> with -9.
>
Right, I just tested it and the fix with:

if (reason == G_AT_PPP_REASON_LINK_DEAD) {
         g_at_server_unref(server);
         server = NULL;
         return;
     }

is avoiding the crash in case the telnet is killed after we do a ATD*99.
I will submit a new patch for fixing this crash.

>> In case of emulator (based on Gustavo/ZhenZhua dial_cb),
>> ppp_lcp_down_notify() is called but just after this one,
>> ppp_ipcp_up_notify() fails and sets disconnect reason to
>> G_AT_PPP_REASON_NET_FAIL.
> Then we probably have a bug.

Yes, I will try to investigate a bit more on this issue and the action 
to do.

>> Then we get a crash after ppp_disconnect because we call the hdlc write
>> handler e.g. can_write_data() into gathldc.c although we have unref the
>> PPP server.
>>
>> So I called ofono_emulator_remove() that will call the unref GAtServer
>> etc... when we get G_AT_PPP_REASON_NET_FAIL into ppp_disconnect
>>
>> I don't get G_AT_PPP_REASON_LINK_DEAD disconnect reason when emulator
>> crashes.
>>
>> So should we call ofono_emulator_remove()/GAtServer_unref() in both
>> disconnect reason cases?
>> Or is there a specific action to do when G_AT_PPP_REASON_NET_FAIL?
>>
> Not necessarily, NET_FAIL basically means the IPCP negotiation failed.
> It is not fatal.

Ok.

> Regards,
> -Denis
>
Kind regards,
Guillaume

      reply	other threads:[~2011-02-17 17:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-17 13:48 [PATCH] test-server:Add test of PPP disconnect reason Guillaume Zajac
2011-02-17 16:14 ` Denis Kenzior
2011-02-17 16:37   ` Guillaume Zajac
2011-02-17 16:50     ` Denis Kenzior
2011-02-17 17:21       ` Guillaume Zajac [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D5D591B.2020208@linux.intel.com \
    --to=guillaume.zajac@linux.intel.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox