Open Source Telephony
 help / color / mirror / Atom feed
* Re: qmi on huawei
  2012-11-26 15:32 qmi on huawei Cedric Jehasse
@ 2012-11-26 15:30 ` Marcel Holtmann
  2012-11-26 16:42   ` Cedric Jehasse
  0 siblings, 1 reply; 6+ messages in thread
From: Marcel Holtmann @ 2012-11-26 15:30 UTC (permalink / raw)
  To: ofono

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

Hi Cedric,

> I have a Huawei E398 dongle with a qmi interface, and i'm trying to make
> ofono use the qmi interface for the gprs-context atom. I have this working,
> but depending on how i unref the qmi_device in huawei_disable, ofono
> crashes or there's have a memory leak.
> 
> The first approach i've tried is the same as in the gobi plugin.
> I call qmi_device_shutdown() from huawei_disable(), and unref the
> qmi_device from the callback.
> The problem with this is: when i unplug the device ofono crashes.
> When the device is unplugged, first  huawei_disable() is called, then
> huawei_remove(), and
> afterwards shutdown_cb() is called. At that time the ofono_modem struct is
> already freed, shutdown_cb() tries to access it and crashes.
> 
> The second approach i've tried is to unref the qmi_device directly from
> huawei_disable.
> With this approach, i see a memory leak of the qmi_service.
> qmi_gprs_context_remove() is being called from flush_atoms(). And i can see
> release_client() is being called. But the service_release_callback(), which
> should free the service, is never being called.
> I think the request get's canceled because qmi_device_unref() is being
> called from huawei_disable(). The request is destroyed and the callback
> which should free the qmi_service is never called.
> 
> Does anyone have thoughts/ideas on how i can fix this?

actually what I am doing with the E398 is just to switch the driver to
"gobi" instead of "huawei". For testing you can just hardcode it.

diff --git a/plugins/udevng.c b/plugins/udevng.c
index afb02ca..53b12b3 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -338,6 +338,9 @@ static gboolean setup_huawei(struct modem_info *modem)
                }
        }
 
+       qmi = "/dev/cdc-wdm0";
+       net = "wwan0";
+
        if (qmi != NULL && net != NULL) {
                ofono_modem_set_driver(modem->modem, "gobi");
                goto done;

The ofono.git HEAD already sets the driver, but the qmi and net
detection is not always correct. So just overwrite the values for the
device nodes and see if that works for you.

Regards

Marcel



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* qmi on huawei
@ 2012-11-26 15:32 Cedric Jehasse
  2012-11-26 15:30 ` Marcel Holtmann
  0 siblings, 1 reply; 6+ messages in thread
From: Cedric Jehasse @ 2012-11-26 15:32 UTC (permalink / raw)
  To: ofono

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

Hi,

I have a Huawei E398 dongle with a qmi interface, and i'm trying to make
ofono use the qmi interface for the gprs-context atom. I have this working,
but depending on how i unref the qmi_device in huawei_disable, ofono
crashes or there's have a memory leak.

The first approach i've tried is the same as in the gobi plugin.
I call qmi_device_shutdown() from huawei_disable(), and unref the
qmi_device from the callback.
The problem with this is: when i unplug the device ofono crashes.
When the device is unplugged, first  huawei_disable() is called, then
huawei_remove(), and
afterwards shutdown_cb() is called. At that time the ofono_modem struct is
already freed, shutdown_cb() tries to access it and crashes.

The second approach i've tried is to unref the qmi_device directly from
huawei_disable.
With this approach, i see a memory leak of the qmi_service.
qmi_gprs_context_remove() is being called from flush_atoms(). And i can see
release_client() is being called. But the service_release_callback(), which
should free the service, is never being called.
I think the request get's canceled because qmi_device_unref() is being
called from huawei_disable(). The request is destroyed and the callback
which should free the qmi_service is never called.

Does anyone have thoughts/ideas on how i can fix this?

Below are the changes to the huawei plugin to add qmi support (other
patches are needed to make it work, but they're not relevant to this issue).

Thanks,
Cedric

diff --git a/plugins/huawei.c b/plugins/huawei.c
index 5d8875a..7003760 100644
--- a/plugins/huawei.c
+++ b/plugins/huawei.c
@@ -26,6 +26,8 @@
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
+#include <fcntl.h>
+#include <unistd.h>

 #include <glib.h>
 #include <gatchat.h>
@@ -57,6 +59,10 @@
 #include <drivers/atmodem/atutil.h>
 #include <drivers/atmodem/vendor.h>

+#include <drivers/qmimodem/qmi.h>
+#include <drivers/qmimodem/dms.h>
+#include <drivers/qmimodem/util.h>
+
 static const char *none_prefix[] = { NULL };
 static const char *gcap_prefix[] = { "+GCAP:", NULL };
 static const char *rfswitch_prefix[] = { "^RFSWITCH:", NULL };
@@ -78,6 +84,7 @@ enum {
 struct huawei_data {
        GAtChat *modem;
        GAtChat *pcui;
+       struct qmi_device *device;
        gboolean have_sim;
        int sim_state;
        guint sysinfo_poll_source;
@@ -120,6 +127,7 @@ static void huawei_remove(struct ofono_modem *modem)

        /* Cleanup after hot-unplug */
        g_at_chat_unref(data->pcui);
+       qmi_device_unref(data->device);

        g_free(data);
 }
@@ -577,6 +585,36 @@ static GAtChat *open_device(struct ofono_modem *modem,
        return chat;
 }

+static struct qmi_device *open_qmi_device(struct ofono_modem *modem,
+                                       const char *key, char *debug)
+
+{
+       const char *device;
+       struct qmi_device *qmi_device;
+       int fd;
+
+       device = ofono_modem_get_string(modem, key);
+       if (device == NULL)
+               return NULL;
+       DBG("%s %s", key, device);
+
+       fd = open(device, O_RDWR | O_NONBLOCK | O_CLOEXEC);
+       if (fd < 0)
+               return NULL;
+
+       qmi_device = qmi_device_new(fd);
+       if (!qmi_device) {
+               close(fd);
+               return NULL;
+       }
+       if (getenv("OFONO_QMI_DEBUG"))
+               qmi_device_set_debug(qmi_device, huawei_debug, debug);
+
+       qmi_device_set_close_on_unref(qmi_device, true);
+       return qmi_device;
+
+}
+
 static int huawei_enable(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);
@@ -594,6 +632,8 @@ static int huawei_enable(struct ofono_modem *modem)
                return -EIO;
        }

+       data->device = open_qmi_device(modem, "Device", "QMI: ");
+
        g_at_chat_set_slave(data->modem, data->pcui);

        g_at_chat_send(data->modem, "ATE0 +CMEE=1", NULL, NULL, NULL, NULL);
@@ -622,6 +662,17 @@ static void cfun_disable(gboolean ok, GAtResult
*result, gpointer user_data)
                ofono_modem_set_powered(modem, FALSE);
 }

+static void qmi_shutdown_cb(void *user_data)
+{
+       struct ofono_modem *modem = user_data;
+       struct huawei_data *data = ofono_modem_get_data(modem);
+
+       DBG("");
+
+       qmi_device_unref(data->device);
+       data->device = NULL;
+}
+
 static int huawei_disable(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);
@@ -646,9 +697,14 @@ static int huawei_disable(struct ofono_modem *modem)
                data->online_cbd = NULL;
        }

+       if (data->device) {
+               qmi_device_unref(data->device);
+               data->device = NULL;
+       //      qmi_device_shutdown(data->device, qmi_shutdown_cb, modem,
NULL);
+       }
+
        g_at_chat_send(data->pcui, "AT+CFUN=0", none_prefix,
                                        cfun_disable, modem, NULL);
-
        return -EINPROGRESS;
 }

@@ -804,6 +860,7 @@ static void huawei_post_sim(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);

+
        DBG("%p", modem);

        if (data->have_voice == TRUE) {
@@ -822,11 +879,15 @@ static void huawei_post_sim(struct ofono_modem *modem)

                ofono_sms_create(modem, OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->pcui);
-
                gprs = ofono_gprs_create(modem, OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->pcui);
-               gc = ofono_gprs_context_create(modem, 0,
+               if (data->device == NULL) {
+                       gc = ofono_gprs_context_create(modem,
OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->modem);
+               } else {
+                       gc = ofono_gprs_context_create(modem, 0,
+                                               "qmimodem", data->device);
+               }

                if (gprs && gc)
                        ofono_gprs_add_context(gprs, gc);

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 8130 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* qmi on huawei
@ 2012-11-26 15:32 Cedric Jehasse
  0 siblings, 0 replies; 6+ messages in thread
From: Cedric Jehasse @ 2012-11-26 15:32 UTC (permalink / raw)
  To: ofono

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

Hi,

I have a Huawei E398 dongle with a qmi interface, and i'm trying to make
ofono use the qmi interface for the gprs-context atom. I have this working,
but depending on how i unref the qmi_device in huawei_disable, ofono
crashes or there's have a memory leak.

The first approach i've tried is the same as in the gobi plugin.
I call qmi_device_shutdown() from huawei_disable(), and unref the
qmi_device from the callback.
The problem with this is: when i unplug the device ofono crashes.
When the device is unplugged, first  huawei_disable() is called, then
huawei_remove(), and
afterwards shutdown_cb() is called. At that time the ofono_modem struct is
already freed, shutdown_cb() tries to access it and crashes.

The second approach i've tried is to unref the qmi_device directly from
huawei_disable.
With this approach, i see a memory leak of the qmi_service.
qmi_gprs_context_remove() is being called from flush_atoms(). And i can see
release_client() is being called. But the service_release_callback(), which
should free the service, is never being called.
I think the request get's canceled because qmi_device_unref() is being
called from huawei_disable(). The request is destroyed and the callback
which should free the qmi_service is never called.

Does anyone have thoughts/ideas on how i can fix this?

Below are the changes to the huawei plugin to add qmi support (other
patches are needed to make it work, but they're not relevant to this issue).

Thanks,
Cedric

diff --git a/plugins/huawei.c b/plugins/huawei.c
index 5d8875a..7003760 100644
--- a/plugins/huawei.c
+++ b/plugins/huawei.c
@@ -26,6 +26,8 @@
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
+#include <fcntl.h>
+#include <unistd.h>

 #include <glib.h>
 #include <gatchat.h>
@@ -57,6 +59,10 @@
 #include <drivers/atmodem/atutil.h>
 #include <drivers/atmodem/vendor.h>

+#include <drivers/qmimodem/qmi.h>
+#include <drivers/qmimodem/dms.h>
+#include <drivers/qmimodem/util.h>
+
 static const char *none_prefix[] = { NULL };
 static const char *gcap_prefix[] = { "+GCAP:", NULL };
 static const char *rfswitch_prefix[] = { "^RFSWITCH:", NULL };
@@ -78,6 +84,7 @@ enum {
 struct huawei_data {
        GAtChat *modem;
        GAtChat *pcui;
+       struct qmi_device *device;
        gboolean have_sim;
        int sim_state;
        guint sysinfo_poll_source;
@@ -120,6 +127,7 @@ static void huawei_remove(struct ofono_modem *modem)

        /* Cleanup after hot-unplug */
        g_at_chat_unref(data->pcui);
+       qmi_device_unref(data->device);

        g_free(data);
 }
@@ -577,6 +585,36 @@ static GAtChat *open_device(struct ofono_modem *modem,
        return chat;
 }

+static struct qmi_device *open_qmi_device(struct ofono_modem *modem,
+                                       const char *key, char *debug)
+
+{
+       const char *device;
+       struct qmi_device *qmi_device;
+       int fd;
+
+       device = ofono_modem_get_string(modem, key);
+       if (device == NULL)
+               return NULL;
+       DBG("%s %s", key, device);
+
+       fd = open(device, O_RDWR | O_NONBLOCK | O_CLOEXEC);
+       if (fd < 0)
+               return NULL;
+
+       qmi_device = qmi_device_new(fd);
+       if (!qmi_device) {
+               close(fd);
+               return NULL;
+       }
+       if (getenv("OFONO_QMI_DEBUG"))
+               qmi_device_set_debug(qmi_device, huawei_debug, debug);
+
+       qmi_device_set_close_on_unref(qmi_device, true);
+       return qmi_device;
+
+}
+
 static int huawei_enable(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);
@@ -594,6 +632,8 @@ static int huawei_enable(struct ofono_modem *modem)
                return -EIO;
        }

+       data->device = open_qmi_device(modem, "Device", "QMI: ");
+
        g_at_chat_set_slave(data->modem, data->pcui);

        g_at_chat_send(data->modem, "ATE0 +CMEE=1", NULL, NULL, NULL, NULL);
@@ -622,6 +662,17 @@ static void cfun_disable(gboolean ok, GAtResult
*result, gpointer user_data)
                ofono_modem_set_powered(modem, FALSE);
 }

+static void qmi_shutdown_cb(void *user_data)
+{
+       struct ofono_modem *modem = user_data;
+       struct huawei_data *data = ofono_modem_get_data(modem);
+
+       DBG("");
+
+       qmi_device_unref(data->device);
+       data->device = NULL;
+}
+
 static int huawei_disable(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);
@@ -646,9 +697,14 @@ static int huawei_disable(struct ofono_modem *modem)
                data->online_cbd = NULL;
        }

+       if (data->device) {
+               qmi_device_unref(data->device);
+               data->device = NULL;
+       //      qmi_device_shutdown(data->device, qmi_shutdown_cb, modem,
NULL);
+       }
+
        g_at_chat_send(data->pcui, "AT+CFUN=0", none_prefix,
                                        cfun_disable, modem, NULL);
-
        return -EINPROGRESS;
 }

@@ -804,6 +860,7 @@ static void huawei_post_sim(struct ofono_modem *modem)
 {
        struct huawei_data *data = ofono_modem_get_data(modem);

+
        DBG("%p", modem);

        if (data->have_voice == TRUE) {
@@ -822,11 +879,15 @@ static void huawei_post_sim(struct ofono_modem *modem)

                ofono_sms_create(modem, OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->pcui);
-
                gprs = ofono_gprs_create(modem, OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->pcui);
-               gc = ofono_gprs_context_create(modem, 0,
+               if (data->device == NULL) {
+                       gc = ofono_gprs_context_create(modem,
OFONO_VENDOR_HUAWEI,
                                                "atmodem", data->modem);
+               } else {
+                       gc = ofono_gprs_context_create(modem, 0,
+                                               "qmimodem", data->device);
+               }

                if (gprs && gc)
                        ofono_gprs_add_context(gprs, gc);

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 8130 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: qmi on huawei
  2012-11-26 15:30 ` Marcel Holtmann
@ 2012-11-26 16:42   ` Cedric Jehasse
  2012-11-26 16:42     ` Marcel Holtmann
  0 siblings, 1 reply; 6+ messages in thread
From: Cedric Jehasse @ 2012-11-26 16:42 UTC (permalink / raw)
  To: ofono

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

Hi Marcel,


> The ofono.git HEAD already sets the driver, but the qmi and net
> detection is not always correct. So just overwrite the values for the
> device nodes and see if that works for you.
>
> Thanks for the suggestion, i started on this before this change was
commited.
I also had the issue to detect qmi, because udev doesn't export the usb
properties for cdc-wdm devices.
The patch i did for this, is check ID_VENDOR_ID and ID_MODEL_ID of
usb_device instead of device in check_usb_devices().

Using the gobi driver for the E398, it looks like there's a memory leak of
qmi_service when plugging/unplugging the device.

thanks,
Cedric

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 951 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: qmi on huawei
  2012-11-26 16:42   ` Cedric Jehasse
@ 2012-11-26 16:42     ` Marcel Holtmann
  2012-11-27  9:04       ` Cedric Jehasse
  0 siblings, 1 reply; 6+ messages in thread
From: Marcel Holtmann @ 2012-11-26 16:42 UTC (permalink / raw)
  To: ofono

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

Hi Cedric,

> > The ofono.git HEAD already sets the driver, but the qmi and net
> > detection is not always correct. So just overwrite the values for the
> > device nodes and see if that works for you.
> >
> > Thanks for the suggestion, i started on this before this change was
> commited.
> I also had the issue to detect qmi, because udev doesn't export the usb
> properties for cdc-wdm devices.
> The patch i did for this, is check ID_VENDOR_ID and ID_MODEL_ID of
> usb_device instead of device in check_usb_devices().
> 
> Using the gobi driver for the E398, it looks like there's a memory leak of
> qmi_service when plugging/unplugging the device.

that might be possible. Can you give me some valgrind traces or similar
so I can see where this might be coming from.

Regards

Marcel



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: qmi on huawei
  2012-11-26 16:42     ` Marcel Holtmann
@ 2012-11-27  9:04       ` Cedric Jehasse
  0 siblings, 0 replies; 6+ messages in thread
From: Cedric Jehasse @ 2012-11-27  9:04 UTC (permalink / raw)
  To: ofono

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

Hi Marcel,

below you can find loggings and valgrind traces.
I added debug traces in qmi_service_unref() right before release_client()
is called, and traces in service_release_callback().
When I unplug the modem release_client() is being called, but i don't see
the trace in service_release_callback() being printed.
I think all requests are getting cancelled by qmi_device_unref(),
service_release_callback() is not being called and the services are not
being freed.

Regards,
Cedric

ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/ttyUSB0/tty/ttyUSB0
ofonod[10291]: plugins/udevng.c:destroy_modem()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6
ofonod[10291]: src/modem.c:ofono_modem_remove() 0x476d970
ofonod[10291]: src/modem.c:modem_unregister() 0x476d970
ofonod[10291]: src/modem.c:modem_change_state() old state: 2, new state: 0
ofonod[10291]: src/modem.c:flush_atoms()
ofonod[10291]: plugins/push-notification.c:push_notification_cleanup()
0x4797ac0
ofonod[10291]: plugins/smart-messaging.c:smart_messaging_cleanup() 0x47957c8
ofonod[10291]: src/sms.c:sms_remove() atom: 0x4f79f38
ofonod[10291]: drivers/qmimodem/sms.c:qmi_sms_remove()
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: src/radio-settings.c:radio_settings_remove() atom: 0x4f755f0
ofonod[10291]:
drivers/qmimodem/radio-settings.c:qmi_radio_settings_remove()
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: src/phonebook.c:phonebook_remove() atom: 0x4f75540
ofonod[10291]: src/stk.c:stk_remove() atom: 0x4f75470
ofonod[10291]: src/location-reporting.c:location_reporting_remove() atom:
0x4c38ba0
ofonod[10291]:
drivers/qmimodem/location-reporting.c:qmi_location_reporting_remove()
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: src/voicecall.c:voicecall_remove() atom: 0x4c344a8
ofonod[10291]: drivers/qmimodem/voicecall.c:qmi_voicecall_remove()
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: src/sim.c:sim_remove() atom: 0x4c2fc20
ofonod[10291]: drivers/qmimodem/sim.c:qmi_sim_remove()
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: src/modem.c:devinfo_remove() atom: 0x4c2d700
ofonod[10291]: drivers/qmimodem/devinfo.c:qmi_devinfo_remove()
ofonod[10291]: plugins/gobi.c:gobi_disable() 0x476d970
ofonod[10291]: plugins/gobi.c:gobi_remove() 0x476d970
ofonod[10291]: QMI: qmi_service_unref: releasing client
ofonod[10291]: QMI: device 0x4b8fbf0 free
ofonod[10291]: src/modem.c:unregister_property() property 0x4789de8
ofonod[10291]: src/modem.c:unregister_property() property 0x4783498
ofonod[10291]: src/modem.c:unregister_property() property 0x4787ac8
ofonod[10291]: src/modem.c:unregister_property() property 0x4781130
ofonod[10291]: src/modem.c:unregister_property() property 0x47857b0
ofonod[10291]: src/modem.c:emit_modem_removed() 0x476d970
ofonod[10291]: src/modem.c:call_modemwatches() 0x476d970 added:0
ofonod[10291]: plugins/smart-messaging.c:modem_watch() modem: 0x476d970,
added: 0
ofonod[10291]: plugins/push-notification.c:modem_watch() modem: 0x476d970,
added: 0
ofonod[10291]: plugins/udevng.c:destroy_modem() /dev/cdc-wdm0
ofonod[10291]: plugins/udevng.c:destroy_modem() /dev/ttyUSB0
ofonod[10291]: plugins/udevng.c:destroy_modem() /dev/ttyUSB1
ofonod[10291]: plugins/udevng.c:destroy_modem() /dev/ttyUSB2
ofonod[10291]: plugins/udevng.c:destroy_modem() wwan0
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty remove
ofonod[10291]: plugins/udev.c:remove_modem()
/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/ttyUSB0/tty/ttyUSB0
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty finished
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1/ttyUSB1/tty/ttyUSB1
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty remove
ofonod[10291]: plugins/udev.c:remove_modem()
/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1/ttyUSB1/tty/ttyUSB1
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty finished
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty remove
ofonod[10291]: plugins/udev.c:remove_modem()
/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.2/ttyUSB2/tty/ttyUSB2
ofonod[10291]: plugins/udev.c:udev_event() subsystem tty finished
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1
ofonod[10291]: plugins/udev.c:udev_event() subsystem net remove
ofonod[10291]: plugins/udev.c:remove_modem()
/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.4/net/wwan0
ofonod[10291]: plugins/udev.c:udev_event() subsystem net finished
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.3/usb/cdc-wdm0
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.3
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.2/ttyUSB2/tty/ttyUSB2
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.2
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.4/net/wwan0
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.4
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.6
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.5
ofonod[10291]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6
^Cofonod[10291]: Terminating
ofonod[10291]: src/plugin.c:__ofono_plugin_cleanup()
ofonod[10291]: plugins/push-notification.c:push_notification_exit()
ofonod[10291]: plugins/smart-messaging.c:smart_messaging_exit()
ofonod[10291]:
src/cdma-provision.c:ofono_cdma_provision_driver_unregister() driver:
0x81878a0 name: CDMA provisioning
ofonod[10291]:
src/gprs-provision.c:ofono_gprs_provision_driver_unregister() driver:
0x8187860 name: Provisioning
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187800, name: sim900
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81877a0, name: samsung
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187740, name: speedupcdma
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81876e0, name: speedup
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187680, name: alcatel
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187620, name: icera
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81875c0, name: linktop
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187560, name: nokiacdma
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187500, name: nokia
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81874a0, name: tc65
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187400, name: ste
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81873a0, name: ifx
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187340, name: palmpre
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81872e0, name: novatel
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187280, name: sierra
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187200, name: huawei
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81871a0, name: zte
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187140, name: hso
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x81870e0, name: mbm
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187080, name: calypso
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8187020, name: wavecom
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8186fc0, name: g1
ofonod[10291]:
src/cdma-voicecall.c:ofono_cdma_voicecall_driver_unregister() driver:
0x8186f40, name: cdmamodem
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x8186f60, name: cdmamodem
ofonod[10291]: src/cdma-connman.c:ofono_cdma_connman_driver_unregister()
driver: 0x8186f84, name: cdmamodem
ofonod[10291]: src/ctm.c:ofono_ctm_driver_unregister() driver: 0x8186e60,
name: phonesim
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186e74, name: phonesim
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8186ea0, name: phonesim
ofonod[10291]: src/ussd.c:ofono_ussd_driver_unregister() driver: 0x8186e20,
name: speedupmodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x8186d00, name: hfpmodem
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x8186dbc, name: hfpmodem
ofonod[10291]: src/network.c:ofono_netreg_driver_unregister() driver:
0x8186d60, name: hfpmodem
ofonod[10291]: src/call-volume.c:ofono_call_volume_driver_unregister()
driver: 0x8186d94, name: hfpmodem
ofonod[10291]: src/handsfree.c:ofono_handsfree_driver_unregister() driver:
0x8186dd8, name: hfpmodem
ofonod[10291]: src/network.c:ofono_netreg_driver_unregister() driver:
0x8186c80, name: dunmodem
ofonod[10291]: src/gprs.c:ofono_gprs_driver_unregister() driver: 0x8186cac,
name: dunmodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x8186ba0, name: stemodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186c2c, name: stemodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186c00, name: stemodem
ofonod[10291]: src/stk.c:ofono_stk_driver_unregister() driver: 0x8186b34,
name: ifxmodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186b0c, name: ifxmodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186ae0, name: ifxmodem
ofonod[10291]:
src/audio-settings.c:ofono_audio_settings_driver_unregister() driver:
0x8186ab0, name: ifxmodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x8186a60, name: ifxmodem
ofonod[10291]: src/ctm.c:ofono_ctm_driver_unregister() driver: 0x8186b5c,
name: ifxmodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x81869e0, name: hsomodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186a00, name: hsomodem
ofonod[10291]:
src/location-reporting.c:ofono_location_reporting_driver_unregister()
driver: 0x8186988, name: mbmmodem
ofonod[10291]: src/stk.c:ofono_stk_driver_unregister() driver: 0x8186968,
name: mbmmodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186940, name: mbmmodem
ofonod[10291]: src/stk.c:ofono_stk_driver_unregister() driver: 0x81868e8,
name: calypsomodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x81868a0, name: calypsomodem
ofonod[10291]: src/cdma-netreg.c:ofono_cdma_netreg_driver_unregister()
driver: 0x818684c, name: huaweimodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x81867fc, name: huaweimodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186820, name: huaweimodem
ofonod[10291]:
src/audio-settings.c:ofono_audio_settings_driver_unregister() driver:
0x81867e8, name: huaweimodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x81867a0, name: huaweimodem
ofonod[10291]: src/ussd.c:ofono_ussd_driver_unregister() driver: 0x8186780,
name: huaweimodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x81866e0, name: iceramodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186720, name: iceramodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8186680, name: ztemodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186640, name: swmodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x81865e0, name: nwmodem
ofonod[10291]: src/sim-auth.c:ofono_sim_auth_driver_unregister() driver:
0x8186570, name: atmodem
ofonod[10291]: src/stk.c:ofono_stk_driver_unregister() driver: 0x81863f4,
name: atmodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x81862e0,
name: atmodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x8186340,
name: atmodem-noef
ofonod[10291]: src/sms.c:ofono_sms_driver_unregister() driver: 0x8186160,
name: atmodem
ofonod[10291]: src/ussd.c:ofono_ussd_driver_unregister() driver: 0x8186414,
name: atmodem
ofonod[10291]: src/phonebook.c:ofono_phonebook_driver_unregister() driver:
0x81864b8, name: atmodem
ofonod[10291]: src/call-settings.c:ofono_call_settings_driver_unregister()
driver: 0x81860e0, name: atmodem
ofonod[10291]: src/call-meter.c:ofono_call_meter_driver_unregister()
driver: 0x8186220, name: atmodem
ofonod[10291]:
src/call-forwarding.c:ofono_call_forwarding_driver_unregister() driver:
0x81861e0, name: atmodem
ofonod[10291]: src/call-barring.c:ofono_call_barring_driver_unregister()
driver: 0x8186498, name: atmodem
ofonod[10291]: src/network.c:ofono_netreg_driver_unregister() driver:
0x8186280, name: atmodem
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x81864e0, name: atmodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x8186440, name: atmodem
ofonod[10291]: src/cbs.c:ofono_cbs_driver_unregister() driver: 0x81861c0,
name: atmodem
ofonod[10291]: src/call-volume.c:ofono_call_volume_driver_unregister()
driver: 0x8186504, name: atmodem
ofonod[10291]: src/gprs.c:ofono_gprs_driver_unregister() driver: 0x8186534,
name: atmodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8186558, name: atmodem
ofonod[10291]: src/gnss.c:ofono_gnss_driver_unregister() driver: 0x8186588,
name: atmodem
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8185ec0, name: gobi
ofonod[10291]:
src/location-reporting.c:ofono_location_reporting_driver_unregister()
driver: 0x8185e84, name: qmimodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8185e60, name: qmimodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8185e48, name: qmimodem
ofonod[10291]: src/gprs.c:ofono_gprs_driver_unregister() driver: 0x8185e34,
name: qmimodem
ofonod[10291]: src/ussd.c:ofono_ussd_driver_unregister() driver: 0x8185e20,
name: qmimodem
ofonod[10291]: src/sms.c:ofono_sms_driver_unregister() driver: 0x8185e00,
name: qmimodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x8185da0,
name: qmimodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x8185d40,
name: qmimodem-legacy
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x8185ca0, name: qmimodem
ofonod[10291]: src/network.c:ofono_netreg_driver_unregister() driver:
0x8185d00, name: qmimodem
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x8185c80, name: qmimodem
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x8185c00, name: u8500
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8185c20, name: u8500
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8185ba0, name: n900
ofonod[10291]: src/modem.c:ofono_modem_driver_unregister() driver:
0x8185b40, name: isiusb
ofonod[10291]: src/modem.c:ofono_devinfo_driver_unregister() driver:
0x8185830, name: isimodem
ofonod[10291]: src/phonebook.c:ofono_phonebook_driver_unregister() driver:
0x8185820, name: isimodem
ofonod[10291]: src/network.c:ofono_netreg_driver_unregister() driver:
0x8185860, name: isimodem
ofonod[10291]: src/voicecall.c:ofono_voicecall_driver_unregister() driver:
0x81858a0, name: isimodem
ofonod[10291]: src/sms.c:ofono_sms_driver_unregister() driver: 0x8185900,
name: isimodem
ofonod[10291]: src/cbs.c:ofono_cbs_driver_unregister() driver: 0x8185920,
name: isimodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x8185940,
name: isimodem
ofonod[10291]: src/ussd.c:ofono_ussd_driver_unregister() driver: 0x8185988,
name: isimodem
ofonod[10291]:
src/call-forwarding.c:ofono_call_forwarding_driver_unregister() driver:
0x81859a0, name: isimodem
ofonod[10291]: src/call-settings.c:ofono_call_settings_driver_unregister()
driver: 0x81859c0, name: isimodem
ofonod[10291]: src/call-barring.c:ofono_call_barring_driver_unregister()
driver: 0x81859f0, name: isimodem
ofonod[10291]: src/call-meter.c:ofono_call_meter_driver_unregister()
driver: 0x8185a20, name: isimodem
ofonod[10291]:
src/radio-settings.c:ofono_radio_settings_driver_unregister() driver:
0x8185a60, name: isimodem
ofonod[10291]: src/gprs.c:ofono_gprs_driver_unregister() driver: 0x8185a84,
name: isimodem
ofonod[10291]: src/gprs.c:ofono_gprs_context_driver_unregister() driver:
0x8185a98, name: isimodem
ofonod[10291]:
src/audio-settings.c:ofono_audio_settings_driver_unregister() driver:
0x8185ab0, name: isimodem
ofonod[10291]: src/sim.c:ofono_sim_driver_unregister() driver: 0x8185ac0,
name: wgmodem2.5
ofonod[10291]: Exit
==10291== Warning: client syscall munmap tried to modify addresses
0x3-0x435f002
==10291== Invalid free() / delete / delete[] / realloc()
==10291==    at 0x402B06C: free (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x4303E94: __libc_freeres (in /lib/i386-linux-gnu/
libc-2.15.so)
==10291==    by 0x4270237: _Exit (_exit.S:30)
==10291==  Address 0xffffffff is not stack'd, malloc'd or (recently) free'd
==10291==
==10291==
==10291== HEAP SUMMARY:
==10291==     in use at exit: 51,953 bytes in 274 blocks
==10291==   total heap usage: 31,166 allocs, 30,893 frees, 14,464,246 bytes
allocated
==10291==
==10291== 8 bytes in 1 blocks are possibly lost in loss record 21 of 136
==10291==    at 0x402A5E6: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A1792: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 13 bytes in 1 blocks are possibly lost in loss record 33 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1E42: g_malloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B7BCA: g_strdup (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x805454B: filter_data_get (watch.c:247)
==10291==    by 0x8054927: g_dbus_add_signal_watch (watch.c:737)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 24 bytes in 1 blocks are definitely lost in loss record 55 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1FFC: g_try_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x807DD1C: service_create_callback (qmi.c:1553)
==10291==    by 0x807C3F8: received_data.part.6 (qmi.c:776)
==10291==    by 0x200FFFF: ???
==10291==
==10291== 24 bytes in 1 blocks are definitely lost in loss record 56 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1FFC: g_try_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x807DD1C: service_create_callback (qmi.c:1553)
==10291==    by 0x807C3F8: received_data.part.6 (qmi.c:776)
==10291==    by 0x300FFFF: ???
==10291==
==10291== 27 bytes in 1 blocks are possibly lost in loss record 57 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1E42: g_malloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B7BCA: g_strdup (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x805453C: filter_data_get (watch.c:246)
==10291==    by 0x8054927: g_dbus_add_signal_watch (watch.c:737)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 28 bytes in 1 blocks are possibly lost in loss record 60 of 136
==10291==    at 0x402A5E6: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A1792: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1EAA: g_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x8053FE4: filter_data_add_callback (watch.c:325)
==10291==    by 0x805494F: g_dbus_add_signal_watch (watch.c:742)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 48 bytes in 2 blocks are definitely lost in loss record 71 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1FFC: g_try_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x807DD1C: service_create_callback (qmi.c:1553)
==10291==    by 0x807C3F8: received_data.part.6 (qmi.c:776)
==10291==    by 0x400FFFF: match_symbol (dl-version.c:174)
==10291==
==10291== 48 bytes in 2 blocks are definitely lost in loss record 72 of 136
==10291==    at 0x402BE68: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A19AA: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1FFC: g_try_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x807DD1C: service_create_callback (qmi.c:1553)
==10291==    by 0x807C3F8: received_data.part.6 (qmi.c:776)
==10291==    by 0x600FFFF: ???
==10291==
==10291== 52 bytes in 1 blocks are possibly lost in loss record 74 of 136
==10291==    at 0x402A5E6: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x40A1792: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40A1EAA: g_malloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80544FB: filter_data_get (watch.c:240)
==10291==    by 0x8054927: g_dbus_add_signal_watch (watch.c:737)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 120 bytes in 1 blocks are possibly lost in loss record 89 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B6717: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B710A: g_slist_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40BF88C: g_once_init_enter (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x4099EB5: g_main_context_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 248 bytes in 1 blocks are possibly lost in loss record 101 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B6717: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40985F5: g_list_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x8053430: main (main.c:180)
==10291==
==10291== 360 bytes in 3 blocks are possibly lost in loss record 106 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B710A: g_slist_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40BF88C: g_once_init_enter (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x4099EB5: g_main_context_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 480 bytes in 4 blocks are possibly lost in loss record 110 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B6FA2: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80D85D4: add_plugin (plugin.c:71)
==10291==    by 0x80D8683: __ofono_plugin_init (plugin.c:127)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== 480 bytes in 4 blocks are possibly lost in loss record 111 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B710A: g_slist_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x812C718: ofono_handsfree_driver_register (handsfree.c:387)
==10291==    by 0x80C19AE: hfp_handsfree_init (handsfree.c:241)
==10291==    by 0x80BDA5B: hfpmodem_init (hfpmodem.c:41)
==10291==    by 0x80D87C7: __ofono_plugin_init (plugin.c:175)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== 480 bytes in 4 blocks are possibly lost in loss record 112 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B710A: g_slist_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80DADD8: ofono_devinfo_driver_register (modem.c:1541)
==10291==    by 0x807E5EE: qmi_devinfo_init (devinfo.c:219)
==10291==    by 0x807DE47: qmimodem_init (qmimodem.c:33)
==10291==    by 0x80D87C7: __ofono_plugin_init (plugin.c:175)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== 480 bytes in 4 blocks are possibly lost in loss record 113 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B710A: g_slist_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x409A336: g_source_add_poll (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40DBF86: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x408E9A7: g_io_create_watch (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x408EA15: g_io_add_watch_full (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x807BBDD: __request_submit (qmi.c:641)
==10291==    by 0x807BCEE: service_create_discover (qmi.c:1624)
==10291==    by 0x807CB0C: service_create (qmi.c:1645)
==10291==
==10291== 480 bytes in 4 blocks are possibly lost in loss record 114 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B7659: g_slist_append (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x8055D3E: add_interface (object.c:1167)
==10291==    by 0x8056ED8: g_dbus_register_interface (object.c:1339)
==10291==    by 0x80D6CC8: sms_watch (smart-messaging.c:320)
==10291==    by 0x80D972C: __ofono_atom_register (modem.c:254)
==10291==    by 0x80EC7D0: ofono_sms_register (sms.c:2015)
==10291==    by 0x807CD93: service_send_callback (qmi.c:1852)
==10291==    by 0x807C3F8: received_data.part.6 (qmi.c:776)
==10291==
==10291== 504 bytes in 1 blocks are possibly lost in loss record 117 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B6717: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B67D5: g_slice_alloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40942C1: g_key_file_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80C3F18: phonesim_init (phonesim.c:989)
==10291==    by 0x80D87C7: __ofono_plugin_init (plugin.c:175)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== 744 bytes in 3 blocks are possibly lost in loss record 123 of 136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40985F5: g_list_prepend (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x8053430: main (main.c:180)
==10291==
==10291== 1,240 bytes in 5 blocks are possibly lost in loss record 126 of
136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x406E169: g_ptr_array_sized_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x41D14D2: (below main) (libc-start.c:226)
==10291==
==10291== 1,512 bytes in 3 blocks are possibly lost in loss record 128 of
136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x408AEB1: g_hash_table_new_full (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x408AF82: g_hash_table_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40805E3: g_intern_string (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B81F8: g_strerror (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x4087156: g_dir_open (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80D86CB: __ofono_plugin_init (plugin.c:130)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== 1,512 bytes in 3 blocks are possibly lost in loss record 129 of
136
==10291==    at 0x402A420: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x402A4DE: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10291==    by 0x406A2E1: ??? (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B673F: g_slice_alloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40B67D5: g_slice_alloc0 (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x40942C1: g_key_file_new (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.3)
==10291==    by 0x80C3F18: phonesim_init (phonesim.c:989)
==10291==    by 0x80D87C7: __ofono_plugin_init (plugin.c:175)
==10291==    by 0x805361D: main (main.c:242)
==10291==
==10291== LEAK SUMMARY:
==10291==    definitely lost: 144 bytes in 6 blocks
==10291==    indirectly lost: 0 bytes in 0 blocks
==10291==      possibly lost: 8,768 bytes in 45 blocks
==10291==    still reachable: 43,041 bytes in 223 blocks
==10291==         suppressed: 0 bytes in 0 blocks
==10291== Reachable blocks (those to which a pointer was found) are not
shown.
==10291== To see them, rerun with: --leak-check=full --show-reachable=yes
==10291==
==10291== For counts of detected and suppressed errors, rerun with: -v
==10291== ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)

>

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 38369 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-11-27  9:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-26 15:32 qmi on huawei Cedric Jehasse
2012-11-26 15:30 ` Marcel Holtmann
2012-11-26 16:42   ` Cedric Jehasse
2012-11-26 16:42     ` Marcel Holtmann
2012-11-27  9:04       ` Cedric Jehasse
  -- strict thread matches above, loose matches on Subject: below --
2012-11-26 15:32 Cedric Jehasse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox