Running caget with valgrind again the other interface is advertised too:
epics@kannsein:~/EPICS/base-3.15.4-pre1$ valgrind bin/linux-x86_64/caget test
==95974== Memcheck, a memory error detector
==95974== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==95974== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==95974== Command: bin/linux-x86_64/caget test
==95974==
CA.Client.Exception...............................................
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: kannsein.rz-berlin.mpg.de:51041"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:27:25.270869640
..................................................................
"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:27:25.038468686
..................................................................
CA.Client.Exception...............................................
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: 10.20.30.1:51041test 74
==95974==
==95974== HEAP SUMMARY:
...
Without valgrind:
epics@kannsein:~/EPICS/base-3.15.4-pre1$ bin/linux-x86_64/caget test
CA.Client.Exception...............................................
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: localhost:51041, Ignored: kannsein.rz-berlin.mpg.de:51041"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:28:34.051648189
..................................................................
test 143
There are none reported leaks for msgForMultiplyDefinedPV:
epics@kannsein:~/EPICS/base-3.15.4-pre1$ valgrind --leak-check=full bin/linux-x86_64/caget test
==96056== Memcheck, a memory error detector
==96056== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==96056== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==96056== Command: bin/linux-x86_64/caget test
==96056==
"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:32:22.206396366
..................................................................
CA.Client.Exception...............................................
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: kannsein.rz-berlin.mpg.de:51041"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:32:22.097905618
..................................................................
CA.Client.Exception...............................................
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: 10.20.30.1:51041test 371
==96056==
==96056== HEAP SUMMARY:
==96056== in use at exit: 25,410 bytes in 264 blocks
==96056== total heap usage: 473 allocs, 209 frees, 1,062,862 bytes allocated
==96056==
==96056== 5 bytes in 1 blocks are definitely lost in loss record 4 of 103
==96056== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96056== by 0x4E74A6E: nciu::nciu(cac&, netiiu&, cacChannelNotify&, char const*, unsigned int) (nciu.cpp:67)
==96056== by 0x4E61C3D: cac::createChannel(epicsGuard<epicsMutex>&, char const*, cacChannelNotify&, unsigned int) (cac.cpp:520)
==96056== by 0x4E838FB: oldChannelNotify::oldChannelNotify(epicsGuard<epicsMutex>&, ca_client_context&, char const*, void (*)(connection_handler_args), void*, unsigned int) (oldChannelNotify.cpp:51)
==96056== by 0x4E652E1: ca_create_channel (access.cpp:333)
==96056== by 0x40484E: create_pvs (tool_lib.c:587)
==96056== by 0x40484E: connect_pvs (tool_lib.c:623)
==96056== by 0x401E01: main (caget.c:544)
==96056==
==96056== 112 (88 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 94 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96056== by 0x401DB5: main (caget.c:533)
==96056==
==96056== 288 bytes in 1 blocks are possibly lost in loss record 97 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96056== by 0x4012E54: allocate_dtv (dl-tls.c:296)
==96056== by 0x4012E54: _dl_allocate_tls (dl-tls.c:460)
==96056== by 0x56E2DA0: allocate_stack (allocatestack.c:589)
==96056== by 0x56E2DA0: pthread_create@@GLIBC_2.2.5 (pthread_create.c:500)
==96056== by 0x50E4D2B: epicsThreadCreate (osdThread.c:516)
==96056== by 0x50DE8CC: epicsThread::epicsThread(epicsThreadRunable&, char const*, unsigned int, unsigned int) (epicsThread.cpp:186)
==96056== by 0x50DD7A6: ipAddrToAsciiEnginePrivate::ipAddrToAsciiEnginePrivate() (ipAddrToAsciiAsynchronous.cpp:140)
==96056== by 0x50DD848: ipAddrToAsciiEngineGlobalMutexConstruct (ipAddrToAsciiAsynchronous.cpp:115)
==96056== by 0x50E5FA0: epicsThreadOnce (osdThread.c:477)
==96056== by 0x50DD65A: ipAddrToAsciiEngine::allocate() (ipAddrToAsciiAsynchronous.cpp:129)
==96056== by 0x4E60863: cac::cac(epicsMutex&, epicsMutex&, cacContextNotify&) (cac.cpp:136)
==96056== by 0x4E828CD: ca_client_context::ca_client_context(bool) (ca_client_context.cpp:92)
==96056== by 0x4E650B5: ca_context_create (access.cpp:206)
==96056==
==96056== 288 bytes in 1 blocks are possibly lost in loss record 98 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96056== by 0x4012E54: allocate_dtv (dl-tls.c:296)
==96056== by 0x4012E54: _dl_allocate_tls (dl-tls.c:460)
==96056== by 0x56E2DA0: allocate_stack (allocatestack.c:589)
==96056== by 0x56E2DA0: pthread_create@@GLIBC_2.2.5 (pthread_create.c:500)
==96056== by 0x50E4D2B: epicsThreadCreate (osdThread.c:516)
==96056== by 0x50CF28B: errlogInitPvt (errlog.c:500)
==96056== by 0x50E5FA0: epicsThreadOnce (osdThread.c:477)
==96056== by 0x50CF6A5: errlogInit2 (errlog.c:525)
==96056== by 0x50CF969: errlogVprintf (errlog.c:159)
==96056== by 0x4E80D36: ca_client_context::printFormated(char const*, ...) const (ca_client_context.cpp:272)
==96056== by 0x4E80D82: ca_client_context::vSignal(int, char const*, int, char const*, __va_list_tag*) (ca_client_context.cpp:383)
==96056== by 0x4E80F07: ca_client_context::signal(int, char const*, int, char const*, ...) (ca_client_context.cpp:363)
==96056== by 0x4E81005: ca_client_context::exception(epicsGuard<epicsMutex>&, int, char const*, char const*, unsigned int) (ca_client_context.cpp:319)
==96056==
==96056== LEAK SUMMARY:
==96056== definitely lost: 93 bytes in 2 blocks
==96056== indirectly lost: 24 bytes in 1 blocks
==96056== possibly lost: 576 bytes in 2 blocks
==96056== still reachable: 24,717 bytes in 259 blocks
==96056== suppressed: 0 bytes in 0 blocks
==96056== Reachable blocks (those to which a pointer was found) are not shown.
==96056== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==96056==
==96056== For counts of detected and suppressed errors, rerun with: -v
==96056== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Running caget with valgrind again the other interface is advertised too:
epics@kannsein: ~/EPICS/ base-3. 15.4-pre1$ valgrind bin/linux- x86_64/ caget test x86_64/ caget test Exception. ....... ....... ....... ....... ....... ....... .... rz-berlin. mpg.de: 51041" ....... ....... ....... ....... ....... ....... ....... ....... ... ....... ....... ....... ....... ....... ....... ....... ....... ... Exception. ....... ....... ....... ....... ....... ....... .... 1:51041test 74
==95974== Memcheck, a memory error detector
==95974== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==95974== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==95974== Command: bin/linux-
==95974==
CA.Client.
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: kannsein.
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:27:25.270869640
.......
"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:27:25.038468686
.......
CA.Client.
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: 10.20.30.
==95974==
==95974== HEAP SUMMARY:
...
Without valgrind:
epics@kannsein: ~/EPICS/ base-3. 15.4-pre1$ bin/linux- x86_64/ caget test Exception. ....... ....... ....... ....... ....... ....... .... rz-berlin. mpg.de: 51041" ....... ....... ....... ....... ....... ....... ....... ....... ...
CA.Client.
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: localhost:51041, Ignored: kannsein.
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:28:34.051648189
.......
test 143
There are none reported leaks for msgForMultiplyD efinedPV:
epics@kannsein: ~/EPICS/ base-3. 15.4-pre1$ valgrind --leak-check=full bin/linux- x86_64/ caget test x86_64/ caget test ....... ....... ....... ....... ....... ....... ....... ....... ... Exception. ....... ....... ....... ....... ....... ....... .... rz-berlin. mpg.de: 51041" ....... ....... ....... ....... ....... ....... ....... ....... ... Exception. ....... ....... ....... ....... ....... ....... .... 1:51041test 371 valgrind/ vgpreload_ memcheck- amd64-linux. so) nel(epicsGuard< epicsMutex> &, char const*, cacChannelNotify&, unsigned int) (cac.cpp:520) y::oldChannelNo tify(epicsGuard <epicsMutex> &, ca_client_context&, char const*, void (*)(connection_ handler_ args), void*, unsigned int) (oldChannelNoti fy.cpp: 51) valgrind/ vgpreload_ memcheck- amd64-linux. so) valgrind/ vgpreload_ memcheck- amd64-linux. so) c:589) create@ @GLIBC_ 2.2.5 (pthread_ create. c:500) :epicsThread( epicsThreadRuna ble&, char const*, unsigned int, unsigned int) (epicsThread. cpp:186) ginePrivate: :ipAddrToAsciiE nginePrivate( ) (ipAddrToAsciiA synchronous. cpp:140) gineGlobalMutex Construct (ipAddrToAsciiA synchronous. cpp:115) gine::allocate( ) (ipAddrToAsciiA synchronous. cpp:129) epicsMutex& , epicsMutex&, cacContextNotify&) (cac.cpp:136) context: :ca_client_ context( bool) (ca_client_ context. cpp:92) valgrind/ vgpreload_ memcheck- amd64-linux. so) c:589) create@ @GLIBC_ 2.2.5 (pthread_ create. c:500) context: :printFormated( char const*, ...) const (ca_client_ context. cpp:272) context: :vSignal( int, char const*, int, char const*, __va_list_tag*) (ca_client_ context. cpp:383) context: :signal( int, char const*, int, char const*, ...) (ca_client_ context. cpp:363) context: :exception( epicsGuard< epicsMutex> &, int, char const*, char const*, unsigned int) (ca_client_ context. cpp:319) leak-kinds= all
==96056== Memcheck, a memory error detector
==96056== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==96056== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==96056== Command: bin/linux-
==96056==
"
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:32:22.206396366
.......
CA.Client.
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: kannsein.
Source File: ../cac.cpp line 1306
Current Time: Thu May 19 2016 17:32:22.097905618
.......
CA.Client.
Warning: "Identical process variable names on multiple servers"
Context: "Channel: "test", Connecting to: 127.0.0.1:51041, Ignored: 10.20.30.
==96056==
==96056== HEAP SUMMARY:
==96056== in use at exit: 25,410 bytes in 264 blocks
==96056== total heap usage: 473 allocs, 209 frees, 1,062,862 bytes allocated
==96056==
==96056== 5 bytes in 1 blocks are definitely lost in loss record 4 of 103
==96056== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/
==96056== by 0x4E74A6E: nciu::nciu(cac&, netiiu&, cacChannelNotify&, char const*, unsigned int) (nciu.cpp:67)
==96056== by 0x4E61C3D: cac::createChan
==96056== by 0x4E838FB: oldChannelNotif
==96056== by 0x4E652E1: ca_create_channel (access.cpp:333)
==96056== by 0x40484E: create_pvs (tool_lib.c:587)
==96056== by 0x40484E: connect_pvs (tool_lib.c:623)
==96056== by 0x401E01: main (caget.c:544)
==96056==
==96056== 112 (88 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 94 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/
==96056== by 0x401DB5: main (caget.c:533)
==96056==
==96056== 288 bytes in 1 blocks are possibly lost in loss record 97 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/
==96056== by 0x4012E54: allocate_dtv (dl-tls.c:296)
==96056== by 0x4012E54: _dl_allocate_tls (dl-tls.c:460)
==96056== by 0x56E2DA0: allocate_stack (allocatestack.
==96056== by 0x56E2DA0: pthread_
==96056== by 0x50E4D2B: epicsThreadCreate (osdThread.c:516)
==96056== by 0x50DE8CC: epicsThread:
==96056== by 0x50DD7A6: ipAddrToAsciiEn
==96056== by 0x50DD848: ipAddrToAsciiEn
==96056== by 0x50E5FA0: epicsThreadOnce (osdThread.c:477)
==96056== by 0x50DD65A: ipAddrToAsciiEn
==96056== by 0x4E60863: cac::cac(
==96056== by 0x4E828CD: ca_client_
==96056== by 0x4E650B5: ca_context_create (access.cpp:206)
==96056==
==96056== 288 bytes in 1 blocks are possibly lost in loss record 98 of 103
==96056== at 0x4C2CC70: calloc (in /usr/lib/
==96056== by 0x4012E54: allocate_dtv (dl-tls.c:296)
==96056== by 0x4012E54: _dl_allocate_tls (dl-tls.c:460)
==96056== by 0x56E2DA0: allocate_stack (allocatestack.
==96056== by 0x56E2DA0: pthread_
==96056== by 0x50E4D2B: epicsThreadCreate (osdThread.c:516)
==96056== by 0x50CF28B: errlogInitPvt (errlog.c:500)
==96056== by 0x50E5FA0: epicsThreadOnce (osdThread.c:477)
==96056== by 0x50CF6A5: errlogInit2 (errlog.c:525)
==96056== by 0x50CF969: errlogVprintf (errlog.c:159)
==96056== by 0x4E80D36: ca_client_
==96056== by 0x4E80D82: ca_client_
==96056== by 0x4E80F07: ca_client_
==96056== by 0x4E81005: ca_client_
==96056==
==96056== LEAK SUMMARY:
==96056== definitely lost: 93 bytes in 2 blocks
==96056== indirectly lost: 24 bytes in 1 blocks
==96056== possibly lost: 576 bytes in 2 blocks
==96056== still reachable: 24,717 bytes in 259 blocks
==96056== suppressed: 0 bytes in 0 blocks
==96056== Reachable blocks (those to which a pointer was found) are not shown.
==96056== To see them, rerun with: --leak-check=full --show-
==96056==
==96056== For counts of detected and suppressed errors, rerun with: -v
==96056== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)