Am Dienstag, 10. Februar 2009 schrieb Jan Kandziora:
> Hello Paul (and others),
>
I found another bug with I2C.

% package require ow
% OW::init /dev/i2c-6
% OW::set_error_level 9
% OW::set_error_print 2
% OW::get alarm

gives

 DEBUG: FS_OWQ_create of alarm
   CALL: PARSENAME path=[alarm]
  DEBUG: In FS_dir(alarm)
   CALL: DIRECTORY path=alarm
  DEBUG: ALARM directory
  DEBUG: Selecting a path (and device) path=alarm SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=7
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: FS_alarmdir BUS_first_alarm = -19
  DEBUG: Return from ALARM is 0
  DEBUG: FS_dir_both out ret=0
Speicherzugriffsfehler

(Segmentation fault)

Again, I'm able to reproduce this only for I2C adapter, not DS9490 or DS9097U. 
It's irregardless whether there is any alarmed chip or not. I can reproduce 
it with owserver, too:

$ /opt/owfs/bin/owserver --error_level=9 --error_print=2 --foreground /dev/i2c-6

gives the attached log whenever I'm reading "alarm".

Kind regards

        Jan
-- 
"When you say 'I wrote a program that crashed Windows', people just
stare at you blankly and say 'Hey, I got those with the system,
*for free*'."
                -- Linus Torvalds
CONNECT: Found an i2c device at /dev/i2c-6 address 24
  DEBUG: DS2482 read status ok
CONNECT: i2c device at /dev/i2c-6 address 24 appears to be DS2482-x00
CONNECT: DS2482-800 (Eight channels).  DEBUG: main_threadid = 3083720384
  DEBUG: ServerProcessOut = 3083332496
  DEBUG: Wait for output device 0 to setup.
  DEBUG: OW_Announce: end
  DEBUG: Output device  setup is done. index=0
  DEBUG: ServerProcessAccept [3083332496] try lock 0
  DEBUG: ServerProcessAccept [3083332496] locked 0
  DEBUG: Output device 0 setup done.
  DEBUG: ServerProcessAccept [3083332496] accept 0 fd=9
  DEBUG: ServerProcessAcceptUnlock: unlock 3083332496
  DEBUG: ServerProcessAcceptUnlock: unlock 3083332496 done
  DEBUG: ServerProcessAccept [3083332496] unlock 0
  DEBUG: NetRead attempt 24 bytes Time:(10,0)
Byte buffer NETREAD, length=24
--000: 00 00 00 00 00 00 00 09 00 00 00 04 00 00 01 05
--016: 00 00 00 00 00 00 00 00
   <........................>
  DEBUG: tcp_read n=24 nleft=0 n-nleft=24
  DEBUG: FromClient payload=9 size=0 type=4 sg=0x105 offset=0
  DEBUG: FromClient (no servermessage) payload=9 size=0 type=4 sg=0x105 offset=0
  DEBUG: NetRead attempt 9 bytes Time:(10,0)
Byte buffer NETREAD, length=9
--000: 75 6E 63 61 63 68 65 64 00
   <uncached.>
  DEBUG: tcp_read n=9 nleft=0 n-nleft=9
  DEBUG: Persistence requested
   CALL: DataHandler: parse path=uncached
  DEBUG: FS_OWQ_create of uncached
   CALL: PARSENAME path=[uncached]
   CALL: Directory message (one at a time)
   CALL: DirHandler: pn->path=uncached
  DEBUG: OWSERVER SpecifiedBus=0 path=uncached
  DEBUG: In FS_dir_remote(uncached)
   CALL: DIRECTORY path=uncached
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG:   DEBUG: DS2482 read status ok
ServerProcessAccept = 3083332496 CLOSING
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: ServerProcessAccept [3083332496] try lock 0
  DEBUG: ServerProcessAccept [3083332496] locked 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=0
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=1
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=2
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=3
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=4
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=5
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=6
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
  DEBUG: BUS_first: Empty bus -- no presence pulse
  DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: Clearing root branch
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 read status ok
  DEBUG:   Transaction send = 0
  DEBUG:   Transaction end = 0
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=7
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: FS_dir_both out ret=0
  DEBUG: FS_OWQ_destroy of uncached
  DEBUG: ParsedName_destroy uncached
  DEBUG: DataHandler: FS_ParsedName_destroy done
  DEBUG: DataHandler: cm.ret=0
  DEBUG: ToClient payload=0 size=0, ret=0, sg=0x105 offset=0
Writev byte buffer ionr=1/1 length=24
--000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 05
--016: 00 00 00 00 00 00 00 00
   <........................>
  DEBUG: DataHandler: done
  DEBUG: OWSERVER tcp connection persistence -- reusing connection now.
  DEBUG: NetRead attempt 24 bytes Time:(10,0)
Byte buffer NETREAD, length=24
--000: 00 00 00 00 00 00 00 06 00 00 00 04 00 00 01 05
--016: 00 00 00 00 00 00 00 00
   <........................>
  DEBUG: tcp_read n=24 nleft=0 n-nleft=24
  DEBUG: FromClient payload=6 size=0 type=4 sg=0x105 offset=0
  DEBUG: FromClient (no servermessage) payload=6 size=0 type=4 sg=0x105 offset=0
  DEBUG: NetRead attempt 6 bytes Time:(10,0)
Byte buffer NETREAD, length=6
--000: 61 6C 61 72 6D 00
   <alarm.>
  DEBUG: tcp_read n=6 nleft=0 n-nleft=6
  DEBUG: Persistence requested
   CALL: DataHandler: parse path=alarm
  DEBUG: FS_OWQ_create of alarm
   CALL: PARSENAME path=[alarm]
   CALL: Directory message (one at a time)
   CALL: DirHandler: pn->path=alarm
  DEBUG: OWSERVER SpecifiedBus=0 path=alarm
  DEBUG: In FS_dir_remote(alarm)
   CALL: DIRECTORY path=alarm
  DEBUG: ALARM directory
  DEBUG: Selecting a path (and device) path=alarm SN=00 00 00 00 00 00 00 00 
last path=00 00 00 00 00 00 00 00
  DEBUG: DS2482 read status ok
  DEBUG: DS2482 Reset
  DEBUG: BUS_next return = -19 | 00 00 00 00 00 00 00 00
  DEBUG: Cache_Add_Device 00 00 00 00 00 00 00 00 bus=7
  DEBUG: Add to cache sn 00 00 00 00 00 00 00 00 pointer=(nil) index=-1 size=4
  DEBUG: FS_alarmdir BUS_first_alarm = -19
  DEBUG: Return from ALARM is 0
  DEBUG: FS_dir_both out ret=0
  DEBUG: FS_OWQ_destroy of alarm
  DEBUG: ParsedName_destroy alarm
  DEBUG: DataHandler: FS_ParsedName_destroy done
  DEBUG: DataHandler: cm.ret=0
  DEBUG: ToClient payload=0 size=0, ret=0, sg=0x105 offset=0
Writev byte buffer ionr=1/1 length=24
--000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 05
--016: 00 00 00 00 00 00 00 00
   <........................>
  DEBUG: DataHandler: done
  DEBUG: OWSERVER tcp connection persistence -- reusing connection now.
  DEBUG: NetRead attempt 24 bytes Time:(10,0)
  DEBUG: tcp_read n=24 nleft=24 n-nleft=0
  DEBUG: OWSERVER handler done
  DEBUG: Server Handler: Normal exit.

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to