Sometimes my owfs server runs into an endless loop reading a directory.

I have no idea whatsoever why that happens; it's on a local USB bus,
admittedly behind a couple of DS2409 hubs (they're necessary -- crappy
wiring). That did not happen with the last version I had on that system
(probably 2.6p6; I can do a binary search for the check-in that caused
the problem, but not now *yawn*).

Happens both with DIR and DIRALL messages, except that the latter doesn't
flood the client with a stream of duplicate directory entries. ;-)

Debug output:
  DEBUG: ReadHandler: FS_read_postparse ok size=1
  DEBUG: ReadHandler: To Client cm->payload=1 cm->size=1 cm->offset=0
  DEBUG: ReadHandler: return size=1 [0]
  DEBUG: Read message done retbuffer=0x805df40
  DEBUG: FS_OWQ_destroy of 
/uncached/bus.0/1F.0CB204000000/aux/1F.C9B004000000/main/05.A30032000000/sensed
  DEBUG: ParsedName_destroy 
/uncached/bus.0/1F.0CB204000000/aux/1F.C9B004000000/main/05.A30032000000/sensed
  DEBUG: RealHandler: FS_ParsedName_destroy done
  DEBUG: RealHandler: cm.ret=1
  DEBUG: ToClient payload=1 size=1, ret=1, sg=0x2 offset=0 
  DEBUG: RealHandler: done
  DEBUG: ServerProcessAccept = 3084352400 CLOSING
  DEBUG: ServerProcessAccept [3084352400] try lock 0
  DEBUG: ServerProcessAccept [3084352400] locked 0
  DEBUG: FromClient payload=68 size=0 type=7 sg=0x2 offset=0
   CALL: owserver: parse 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main
  DEBUG: FS_OWQ_create of 
/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main
   CALL: PARSENAME 
path=[/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main]
   CALL: Directory message (all at once)
  DEBUG: OWSERVER Dir-All SpecifiedBus=1 path = 
/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main
  DEBUG: In 
FS_dir_remote(/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main)
   CALL: DIRECTORY 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main
  DEBUG: Start of directory 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main 
device=1F C3 C6 04 00 00 00 CF
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C9 B0 04 00 00 00 F1
  DEBUG: Clearing all branches to level 3
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
   DATA: DS9490_reset
  DEBUG: OWSERVER handler done
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
:  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 0
  DEBUG: Got 64 bytes from USB search
  DEBUG: DS9490_next_both SN found: 10 D0 5F 39 01 08 00 C3
  DEBUG: BUS_next return = 0 10 D0 5F 39 01 08 00 C3
  DEBUG: Cache_Add_Device 10 D0 5F 39 01 08 00 C3 bus=0
  DEBUG: Add to cache sn 10 D0 5F 39 01 08 00 C3 pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 1
  DEBUG: DS9490_next_both SN found: 10 65 AD 39 01 08 00 0A
  DEBUG: BUS_next return = 0 10 65 AD 39 01 08 00 0A
  DEBUG: Cache_Add_Device 10 65 AD 39 01 08 00 0A bus=0
  DEBUG: Add to cache sn 10 65 AD 39 01 08 00 0A pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 2
  DEBUG: DS9490_next_both SN found: 10 8D 80 39 01 08 00 96
  DEBUG: BUS_next return = 0 10 8D 80 39 01 08 00 96
  DEBUG: Cache_Add_Device 10 8D 80 39 01 08 00 96 bus=0
  DEBUG: Add to cache sn 10 8D 80 39 01 08 00 96 pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 3
  DEBUG: DS9490_next_both SN found: 10 DB DB 39 01 08 00 EF
  DEBUG: BUS_next return = 0 10 DB DB 39 01 08 00 EF
  DEBUG: Cache_Add_Device 10 DB DB 39 01 08 00 EF bus=0
  DEBUG: Add to cache sn 10 DB DB 39 01 08 00 EF pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 4
  DEBUG: DS9490_next_both SN found: 26 61 F8 AE 00 00 00 B1
  DEBUG: BUS_next return = 0 26 61 F8 AE 00 00 00 B1
  DEBUG: Cache_Add_Device 26 61 F8 AE 00 00 00 B1 bus=0
  DEBUG: Add to cache sn 26 61 F8 AE 00 00 00 B1 pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 5
  DEBUG: DS9490_next_both SN found: 81 0B 2F 27 00 00 00 33
  DEBUG: BUS_next return = 0 81 0B 2F 27 00 00 00 33
  DEBUG: Cache_Add_Device 81 0B 2F 27 00 00 00 33 bus=0
  DEBUG: Add to cache sn 81 0B 2F 27 00 00 00 33 pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 6
  DEBUG: DS9490_next_both SN found: 1F 0C B2 04 00 00 00 06
  DEBUG: BUS_next return = 0 1F 0C B2 04 00 00 00 06
  DEBUG: Cache_Add_Device 1F 0C B2 04 00 00 00 06 bus=0
  DEBUG: Add to cache sn 1F 0C B2 04 00 00 00 06 pointer=(nil) index=-1 size=4
  DEBUG: Selecting a path (and device) 
path=/bus.0/1F.0CB204000000/aux/1F.C9B004000000/aux/1F.C3C604000000/main SN=1F 
C3 C6 04 00 00 00 CF last path=1F C3 C6 04 00 00 00 CF
   DATA: DS9490_reset
   DATA: DS9490_reset: ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction readin = 0
  DEBUG:   Transaction end = 0
  DEBUG: Index 7
  DEBUG: Got 64 bytes from USB search
  DEBUG: DS9490_next_both SN found: 10 D0 5F 39 01 08 00 C3
[ Note identical serial to first device found. Repeat ad lib. ]

-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  [EMAIL PROTECTED]
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
My mother had a baby once.
                                        -- Jigger

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to