I just noticed that a bug was introduced lately when owserver doesn’t find any usb adapter at startup. This could eventually happen when adapter was found and later was reconnected due to some error.

BUS_selectection_error() is called, and reconnect is initiated.

A segmentation fault occurs in LockGet() since pn->ft is NULL when code tries to reconnect.

 

I think the problem is located in ow_bus.c:BUS_reconnect_low() which tries to lock a non-working adapter, and then call the DS9490_detect function (not DS9490_reconnect). This may trig a new reconnect and we are in a dangerous loop if now using some lock mechanism which I used for the USB adapter from the beginning.

 

owserver –foreground –error_level=9 –error_print=2 –s 3009 –u &

owfs –s 3009 /tmp/1wire

 

cat /tmp/1wire/bus.0/system/adapter/*  (this works)

ls –l /tmp/1wire/   (segmentation fault in owserver)

 

 

I’m not really sure if I have time to fix it myself right now, but did you have any better generic idea for redetection of all adapters? Is it needed for all adapter types?

 

/Christian

 

 

Reply via email to