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