>> May 28 15:43:34 logicserver upsd[27410]: Data for UPS [tripplite] is >> stale - check driver >> May 28 15:43:34 logicserver tripplite_usb[27408]: Reconnect attempt #1 >> May 28 15:43:34 logicserver upsd[27410]: UPS [tripplite] disconnected - >> check driver >> May 28 15:43:34 logicserver upsd[27410]: Can't connect to UPS >> [tripplite] (tripplite_usb-tripplite): Connection refused >> May 28 15:43:34 logicserver kernel: [1257714.534999] >> tripplite_usb[27408]: segfault at 0000001d eip b7e664ac esp bfd478a8 >> error 4 > > I have an old Tripp Lite UPS around here somewhere - maybe I can test with > that. > > I will see if I can uncover any generic bugs in the reconnection code, > but I am puzzled about the root cause.
You shouldn't call upsdrv_cleanup() in the reconnect_ups() function. Besides free'ing the reopen_matcher variable (which is definitly not what you want, since it will be used for opening the device a few lines down), it will also call usb_close() that will trigger a double free corruption in Linux on reconnect. Calling usb_close() is needed for SUNOS only, but this is already handled by libusb_open() in libusb.c. Best regards, Arjen -- Eindhoven - The Netherlands Key fingerprint - 66 4E 03 2C 9D B5 CB 9B 7A FE 7E C1 EE 88 BC 57 _______________________________________________ Nut-upsuser mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser

