Hi Denis,

I didn't know this was a surprise interrogation!

On Tue, Oct 23, 2018 at 6:50 PM Denis Kenzior <[email protected]> wrote:
>
> Hi Giacinto,
> >     0  0x0000563b1842b735 in call_watches
> > (atom=atom@entry=0x563b1a3f07d0,
> > cond=cond@entry=OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) at
> > src/modem.c:265
> >     1  0x0000563b1842c32e in __ofono_atom_unregister
> > (atom=atom@entry=0x563b1a3f07d0) at src/modem.c:299
> >     2  0x0000563b1842c3ff in __ofono_atom_unregister
> > (atom=0x563b1a3f07d0) at src/modem.c:296
> >     3  flush_atoms (modem=0x563b1a3f1f50,
> > new_state=MODEM_STATE_POWER_OFF) at src/modem.c:448
> >     4  modem_change_state (modem=0x563b1a3f1f50,
> > new_state=MODEM_STATE_POWER_OFF) at src/modem.c:529
> >     5  0x0000563b1842c577 in set_powered
> > (modem=modem@entry=0x563b1a3f1f50, powered=powered@entry=0) at
> > src/modem.c:915
> >     6  0x0000563b1842c863 in modem_unregister
> > (modem=modem@entry=0x563b1a3f1f50) at src/modem.c:2111
> >     7  0x0000563b1842e6a4 in ofono_modem_remove (modem=0x563b1a3f1f50)
> > at src/modem.c:2177
> >     8  0x0000563b183b05d3 in destroy_modem (data=0x563b1a3e50a0) at
> > plugins/udevng.c:1408
> >     9  0x00007f42b4bdd091 in ?? () from
> > /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
> >     10 0x0000563b183b561a in remove_device (device=0x563b1a401630) at
> > plugins/udevng.c:1468
> >     11 udev_event (channel=<optimized out>, cond=<optimized out>,
> > user_data=<optimized out>) at plugins/udevng.c:1991
> >     12 0x00007f42b4bef0f5 in g_main_context_dispatch () from
> > /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
> >     13 0x00007f42b4bef4c0 in ?? () from
> > /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
> >     14 0x00007f42b4bef7d2 in g_main_loop_run () from
> > /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
> >     15 0x0000563b183b0397 in main (argc=<optimized out>,
> > argv=<optimized out>) at src/main.c:294
> >
> > ?
>
> Yes, much better.  So now you can explain to me how you're triggering this.
>
> The only way modem->atom_watches is NULL is if ofono_modem_register
> failed.  So are you trying to use a modem object without registering it
> properly?

the problem is that I have moved location_information_create, along
with devinfo_create at the gemalto_enable() phase, because these two
are available also offline, and it is a normal use case to monitor the
GNSS signal while offline.
But when the modem is removed (unplugged or switched off), the
location_reporting atom is not removed, and the modem does not
disappear. devinfo goes away without any issue.

So in the gemalto_remove I have added:
   lratom = __ofono_modem_find_atom(modem,OFONO_ATOM_TYPE_LOCATION_REPORTING);
   if (lratom)
       __ofono_atom_free(lratom);

this works fine, but maybe the watch is already destroyed?

And the whole point is, I wouldn't have to do it manually. What is
missing in this atom?

>
> Regards,
> -Denis
>

Regards,
Giacinto
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to