On Mon, Jun 16, 2014 at 05:43:47PM +0200, Raphael Geissert wrote: > On 28 May 2014 15:30, Aurelien Jarno <[email protected]> wrote: > > On Wed, May 28, 2014 at 03:20:24PM +0200, Raphael Geissert wrote: > >> On 28 May 2014 15:03, Aurelien Jarno <[email protected]> wrote: > >> > On Wed, May 28, 2014 at 12:31:00PM +0200, Raphael Geissert wrote: > >> [...] > >> > With a backtrace, it will be difficult to debug this kind of problem. > >> > You said that the backtrace is not useful with the wheezy -dbg package, > >> > but there is not such a package on wheezy... > >> > >> Good point, perhaps I confused it with the dbg package of one of the > >> other libusb*. Will check and get back to you on that. > > Actually it's the -dbg in wheezy-backports
Ah ok I understand now. > >> > Could you please provide the backtrace or the core file, so that we can > >> > see at least the libusb function where the crash occurs? > >> > >> Will rebuild with debugging symbols and see what I can get out of it, sure. > > > > Ok, great. I hope it will give us more details. > > I rebuilt pcscd and libusb with -O0 -ggdb3 and I still don't get > anything useful out of the backtrace, the stack seems to have been > corrupted. valgrind's memcheck doesn't show anything interesting, > neither does wheezy's helgrind. > The strace shows that the thread that segfaults is the one that reads > from /sys/bus/usb/devices, the segfault occurs right after its call to > poll(2) returns when the device is plugged. ltracing pcscd doesn't > help much either, because libusb is dlopen'ed, so it is not seen by > ltrace. > > Looking for conflicting symbols (who knows, just a possibility) > between libudev, libusb and libccid, I don't see any. However, I see > that newer libusbs call libudev directly, and apparently do some > thread handling on its own: pthread_create and pthread_join are now > used by libusb (cf. attached nm -D output, with addresses modified for > easier diff'ing). > Does that give you any hint already? The fact that it crashes in some code related to udev is consistent with the versions that have the problem, as udev support has been added in version 1.0.16. This might be the problem that has been fixed upstream recently: https://github.com/libusb/libusb/commit/d7e763e277db4ecafa66f20684ab751e680b0557 This commit is in version 1.0.19 I uploaded recently and that is now in testing. Could you please try with this version? Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B [email protected] http://www.aurel32.net -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

