[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnokii 0.6.29 and 0.6.32 master segfaults
From: |
Pawel Kot |
Subject: |
Re: gnokii 0.6.29 and 0.6.32 master segfaults |
Date: |
Sat, 21 Apr 2012 19:05:31 +0200 |
Hi,
On Sat, Apr 21, 2012 at 18:55, Charles <address@hidden> wrote:
> On 21/04/12 21:24, Daniele Forsi wrote:
>> the bug must be in common/devices/dku2libusb.c between lines 289 and 302:
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->manufacturer,
>> current->device->descriptor.iManufacturer);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->product,
>> current->device->descriptor.iProduct);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->serial,
>> current->device->descriptor.iSerialNumber);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->configuration,
>> current->configuration_description);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->control_interface,
>> current->control_interface_description);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->data_interface_idle,
>> current->data_interface_idle_description);
>> get_iface_string(usb_handle, &DEVINSTANCE(state)->data_interface_active,
>> current->data_interface_active_description);
>>
>> that's why it would be very useful to get debug symbols with line
>> numbers in gdb, else use the old way: add a dprintf() after each of
>> those lines to see where it fails
>
> dprintf() looked complex (!) so I used printf and found the segfault is
> happening on the first call to get_iface_string (the printf before it
> did, the one after did not).
Try adding the following before the first get_iface_string():
dprintf("devinstance: %p\n", &DEVINSTANCE(state));
dprintf("current: %p\n", current);
and show the outcome.
thanks,
--
Pawel Kot