[Nut-upsuser] tripplite_usb/nut-2.2.1: Driver not connected.

Arjen de Korte nut+users at de-korte.org
Thu May 29 09:56:56 UTC 2008


>> 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




More information about the Nut-upsuser mailing list