Hi

I run connman with gdb and I tried to get the backtrace, it wasn't very
useful because it crash in different place all time. It try to access to
use the dhcp in the IPv4 for the Ethernet interface, but the structure is
gone it make signal 11 (segmentation fault) or signal 10 (error the use the
BUS) when it try to use the socket in IPv4 for the Ethernet. It's logical
because it depend if the memory was reused or not in the moment of the
access to this elements.

In conclusion, the crash is for using element was removed in the first
change (step 4). Connman use the Ethernet like it was connected to IPv4 and
IPv6, but the IPv4 was freed before.

Thanks very much,

Alejandro Abejon

Alejandro Abejon

Software Developer in Digisoft.tv

On 14 August 2015 at 12:34, Patrik Flykt <[email protected]>
wrote:

>
>         Hi,
>
> On Tue, 2015-08-11 at 09:16 +0100, Alejandro Gonzalez wrote:
> > Hi,
> >
> > I found  a issue in the last version of the connmand in the repository
> > (commit 4227576726725a2c5f0e8c271769fbf0765b5b54 Wed Jul 29 16:23:25 2015
> > +0300) , but I detected it from the 1.28 version.
> >
> > The devices is compiled for mipsel, it is compiled with the flag "
> > --enable-pie". The OS is yocto.
> >
> > The configuration files  has this option:
> > [General]
> > InputRequestTimeout=3600
> > BackgroundScanning=false
> > DefaultAutoConnectTechnologies=
> > *SingleConnectedTechnology=true*
> >
> > The connection wit Ethernet is configured wit the auto connect. The
> problem
> > came when i try to switch from the WiFi to the Ethernet. I observed form
> > the trace this steps in the process:
> >
> > There is a issue with the *SingleConnectedTechnology= true* in connman.
> The
> > process in connman for switch between Ethernet and WiFi follow these
> steps:
> >
> >    1. It is connected to one technology e.g Ethernet.
> >    2. It connects to the other technology in this example WiFi. All
> >    parameters from the new network are configured. In this moment the
> devices
> >    has two connection.
> >    3. it has a two connection, so the function single_connected_tech is
> >    called and it keeps the WiFi network and disconnect the Ethernet
> service:
> >
> >    connmand[24386]: src/service.c:single_connected_tech() keeping
> > 0x556afe20
> /net/connman/service/wifi_7cdd907e2a65_4469676957494649_managed_psk
> >    connmand[24386]: src/service.c:single_connected_tech()
> > disconnecting 0x556addd0
> > /net/connman/service/ethernet_0016e84dcaab_cable
> >
> >
> >    4. The Ethernet service is disconnected and removed his configuration.
> >    However there is a moment where Ethernet is disconnect for the IPv4
> and the
> >    IPv6 is ready. it declares itself ready. It happens always in the
> >    disconnect process when the network has IPv4 and IPv6.
> >
> >    connmand[24386]: src/service.c:service_indicate_state() service
> > 0x556addd0 old online - new disconnect/ready => ready
> >
> >    5. The devices has again two technology, so single_connected_tech is
> >    called again. However, the ethernet connection is kept now, because
> it is
> >    the last network is connected
> >
> >    connmand[24386]: src/service.c:single_connected_tech() keeping
> > 0x556addd0 /net/connman/service/ethernet_0016e84dcaab_cable
> >    connmand[24386]: src/service.c:single_connected_tech()
> > disconnecting 0x556afe20
> > /net/connman/service/wifi_7cdd907e2a65_4469676957494649_managed_psk
> >
> >    6. Connman crashes because it try to use the Ethernet network but it
> was
> >    removed partially.
>
> I enabled SingleConnectedTechnology and switched likewise from Ethernet
> to WiFi, but could not trigger a crash with upstream. Did ConnMan print
> a backtrace, and if so what does it look like?
>
> Cheers,
>
>         Patrik
>
> _______________________________________________
> connman mailing list
> [email protected]
> https://lists.connman.net/mailman/listinfo/connman
>
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to