[Pcsclite-muscle] Unplugging & replugging a device causes SIGSEGV

Giuseppe M gdm23
Thu Oct 2 03:35:41 PDT 2014


Hello,

I am using the following setup:
driver ifokccid v4.0.5.4 (OEM-provided, closed source)
pcscd v1.8.12 (current SVN trunk + patch from my other email)
Ubuntu 14.04

Reader: Omnikey 6121

version output:
----------
Copyright (C) 1999-2002 by David Corcoran <corcoran at musclecard.com>.
Copyright (C) 2001-2011 by Ludovic Rousseau <ludovic.rousseau at free.fr>.
Copyright (C) 2003-2004 by Damien Sauveron <sauveron at labri.fr>.
Report bugs to <muscle at lists.musclecard.com>.
Enabled features: Linux x86_64-unknown-linux-gnu serial usb libudev
usbdropdir=/usr/local/lib/pcsc/drivers ipcdir=/var/run/pcscd
configdir=/usr/local/etc/reader.conf.d
----------

I am sending you a complete log output + valgrind messages.
It was not necessary to Ctrl+C because it exited with SIGSEGV.

In order to generate this log, I started pcscd with:
	sudo valgrind --leak-check=full --show-leak-kinds=all pcscd -a -d -f

Then I plugged, unplugged and re-plugged the reader. SIGSEGV happens
instantly when replugging.

Some of the entries in the log might be false positives, but perhaps
there is some stack corruption. Although there is a closed source driver
here :( it does not seem involved in this specific problem.

Any help to make unplugging & replugging work would be greatly
appreciated, as I have to start pcscd in the ADD udev rule now :(

Related messages from archives:
http://sourceforge.net/p/libusb/mailman/message/24400960/
http://archives.neohapsis.com/archives/dev/muscle/2010-q1/0046.html

Thanks!
--
  Giuseppe M
  https://keybase.io/gdm85
-------------- next part --------------
==15817== Memcheck, a memory error detector
==15817== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==15817== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==15817== Command: pcscd -a -d -f
==15817== 
00000000 pcscdaemon.c:266:main() pcscd set to foreground with debug send to stdout
00020579 configfile.l:359:DBGetReaderList() Parsing conf file: /usr/local/etc/reader.conf.d
00002041 pcscdaemon.c:571:main() pcsc-lite 1.8.12 daemon ready.
07390777 hotplug_libudev.c:642:HPEstablishUSBNotifications() USB Device add
00000944 hotplug_libudev.c:299:get_driver() Looking for a driver for VID: 0x076B, PID: 0x6623, path: /dev/bus/usb/003/030
00001410 hotplug_libudev.c:438:HPAddDevice() Adding USB device: OMNIKEY CardMan (076B:6623) 6121
00007078 readerfactory.c:1015:RFInitializeReader() Attempting startup of OMNIKEY CardMan (076B:6623) 6121 00 00 using /usr/local/lib/pcsc/drivers/ifdokccid_linux_x86_64-v4.0.5.4.bundle/Contents/Linux/ifdokccid.so
00033554 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
HID HID Global OMNIKEY CCID driver  x86_64 vv4.0.5.4 
00261778 readerfactory.c:358:RFAddReader() Using the reader polling thread
00070617 eventhandler.c:292:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00001473 Card ATR: ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
00410959 eventhandler.c:481:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED
07135432 hotplug_libudev.c:636:HPEstablishUSBNotifications() USB Device removed
00003294 hotplug_libudev.c:365:HPRemoveDevice() Removing USB device[0]: OMNIKEY CardMan (076B:6623) 6121 at /dev/bus/usb/003/030
00001710 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000978 eventhandler.c:182:EHDestroyEventHandler() Stomping thread.
00000955 eventhandler.c:211:EHDestroyEventHandler() Waiting polling thread
00072595 eventhandler.c:504:EHStatusHandlerThread() Die
00029693 eventhandler.c:222:EHDestroyEventHandler() Thread stomped.
00000354 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of OMNIKEY CardMan (076B:6623) 6121 00 00.
==15817== Thread 2:
==15817== Invalid read of size 1
==15817==    at 0x545E3E0: pthread_mutex_destroy (pthread_mutex_destroy.c:31)
==15817==    by 0x6EC94FF: CCIDSlotClose (common.c:3543)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817==  Address 0x63a1b88 is 152 bytes inside a block of size 200 free'd
==15817==    at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x6EC94EA: CCIDSlotClose (common.c:3540)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== Invalid read of size 4
==15817==    at 0x545E3E6: pthread_mutex_destroy (pthread_mutex_destroy.c:32)
==15817==    by 0x6EC94FF: CCIDSlotClose (common.c:3543)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817==  Address 0x63a1b84 is 148 bytes inside a block of size 200 free'd
==15817==    at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x6EC94EA: CCIDSlotClose (common.c:3540)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== Invalid write of size 4
==15817==    at 0x545E3F8: pthread_mutex_destroy (pthread_mutex_destroy.c:36)
==15817==    by 0x6EC94FF: CCIDSlotClose (common.c:3543)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817==  Address 0x63a1b88 is 152 bytes inside a block of size 200 free'd
==15817==    at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x6EC94EA: CCIDSlotClose (common.c:3540)
==15817==    by 0x40709C: IFDCloseIFD (ifdwrapper.c:195)
==15817==    by 0x40B9E3: RFUnInitializeReader (readerfactory.c:1070)
==15817==    by 0x40A48D: removeReader (readerfactory.c:585)
==15817==    by 0x408E56: _UnrefReader (readerfactory.c:130)
==15817==    by 0x40A3D7: RFRemoveReader (readerfactory.c:561)
==15817==    by 0x412407: HPRemoveDevice (hotplug_libudev.c:367)
==15817==    by 0x412E42: HPEstablishUSBNotifications (hotplug_libudev.c:637)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
00009005 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
==15817== Thread 3:
==15817== Jump to the invalid address stated on the next line
==15817==    at 0x730D248: ???
==15817==  Address 0x730d248 is not stack'd, malloc'd or (recently) free'd
==15817== 
==15817== 
==15817== Process terminating with default action of signal 11 (SIGSEGV)
==15817==  Access not within mapped region at address 0x730D248
==15817==    at 0x730D248: ???
==15817==  If you believe this happened as a result of a stack
==15817==  overflow in your program's main thread (unlikely but
==15817==  possible), you can try to increase the size of the
==15817==  main thread stack using the --main-stacksize= flag.
==15817==  The main thread stack size used in this run was 8388608.
==15817== 
==15817== HEAP SUMMARY:
==15817==     in use at exit: 45,943 bytes in 312 blocks
==15817==   total heap usage: 4,412 allocs, 4,100 frees, 732,925 bytes allocated
==15817== 
==15817== Thread 1:
==15817== 4 bytes in 1 blocks are still reachable in loss record 1 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x4E3A815: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4E40149: udev_monitor_filter_add_match_subsystem_devtype (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x412C44: HPEstablishUSBNotifications (hotplug_libudev.c:580)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 4 bytes in 1 blocks are indirectly lost in loss record 2 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x4E3A815: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4E40149: udev_monitor_filter_add_match_subsystem_devtype (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x730D343: ???
==15817==    by 0x730B6A4: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817== 
==15817== 14 bytes in 1 blocks are still reachable in loss record 3 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x4E3A82F: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4E40149: udev_monitor_filter_add_match_subsystem_devtype (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x412C44: HPEstablishUSBNotifications (hotplug_libudev.c:580)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 16 bytes in 1 blocks are indirectly lost in loss record 4 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x7305052: ???
==15817==    by 0x7305D48: ???
==15817==    by 0x6ED51F1: ???
==15817==    by 0x6EC9B17: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817== 
==15817== 24 bytes in 1 blocks are still reachable in loss record 5 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DAE4: list_init (simclist.c:272)
==15817==    by 0x40636E: EHInitializeEventStructures (eventhandler.c:144)
==15817==    by 0x408FA3: RFAllocateReaderSpace (readerfactory.c:160)
==15817==    by 0x40830D: main (pcscdaemon.c:545)
==15817== 
==15817== 24 bytes in 1 blocks are still reachable in loss record 6 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DAF8: list_init (simclist.c:273)
==15817==    by 0x40636E: EHInitializeEventStructures (eventhandler.c:144)
==15817==    by 0x408FA3: RFAllocateReaderSpace (readerfactory.c:160)
==15817==    by 0x40830D: main (pcscdaemon.c:545)
==15817== 
==15817== 24 bytes in 1 blocks are still reachable in loss record 7 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DAE4: list_init (simclist.c:272)
==15817==    by 0x4165A8: ContextsInitialize (winscard_svc.c:134)
==15817==    by 0x408574: main (pcscdaemon.c:636)
==15817== 
==15817== 24 bytes in 1 blocks are still reachable in loss record 8 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DAF8: list_init (simclist.c:273)
==15817==    by 0x4165A8: ContextsInitialize (winscard_svc.c:134)
==15817==    by 0x408574: main (pcscdaemon.c:636)
==15817== 
==15817== 24 bytes in 1 blocks are indirectly lost in loss record 9 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73080AA: ???
==15817==    by 0x730833A: ???
==15817==    by 0x7304723: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817== 
==15817== 24 bytes in 1 blocks are indirectly lost in loss record 10 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73080AA: ???
==15817==    by 0x730836B: ???
==15817==    by 0x7304723: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817== 
==15817== 24 bytes in 1 blocks are indirectly lost in loss record 11 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73080AA: ???
==15817==    by 0x73083CC: ???
==15817==    by 0x7304723: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817== 
==15817== 29 bytes in 1 blocks are still reachable in loss record 12 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x40C264: RFStartSerialReaders (readerfactory.c:1375)
==15817==    by 0x40839A: main (pcscdaemon.c:565)
==15817== 
==15817== 32 bytes in 1 blocks are still reachable in loss record 13 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x504968F: _dlerror_run (dlerror.c:141)
==15817==    by 0x50490C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==15817==    by 0x405FFD: DYN_LoadLibrary (dyn_unix.c:59)
==15817==    by 0x40AC6C: RFLoadReader (readerfactory.c:819)
==15817==    by 0x40B865: RFInitializeReader (readerfactory.c:1019)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 40 bytes in 1 blocks are still reachable in loss record 14 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DBA0: list_init (simclist.c:285)
==15817==    by 0x40636E: EHInitializeEventStructures (eventhandler.c:144)
==15817==    by 0x408FA3: RFAllocateReaderSpace (readerfactory.c:160)
==15817==    by 0x40830D: main (pcscdaemon.c:545)
==15817== 
==15817== 40 bytes in 1 blocks are still reachable in loss record 15 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x40DBA0: list_init (simclist.c:285)
==15817==    by 0x4165A8: ContextsInitialize (winscard_svc.c:134)
==15817==    by 0x408574: main (pcscdaemon.c:636)
==15817== 
==15817== 40 bytes in 1 blocks are indirectly lost in loss record 16 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4C2CF1F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x7305285: ???
==15817==    by 0x7305D48: ???
==15817==    by 0x6ED51F1: ???
==15817==    by 0x6EC9B17: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817== 
==15817== 48 bytes in 1 blocks are still reachable in loss record 17 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3A801: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4E40149: udev_monitor_filter_add_match_subsystem_devtype (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x412C44: HPEstablishUSBNotifications (hotplug_libudev.c:580)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 48 bytes in 1 blocks are indirectly lost in loss record 18 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3A801: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4E40149: udev_monitor_filter_add_match_subsystem_devtype (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x730D343: ???
==15817==    by 0x730B6A4: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817== 
==15817== 54 bytes in 1 blocks are indirectly lost in loss record 19 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x7305403: ???
==15817==    by 0x7305D48: ???
==15817==    by 0x6ED51F1: ???
==15817==    by 0x6EC9B17: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817== 
==15817== 76 bytes in 13 blocks are indirectly lost in loss record 20 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x730BAD3: ???
==15817==    by 0x730D77B: ???
==15817==    by 0x730B459: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817== 
==15817== 80 bytes in 1 blocks are still reachable in loss record 21 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3A3B2: udev_new (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x4130D7: HPRegisterForHotplugEvents (hotplug_libudev.c:723)
==15817==    by 0x4085DA: main (pcscdaemon.c:658)
==15817== 
==15817== 80 bytes in 1 blocks are indirectly lost in loss record 22 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3A3B2: udev_new (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x730D303: ???
==15817==    by 0x730B6A4: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817== 
==15817== 96 bytes in 1 blocks are indirectly lost in loss record 23 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x7305576: ???
==15817==    by 0x7305D48: ???
==15817==    by 0x6ED51F1: ???
==15817==    by 0x6EC9B17: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817== 
==15817== 246 (40 direct, 206 indirect) bytes in 1 blocks are definitely lost in loss record 24 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x7304FBD: ???
==15817==    by 0x7305D48: ???
==15817==    by 0x6ED51F1: ???
==15817==    by 0x6EC9B17: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817== 
==15817== 272 bytes in 1 blocks are possibly lost in loss record 25 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4012E54: _dl_allocate_tls (dl-tls.c:296)
==15817==    by 0x545CDA0: pthread_create@@GLIBC_2.2.5 (allocatestack.c:589)
==15817==    by 0x4134B9: ThreadCreate (utils.c:183)
==15817==    by 0x41312E: HPRegisterForHotplugEvents (hotplug_libudev.c:730)
==15817==    by 0x4085DA: main (pcscdaemon.c:658)
==15817== 
==15817== 272 bytes in 1 blocks are possibly lost in loss record 26 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4012E54: _dl_allocate_tls (dl-tls.c:296)
==15817==    by 0x545CDA0: pthread_create@@GLIBC_2.2.5 (allocatestack.c:589)
==15817==    by 0x730D3DE: ???
==15817==    by 0x730B6A4: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817== 
==15817== 512 bytes in 1 blocks are still reachable in loss record 27 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3F3FD: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x412BF5: HPEstablishUSBNotifications (hotplug_libudev.c:572)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 536 bytes in 1 blocks are indirectly lost in loss record 28 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73045E1: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817==    by 0x412E89: HPEstablishUSBNotifications (hotplug_libudev.c:643)
==15817==    by 0x545C181: start_thread (pthread_create.c:312)
==15817==    by 0x576CFBC: clone (clone.S:111)
==15817== 
==15817== 644 (512 direct, 132 indirect) bytes in 1 blocks are definitely lost in loss record 29 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4E3F3FD: ??? (in /lib/x86_64-linux-gnu/libudev.so.1.3.5)
==15817==    by 0x730D322: ???
==15817==    by 0x730B6A4: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817==    by 0x4129DF: HPAddDevice (hotplug_libudev.c:499)
==15817== 
==15817== 1,824 bytes in 12 blocks are indirectly lost in loss record 30 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73032B8: ???
==15817==    by 0x730BAA0: ???
==15817==    by 0x730D77B: ???
==15817==    by 0x730B459: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817== 
==15817== 2,523 bytes in 76 blocks are still reachable in loss record 31 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x411CC7: HPReadBundleValues (hotplug_libudev.c:214)
==15817==    by 0x412F20: HPSearchHotPluggables (hotplug_libudev.c:670)
==15817==    by 0x4085CF: main (pcscdaemon.c:652)
==15817== 
==15817== 2,907 bytes in 76 blocks are still reachable in loss record 32 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x411D00: HPReadBundleValues (hotplug_libudev.c:217)
==15817==    by 0x412F20: HPSearchHotPluggables (hotplug_libudev.c:670)
==15817==    by 0x4085CF: main (pcscdaemon.c:652)
==15817== 
==15817== 7,040 bytes in 16 blocks are still reachable in loss record 33 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x408E8D: RFAllocateReaderSpace (readerfactory.c:145)
==15817==    by 0x40830D: main (pcscdaemon.c:545)
==15817== 
==15817== 7,172 bytes in 76 blocks are still reachable in loss record 34 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x56FB2B9: strdup (strdup.c:42)
==15817==    by 0x411D35: HPReadBundleValues (hotplug_libudev.c:218)
==15817==    by 0x412F20: HPSearchHotPluggables (hotplug_libudev.c:670)
==15817==    by 0x4085CF: main (pcscdaemon.c:652)
==15817== 
==15817== 8,000 bytes in 1 blocks are still reachable in loss record 35 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x41180B: HPReadBundleValues (hotplug_libudev.c:134)
==15817==    by 0x412F20: HPSearchHotPluggables (hotplug_libudev.c:670)
==15817==    by 0x4085CF: main (pcscdaemon.c:652)
==15817== 
==15817== 13,312 bytes in 13 blocks are indirectly lost in loss record 36 of 37
==15817==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x4C2CF1F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x730BBB4: ???
==15817==    by 0x730D77B: ???
==15817==    by 0x730B459: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817== 
==15817== 15,972 (152 direct, 15,820 indirect) bytes in 1 blocks are definitely lost in loss record 37 of 37
==15817==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15817==    by 0x73032B8: ???
==15817==    by 0x730BAA0: ???
==15817==    by 0x730D77B: ???
==15817==    by 0x730B459: ???
==15817==    by 0x7304714: ???
==15817==    by 0x6ED4D7A: ???
==15817==    by 0x6EC992A: ???
==15817==    by 0x6EC60D3: ???
==15817==    by 0x406FBF: IFDOpenIFD (ifdwrapper.c:141)
==15817==    by 0x40B907: RFInitializeReader (readerfactory.c:1041)
==15817==    by 0x409865: RFAddReader (readerfactory.c:334)
==15817== 
==15817== LEAK SUMMARY:
==15817==    definitely lost: 704 bytes in 3 blocks
==15817==    indirectly lost: 16,158 bytes in 49 blocks
==15817==      possibly lost: 544 bytes in 2 blocks
==15817==    still reachable: 28,537 bytes in 258 blocks
==15817==         suppressed: 0 bytes in 0 blocks
==15817== 
==15817== For counts of detected and suppressed errors, rerun with: -v
==15817== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)



More information about the pcsclite-muscle mailing list