EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Asyn/VXI-11 problems
From: Benjamin Franksen <[email protected]>
To: [email protected]
Date: Wed, 19 Sep 2007 15:36:00 +0200
On Tuesday 18 September 2007 17:03, Eric Norum wrote:
> On Sep 18, 2007, at 9:59 AM, Jeff Hill wrote:
> > Hi Ben,
> >
> > You might try commenting out iocInit in the startup script, and
> > then after
> > the IOC boots up type "sp iocInit". When it fails type "tt <task
> > id>" to get
> > the stack trace. If that doesn't help you might also build for
> > debugging and
> > attach the Tornado debugger to the IOC.
>
> This is running on linux so Benjamin needs only to run the IOC under
> gdb.

I have run it under ddd and valgrind and attached the outputs. I used 
asyn4-8 and stream2-2. The problem /appears/ to be in stream support 
(contrary to what I thought at first). OTOH, the many many timeouts are 
completely inexplicable to me and suggest that there is something wrong 
with asyn/vxi-11, too. Anyway, I am completely lost; I have great 
difficulty understabnding the relevant stream (C++) code.

Cheers
Ben
-- 
"Programming = Mathematics + Murphy's Law" (E.W.Dijkstra)
GNU DDD 3.3.11 (i686-pc-linux-gnu), by Dorothea Ltkehaus and Andreas Zeller.
Copyright  1995-1999 Technische Universitt Braunschweig, Germany.
Copyright  1999-2001 Universitt Passau, Germany.
Copyright  2001 Universitt des Saarlandes, Germany.
Copyright  2001-2004 Free Software Foundation, Inc.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run st.cmd
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1211385792 (LWP 32766)]
#!../../bin/linux-x86/SIOC6CP
# Change to top directory
cd ../..
########################################################### Set up Environment
epicsEnvSet IOC SIOC6CP
epicsEnvSet LOG_DIR log
epicsEnvSet EPICS_CA_PUT_LOG_INET 192.168.48.97
epicsEnvSet STREAM_PROTOCOL_PATH db
############################################## Register all support components
dbLoadDatabase dbd/SIOC6CP.dbd 0 0
SIOC6CP_registerRecordDeviceDriver pdbbase
############################################################ Configure drivers
# Reboot E5810
# E5810Reboot box6.acc.bessy.de E5810
# Configure asyn vxi-11 driver for GPIB box
vxi11Configure L3 tcl-101-134-Host.tcl.bessy.de 1 10 gpib0
[New Thread -1211389008 (LWP 326)]
[New Thread -1211651152 (LWP 327)]
[New Thread -1211913296 (LWP 328)]
####################################################### Autosave configuration
set_requestfile_path db
set_savefile_path log/autoSaveRestore
save_restoreSet_DatedBackupFiles 1
save_restoreSet_UseStatusPVs 0
######################################################## Load record instances
dbLoadRecords db/NRVD.db
######################################################## Restore record values
#set_pass0_restoreFile <irgendwas>.sav
########################################################### Configure IOC Core
# IOC Log Server Connection  0=enabled 1=disabled
setIocLogDisable 0
# Configure Access Security
asSetFilename db/no_security.acf
#################################################################### Start IOC
iocInit
[New Thread -1213203536 (LWP 329)]
Starting iocInit
############################################################################
###  EPICS IOC CORE built on Aug  9 2007
###  EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
############################################################################
[New Thread -1213334608 (LWP 330)]
[New Thread -1213596752 (LWP 331)]
[New Thread -1214121040 (LWP 332)]
[New Thread -1214645328 (LWP 333)]
[New Thread -1215169616 (LWP 334)]
[New Thread -1215431760 (LWP 335)]
initHooks: set_pass[0,1]_restoreFile() were never called.
initHooks: Specifying 'auto_settings.sav' and 'auto_positions.sav'
initHooks: for backward compatibility with old autosave/restore.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with 'log/autoSaveRestore/auto_positions.sav0'.
save_restore: Can't find a file to restore from...save_restore: ...last tried 'log/autoSaveRestore/auto_positions.sav2'. I give up.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with 'log/autoSaveRestore/auto_settings.sav0'.
save_restore: Can't find a file to restore from...save_restore: ...last tried 'log/autoSaveRestore/auto_settings.sav2'. I give up.
[New Thread -1215956048 (LWP 336)]
2007/09/19 15:27:31.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:31.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:31.601 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
2007/09/19 15:27:35.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:35.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:35.601 NRVD:setPow(1): pasynCommon->connect() failed: 
2007/09/19 15:27:35.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:35.601 NRVD:setPow(1): Can't start init run
2007/09/19 15:27:35.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:35.601 2007/09/19 15:27:35.601 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
NRVD:setPow(1): Record initialization failed
Bad init_rec return value  PV: NRVD:setPow(1) ao: init_record
2007/09/19 15:27:39.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:39.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:39.601 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
2007/09/19 15:27:43.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:43.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:43.601 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
2007/09/19 15:27:47.600 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:47.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:47.601 NRVD:setPow(2): pasynCommon->connect() failed: 
2007/09/19 15:27:47.601 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out
2007/09/19 15:27:47.601 NRVD:setPow(2): Can't start init run

2007/09/19 15:27:47.601 NRVD:setPow(2): Record initialization failed
2007/09/19 15:27:47.601 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:47.601 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
Bad init_rec return value  PV: NRVD:setPow(2) ao: init_record
2007/09/19 15:27:51.600 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:51.600 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:51.600 NRVD:setRef(1): pasynCommon->connect() failed: 
2007/09/19 15:27:51.600 NRVD:setRef(1): Can't start init run
2007/09/19 15:27:51.600 NRVD:setRef(1): Record initialization failed
Bad init_rec return value  PV: NRVD:setRef(1) ao: init_record
2007/09/19 15:27:55.600 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:55.600 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:55.600 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
2007/09/19 15:27:59.604 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:27:59.604 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:59.604 NRVD:setRef(2): pasynCommon->connect() failed: 
2007/09/19 15:27:59.604 2007/09/19 15:27:59.604 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

NRVD:setRef(2): Can't start init run
2007/09/19 15:27:59.604 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:27:59.604 2007/09/19 15:27:59.604 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
NRVD:setRef(2): Record initialization failed
Bad init_rec return value  PV: NRVD:setRef(2) ao: init_record
2007/09/19 15:28:03.608 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:28:03.608 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:28:03.608 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 
2007/09/19 15:28:03.608 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:28:03.608 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:28:03.608 NRVD:selDispEn: pasynCommon->connect() failed: 
2007/09/19 15:28:03.608 NRVD:selDispEn: Can't start init run
2007/09/19 15:28:03.608 NRVD:selDispEn: Record initialization failed
2007/09/19 15:28:07.608 gpib0,20 vxiCreateDeviceLink RPC error : RPC: Timed out

2007/09/19 15:28:07.608 L3 vxiCreateDevLink failed for addr 20
2007/09/19 15:28:07.608 asynManager::asynConnectCallback, port L3 error calling asynCommon->connect 

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211651152 (LWP 327)]
0xb7d1418b in _IO_vfscanf () from /lib/tls/libc.so.6
(gdb) backtrace
#0  0xb7d1418b in _IO_vfscanf () from /lib/tls/libc.so.6
#1  0xb7d1f72d in vsscanf () from /lib/tls/libc.so.6
#2  0xb7d1a80d in sscanf () from /lib/tls/libc.so.6
#3  0x08061664 in StdCharsetConverter::scanString (this=0x8195d50, fmt=@0x0, input=0xb7b2e2c4 "POW  W\n", value=0xb7c7a35c "POW", maxlen=3) at ../StreamFormatConverter.cc:409
#4  0x08067218 in StreamCore::matchInput (this=0xb7b2deb8) at StreamFormatConverter.h:68
#5  0x08065c6f in StreamCore::readCallback (this=0xb7b2deb8, status=StreamIoEnd, input=0xb7b2e50c, size=7) at ../StreamCore.cc:1009
#6  0x0806a79f in AsynDriverInterface::readHandler (this=0xb7b2e488) at StreamBusInterface.h:111
#7  0x0806bc6c in handleRequest (pasynUser=0xb7c7a34c) at ../AsynDriverInterface.cc:1278
#8  0x0807c7db in portThread (pport=0x81a3818) at ../../asyn/asynDriver/asynManager.c:777
#9  0x0814541c in start_routine (arg=0x81f2ca8) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#10 0xb7f4db63 in start_thread () from /lib/tls/libpthread.so.0
#11 0xb7d9418a in clone () from /lib/tls/libc.so.6
(gdb) 
==32192== Memcheck, a memory error detector for x86-linux.
==32192== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==32192== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==32192== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==32192== Valgrind library directory: /usr/lib/valgrind
==32192== Command line
==32192==    ../../bin/linux-x86/SIOC6CP
==32192==    st.cmd
==32192== Startup, with flags:
==32192==    --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
==32192==    -v
==32192==    --
==32192== Contents of /proc/version:
==32192==   Linux version 2.6.18.2 (root@aragon) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 SMP PREEMPT Tue Nov 14 17:22:28 CET 2006
==32192== Reading syms from /srv/projects/ctl/franksen/epics/ioc/MLS-Controls/ralf/bin/linux-x86/SIOC6CP (0x8048000)
==32192== Reading syms from /lib/ld-2.3.2.so (0x1B8E4000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/ld-2.3.2.so...
==32192== ... CRC mismatch (computed 21E2679B wanted A7C43B47)
==32192==    object doesn't have any debug info
==32192== Reading syms from /usr/lib/valgrind/stage2 (0xB0000000)
==32192== Reading syms from /lib/ld-2.3.2.so (0xB1000000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/ld-2.3.2.so...
==32192== ... CRC mismatch (computed 21E2679B wanted A7C43B47)
==32192==    object doesn't have any debug info
==32192== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so (0xB7B7D000)
==32192== Reading syms from /lib/tls/libc-2.3.2.so (0xB7DE1000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/libc-2.3.2.so...
==32192== ... CRC mismatch (computed CFB0E393 wanted 21B6B5AC)
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/tls/libdl-2.3.2.so (0xB7F16000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/libdl-2.3.2.so...
==32192== ... CRC mismatch (computed 7A0DEF56 wanted EB21573A)
==32192==    object doesn't have any debug info
==32192== Reading suppressions file: /usr/lib/valgrind/debian-libc6-dbg.supp
==32192== Reading suppressions file: /usr/lib/valgrind/default.supp
==32192== 
==32192== Reading syms from /usr/lib/valgrind/vg_inject.so (0x1B900000)
==32192== Reading syms from /usr/lib/valgrind/vgpreload_memcheck.so (0x1B903000)
==32192== Reading syms from /lib/tls/libpthread-0.60.so (0x1B929000)
==32192== Reading debug info from /lib/tls/libpthread-0.60.so...
==32192== ... CRC mismatch (computed 8AAA646A wanted A29D44A6)
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/libreadline.so.5.0 (0x1B93B000)
==32192==    object doesn't have a symbol table
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/libncurses.so.5.4 (0x1B969000)
==32192==    object doesn't have a symbol table
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/tls/librt-2.3.2.so (0x1B9A9000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/librt-2.3.2.so...
==32192== ... CRC mismatch (computed AB01EF7E wanted 3FBB05E7)
==32192==    object doesn't have any debug info
==32192== Reading syms from /usr/lib/libstdc++.so.5.0.7 (0x1B9B0000)
==32192==    object doesn't have a symbol table
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/tls/libm-2.3.2.so (0x1BA6B000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/libm-2.3.2.so...
==32192== ... CRC mismatch (computed 97D2F5F5 wanted 22B6F3CD)
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/libgcc_s.so.1 (0x1BA8E000)
==32192==    object doesn't have a symbol table
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/tls/libc-2.3.2.so (0x1BA9A000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/libc-2.3.2.so...
==32192== ... CRC mismatch (computed CFB0E393 wanted 21B6B5AC)
==32192==    object doesn't have any debug info
==32192== Reading syms from /lib/tls/libdl-2.3.2.so (0x1BBD0000)
==32192==    object doesn't have a symbol table
==32192== Reading debug info from /lib/tls/libdl-2.3.2.so...
==32192== ... CRC mismatch (computed 7A0DEF56 wanted EB21573A)
==32192==    object doesn't have any debug info
==32192== TRANSLATE: 0x1BB123E0 redirected to 0x1B9077B0
==32192== TRANSLATE: 0x1BB0BBB0 redirected to 0x1B906510
==32192== TRANSLATE: 0x1BB0BD40 redirected to 0x1B906A82
==32192== TRANSLATE: 0x1BB0C2C0 redirected to 0x1B906EE2
==32192== TRANSLATE: 0x1BB0BE00 redirected to 0x1B906FA1
==32192== TRANSLATE: 0x1BA422D0 redirected to 0x1B90669A
#!../../bin/linux-x86/SIOC6CP
# Change to top directory
cd ../..
########################################################### Set up Environment
epicsEnvSet IOC SIOC6CP
epicsEnvSet LOG_DIR log
epicsEnvSet EPICS_CA_PUT_LOG_INET 192.168.48.97
epicsEnvSet STREAM_PROTOCOL_PATH db
############################################## Register all support components
dbLoadDatabase dbd/SIOC6CP.dbd 0 0
SIOC6CP_registerRecordDeviceDriver pdbbase
############################################################ Configure drivers
# Reboot E5810
# E5810Reboot box6.acc.bessy.de E5810
# Configure asyn vxi-11 driver for GPIB box
vxi11Configure L3 tcl-101-134-Host.tcl.bessy.de 1 10 gpib0
####################################################### Autosave configuration
set_requestfile_path db
set_savefile_path log/autoSaveRestore
save_restoreSet_DatedBackupFiles 1
save_restoreSet_UseStatusPVs 0
######################################################## Load record instances
dbLoadRecords db/NRVD.db
######################################################## Restore record values
#set_pass0_restoreFile <irgendwas>.sav
########################################################### Configure IOC Core
# IOC Log Server Connection  0=enabled 1=disabled
setIocLogDisable 0
# Configure Access Security
asSetFilename db/no_security.acf
#################################################################### Start IOC
iocInit
Starting iocInit
==32192== TRANSLATE: 0x1BA42410 redirected to 0x1B9068F8
############################################################################
###  EPICS IOC CORE built on Aug  9 2007
###  EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
############################################################################
initHooks: set_pass[0,1]_restoreFile() were never called.
initHooks: Specifying 'auto_settings.sav' and 'auto_positions.sav'
initHooks: for backward compatibility with old autosave/restore.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with 'log/autoSaveRestore/auto_positions.sav0'.
save_restore: Can't find a file to restore from...save_restore: ...last tried 'log/autoSaveRestore/auto_positions.sav2'. I give up.
save_restore: Can't figure out which seq file is most recent,
save_restore: so I'm just going to start with 'log/autoSaveRestore/auto_settings.sav0'.
save_restore: Can't find a file to restore from...save_restore: ...last tried 'log/autoSaveRestore/auto_settings.sav2'. I give up.
==32192== TRANSLATE: 0x1BA40D00 redirected to 0x1B906C26
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x8058AC2: StreamBuffer::grow(long) (StreamBuffer.cc:103)
==32192==    by 0x805AFDE: StreamProtocolParser::readToken(StreamBuffer&, char const*, bool) (StreamProtocol.cc:538)
==32192==    by 0x805B52F: StreamProtocolParser::parseValue(StreamBuffer&, bool) (StreamProtocol.cc:602)
==32192==    by 0x805A2F6: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:406)
==32192==    by 0x805A6BA: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:370)
==32192==    by 0x80598B8: StreamProtocolParser::StreamProtocolParser(_IO_FILE*, char const*) (StreamProtocol.cc:73)
==32192==    by 0x8059E9E: StreamProtocolParser::readFile(char const*) (StreamProtocol.cc:201)
==32192==    by 0x8059BF7: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:135)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==  Address 0x1BCC2890 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x805AFDE: StreamProtocolParser::readToken(StreamBuffer&, char const*, bool) (StreamProtocol.cc:538)
==32192==    by 0x805B52F: StreamProtocolParser::parseValue(StreamBuffer&, bool) (StreamProtocol.cc:602)
==32192==    by 0x805A2F6: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:406)
==32192==    by 0x805A6BA: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:370)
==32192==    by 0x80598B8: StreamProtocolParser::StreamProtocolParser(_IO_FILE*, char const*) (StreamProtocol.cc:73)
==32192==    by 0x8059E9E: StreamProtocolParser::readFile(char const*) (StreamProtocol.cc:201)
==32192==    by 0x8059BF7: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:135)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192== 
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805BEA4: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:714)
==32192==    by 0x805C72A: StreamProtocolParser::Protocol::~Protocol() (StreamProtocol.cc:769)
==32192==    by 0x8063A75: StreamCore::parse(char const*, char const*) (StreamCore.cc:228)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192==    by 0x80BF59D: initDatabase (iocInit.c:351)
==32192==    by 0x80BF0CF: iocInit (iocInit.c:107)
==32192==    by 0x80BEF78: iocInitCallFunc (dbAccessRegister.c:69)
==32192==    by 0x80BC8EC: iocshBody (iocsh.cpp:743)
==32192==  Address 0x1BCCA270 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x80589D2: StreamBuffer::init(void const*, long) (StreamBuffer.cc:44)
==32192==    by 0x805BD71: StreamProtocolParser::Protocol::Variable::Variable(StreamProtocolParser::Protocol::Variable const&) (StreamBuffer.h:61)
==32192==    by 0x805C448: StreamProtocolParser::Protocol::Protocol(StreamProtocolParser::Protocol const&, StreamBuffer&, int) (StreamProtocol.cc:744)
==32192==    by 0x805A0A3: StreamProtocolParser::getProtocol(StreamBuffer const&) (StreamProtocol.cc:239)
==32192==    by 0x8059C0E: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:142)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192== 
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x8058EEB: StreamBuffer::replace(long, long, void const*, long) (StreamBuffer.cc:212)
==32192==    by 0x805E5AF: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamBuffer.h:145)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192==  Address 0x1BCCD5B0 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058E55: StreamBuffer::replace(long, long, void const*, long) (StreamBuffer.cc:205)
==32192==    by 0x805E5AF: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamBuffer.h:145)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192== 
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805BEA4: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:714)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805C72A: StreamProtocolParser::Protocol::~Protocol() (StreamProtocol.cc:769)
==32192==    by 0x8063A75: StreamCore::parse(char const*, char const*) (StreamCore.cc:228)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==  Address 0x1BCD1D70 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x80589D2: StreamBuffer::init(void const*, long) (StreamBuffer.cc:44)
==32192==    by 0x805BD71: StreamProtocolParser::Protocol::Variable::Variable(StreamProtocolParser::Protocol::Variable const&) (StreamBuffer.h:61)
==32192==    by 0x805C448: StreamProtocolParser::Protocol::Protocol(StreamProtocolParser::Protocol const&, StreamBuffer&, int) (StreamProtocol.cc:744)
==32192==    by 0x805A0A3: StreamProtocolParser::getProtocol(StreamBuffer const&) (StreamProtocol.cc:239)
==32192==    by 0x8059C0E: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:142)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053BFC: initRecord (devaoStream.c:78)
==32192==    by 0x80A6C0C: init_record (aoRecord.c:140)
==32192== 
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805F318: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamProtocol.cc:1380)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8054719: initRecord (devmbbiStream.c:117)
==32192==    by 0x80B0E07: init_record (mbbiRecord.c:139)
==32192==    by 0x80BF59D: initDatabase (iocInit.c:351)
==32192==  Address 0x1C06D170 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x8058C3E: StreamBuffer::append(void const*, long) (StreamBuffer.cc:126)
==32192==    by 0x805F97B: StreamProtocolParser::Protocol::compileFormat(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*) (StreamProtocol.cc:1603)
==32192==    by 0x805E544: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamProtocol.cc:1115)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192== 
==32192== Thread 3:
==32192== Use of uninitialised value of size 4
==32192==    at 0x1BAF218B: _IO_vfscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAFD72C: vsscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAF880C: sscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x8061663: StdCharsetConverter::scanString(StreamFormat const&, char const*, char*, unsigned) (StreamFormatConverter.cc:409)
==32192==    by 0x8067217: StreamCore::matchInput() (StreamFormatConverter.h:68)
==32192==    by 0x8065C6E: StreamCore::readCallback(StreamIoStatus, void const*, long) (StreamCore.cc:1009)
==32192==    by 0x806A79E: AsynDriverInterface::readHandler() (StreamBusInterface.h:111)
==32192==    by 0x806BC6B: handleRequest (AsynDriverInterface.cc:1278)
==32192==    by 0x807C7DA: portThread (asynManager.c:777)
==32192==    by 0x814541B: start_routine (osdThread.c:320)
==32192==    by 0x1B92DB62: start_thread (in /lib/tls/libpthread-0.60.so)
==32192==    by 0x1BB72189: clone (in /lib/tls/libc-2.3.2.so)
==32192== 
==32192== Process terminating with default action of signal 11 (SIGSEGV)
==32192==  Bad permissions for mapped region at address 0x8054585
==32192==    at 0x1BAF218B: _IO_vfscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAFD72C: vsscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAF880C: sscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x8061663: StdCharsetConverter::scanString(StreamFormat const&, char const*, char*, unsigned) (StreamFormatConverter.cc:409)
==32192==    by 0x8067217: StreamCore::matchInput() (StreamFormatConverter.h:68)
==32192==    by 0x8065C6E: StreamCore::readCallback(StreamIoStatus, void const*, long) (StreamCore.cc:1009)
==32192==    by 0x806A79E: AsynDriverInterface::readHandler() (StreamBusInterface.h:111)
==32192==    by 0x806BC6B: handleRequest (AsynDriverInterface.cc:1278)
==32192==    by 0x807C7DA: portThread (asynManager.c:777)
==32192==    by 0x814541B: start_routine (osdThread.c:320)
==32192==    by 0x1B92DB62: start_thread (in /lib/tls/libpthread-0.60.so)
==32192==    by 0x1BB72189: clone (in /lib/tls/libc-2.3.2.so)
==32192== 
==32192== ERROR SUMMARY: 30 errors from 6 contexts (suppressed: 27 from 1)
==32192== 
==32192== 1 errors in context 1 of 6:
==32192== Use of uninitialised value of size 4
==32192==    at 0x1BAF218B: _IO_vfscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAFD72C: vsscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x1BAF880C: sscanf (in /lib/tls/libc-2.3.2.so)
==32192==    by 0x8061663: StdCharsetConverter::scanString(StreamFormat const&, char const*, char*, unsigned) (StreamFormatConverter.cc:409)
==32192==    by 0x8067217: StreamCore::matchInput() (StreamFormatConverter.h:68)
==32192==    by 0x8065C6E: StreamCore::readCallback(StreamIoStatus, void const*, long) (StreamCore.cc:1009)
==32192==    by 0x806A79E: AsynDriverInterface::readHandler() (StreamBusInterface.h:111)
==32192==    by 0x806BC6B: handleRequest (AsynDriverInterface.cc:1278)
==32192==    by 0x807C7DA: portThread (asynManager.c:777)
==32192==    by 0x814541B: start_routine (osdThread.c:320)
==32192==    by 0x1B92DB62: start_thread (in /lib/tls/libpthread-0.60.so)
==32192==    by 0x1BB72189: clone (in /lib/tls/libc-2.3.2.so)
==32192== 
==32192== 1 errors in context 2 of 6:
==32192== Thread 1:
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x8058AC2: StreamBuffer::grow(long) (StreamBuffer.cc:103)
==32192==    by 0x805AFDE: StreamProtocolParser::readToken(StreamBuffer&, char const*, bool) (StreamProtocol.cc:538)
==32192==    by 0x805B52F: StreamProtocolParser::parseValue(StreamBuffer&, bool) (StreamProtocol.cc:602)
==32192==    by 0x805A2F6: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:406)
==32192==    by 0x805A6BA: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:370)
==32192==    by 0x80598B8: StreamProtocolParser::StreamProtocolParser(_IO_FILE*, char const*) (StreamProtocol.cc:73)
==32192==    by 0x8059E9E: StreamProtocolParser::readFile(char const*) (StreamProtocol.cc:201)
==32192==    by 0x8059BF7: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:135)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==  Address 0x1BCC2890 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x805AFDE: StreamProtocolParser::readToken(StreamBuffer&, char const*, bool) (StreamProtocol.cc:538)
==32192==    by 0x805B52F: StreamProtocolParser::parseValue(StreamBuffer&, bool) (StreamProtocol.cc:602)
==32192==    by 0x805A2F6: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:406)
==32192==    by 0x805A6BA: StreamProtocolParser::parseProtocol(StreamProtocolParser::Protocol&, StreamBuffer*) (StreamProtocol.cc:370)
==32192==    by 0x80598B8: StreamProtocolParser::StreamProtocolParser(_IO_FILE*, char const*) (StreamProtocol.cc:73)
==32192==    by 0x8059E9E: StreamProtocolParser::readFile(char const*) (StreamProtocol.cc:201)
==32192==    by 0x8059BF7: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:135)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192== 
==32192== 4 errors in context 3 of 6:
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805F318: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamProtocol.cc:1380)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8054719: initRecord (devmbbiStream.c:117)
==32192==    by 0x80B0E07: init_record (mbbiRecord.c:139)
==32192==    by 0x80BF59D: initDatabase (iocInit.c:351)
==32192==  Address 0x1C06D170 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x8058C3E: StreamBuffer::append(void const*, long) (StreamBuffer.cc:126)
==32192==    by 0x805F97B: StreamProtocolParser::Protocol::compileFormat(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*) (StreamProtocol.cc:1603)
==32192==    by 0x805E544: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamProtocol.cc:1115)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192== 
==32192== 7 errors in context 4 of 6:
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805BEA4: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:714)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805BECB: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:715)
==32192==    by 0x805C72A: StreamProtocolParser::Protocol::~Protocol() (StreamProtocol.cc:769)
==32192==    by 0x8063A75: StreamCore::parse(char const*, char const*) (StreamCore.cc:228)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==  Address 0x1BCD1D70 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x80589D2: StreamBuffer::init(void const*, long) (StreamBuffer.cc:44)
==32192==    by 0x805BD71: StreamProtocolParser::Protocol::Variable::Variable(StreamProtocolParser::Protocol::Variable const&) (StreamBuffer.h:61)
==32192==    by 0x805C448: StreamProtocolParser::Protocol::Protocol(StreamProtocolParser::Protocol const&, StreamBuffer&, int) (StreamProtocol.cc:744)
==32192==    by 0x805A0A3: StreamProtocolParser::getProtocol(StreamBuffer const&) (StreamProtocol.cc:239)
==32192==    by 0x8059C0E: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:142)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053BFC: initRecord (devaoStream.c:78)
==32192==    by 0x80A6C0C: init_record (aoRecord.c:140)
==32192== 
==32192== 8 errors in context 5 of 6:
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x8058EEB: StreamBuffer::replace(long, long, void const*, long) (StreamBuffer.cc:212)
==32192==    by 0x805E5AF: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamBuffer.h:145)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192==  Address 0x1BCCD5B0 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058E55: StreamBuffer::replace(long, long, void const*, long) (StreamBuffer.cc:205)
==32192==    by 0x805E5AF: StreamProtocolParser::Protocol::compileString(StreamBuffer&, char const*&, FormatType, StreamProtocolParser::Client*, int) (StreamBuffer.h:145)
==32192==    by 0x8063F53: StreamCore::compileCommand(StreamProtocolParser::Protocol*, StreamBuffer&, char const*, char const*&) (StreamCore.cc:295)
==32192==    by 0x8060124: StreamProtocolParser::Protocol::compileCommands(StreamBuffer&, char const*&, StreamProtocolParser::Client*) (StreamProtocol.cc:1622)
==32192==    by 0x805D4CD: StreamProtocolParser::Protocol::getCommands(char const*, StreamBuffer&, StreamProtocolParser::Client*) (StreamProtocol.cc:924)
==32192==    by 0x8063DDC: StreamCore::compile(StreamProtocolParser::Protocol*) (StreamCore.cc:274)
==32192==    by 0x8063A30: StreamCore::parse(char const*, char const*) (StreamCore.cc:222)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192== 
==32192== 9 errors in context 6 of 6:
==32192== Mismatched free() / delete / delete []
==32192==    at 0x1B906CA8: operator delete(void*) (vg_replace_malloc.c:155)
==32192==    by 0x805BEA4: StreamProtocolParser::Protocol::Variable::~Variable() (StreamProtocol.cc:714)
==32192==    by 0x805C72A: StreamProtocolParser::Protocol::~Protocol() (StreamProtocol.cc:769)
==32192==    by 0x8063A75: StreamCore::parse(char const*, char const*) (StreamCore.cc:228)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
==32192==    by 0x80BF59D: initDatabase (iocInit.c:351)
==32192==    by 0x80BF0CF: iocInit (iocInit.c:107)
==32192==    by 0x80BEF78: iocInitCallFunc (dbAccessRegister.c:69)
==32192==    by 0x80BC8EC: iocshBody (iocsh.cpp:743)
==32192==  Address 0x1BCCA270 is 0 bytes inside a block of size 128 alloc'd
==32192==    at 0x1B906985: operator new[](unsigned) (vg_replace_malloc.c:138)
==32192==    by 0x8058A6D: StreamBuffer::grow(long) (StreamBuffer.cc:97)
==32192==    by 0x80589D2: StreamBuffer::init(void const*, long) (StreamBuffer.cc:44)
==32192==    by 0x805BD71: StreamProtocolParser::Protocol::Variable::Variable(StreamProtocolParser::Protocol::Variable const&) (StreamBuffer.h:61)
==32192==    by 0x805C448: StreamProtocolParser::Protocol::Protocol(StreamProtocolParser::Protocol const&, StreamBuffer&, int) (StreamProtocol.cc:744)
==32192==    by 0x805A0A3: StreamProtocolParser::getProtocol(StreamBuffer const&) (StreamProtocol.cc:239)
==32192==    by 0x8059C0E: StreamProtocolParser::getProtocol(char const*, StreamBuffer const&) (StreamProtocol.cc:142)
==32192==    by 0x8063A1B: StreamCore::parse(char const*, char const*) (StreamCore.cc:216)
==32192==    by 0x8056F9A: Stream::initRecord() (StreamEpics.cc:607)
==32192==    by 0x8055DAF: streamInitRecord (StreamEpics.cc:415)
==32192==    by 0x8053DDC: initRecord (devaiStream.c:77)
==32192==    by 0x80A5949: init_record (aiRecord.c:143)
--32192-- 
--32192-- supp:   27 Ugly strchr error in /lib/ld-2.3.2.so
==32192== 
==32192== IN SUMMARY: 30 errors from 6 contexts (suppressed: 27 from 1)
==32192== 
==32192== malloc/free: in use at exit: 477440 bytes in 10433 blocks.
==32192== malloc/free: 10879 allocs, 446 frees, 586759 bytes allocated.
==32192== 
==32192== searching for pointers to 10433 not-freed blocks.
==32192== checked 4513024 bytes.
==32192== 
==32192== LEAK SUMMARY:
==32192==    definitely lost: 60 bytes in 3 blocks.
==32192==      possibly lost: 2308 bytes in 60 blocks.
==32192==    still reachable: 475072 bytes in 10370 blocks.
==32192==         suppressed: 0 bytes in 0 blocks.
==32192== Use --leak-check=full to see details of leaked memory.
--32192--     TT/TC: 0 tc sectors discarded.
--32192--            15668 tt_fast misses.
--32192-- translate: new     12304 (244384 -> 3046173; ratio 124:10)
--32192--            discard 0 (0 -> 0; ratio 0:10).
--32192-- chainings: 9309 chainings, 0 unchainings.
--32192--  dispatch: 16936242 jumps (bb entries); of them 2652525 (15%) unchained.
--32192--            349/28852 major/minor sched events.
--32192-- reg-alloc: 2640 t-req-spill, 533407+19152 orig+spill uis,
--32192--            65985 total-reg-rank
--32192--    sanity: 350 cheap, 14 expensive checks.
--32192--    ccalls: 56065 C calls, 52% saves+restores avoided (172622 bytes)
--32192--            79435 args, avg 0.86 setup instrs each (22208 bytes)
--32192--            0% clear the stack (167703 bytes)
--32192--            20900 retvals, 29% of reg-reg movs avoided (11918 bytes)
zsh: 32192 segmentation fault  valgrind -v ../../bin/linux-x86/SIOC6CP st.cmd > out 2>& 1

Replies:
Re: Asyn/VXI-11 problems Benjamin Franksen
References:
Asyn/VXI-11 problems Benjamin Franksen
RE: Asyn/VXI-11 problems Jeff Hill
Re: Asyn/VXI-11 problems Eric Norum

Navigate by Date:
Prev: Re: confusion with config dir in base Geoff Savage
Next: Use of waveform records Touchard Dominique
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Asyn/VXI-11 problems Eric Norum
Next: Re: Asyn/VXI-11 problems Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·