I have been looking to use cxxtools in some projects that require both Linux
and Windows support.  As part of doing some testing in compiling with
Cygwin, I was getting segmentation faults with the rpcechoclient demo.  The
application runs but then generates faults when cleaning up at the end of
execution.  I went back to the standard Linux version (master branch) and
was able to recreate the problem compiling with Address Sanitizer.  I don't
get this problem with the 2.2.1 release.

 

What seems to be happening is that Connection::close() is being called with
an object that is part of the list in the Connectable class.  Inside
Connectable::onConnectionClose(), it finds the element and removes it which
calls the destructor.  When it returns back, you are in the object that you
just called the destructor for.  

 

With the standard Linux compilation, it basically ignores it.  With Address
Sanitizer added, it will detect that the object has already been deleted and
generate an error.

 

Below is a trace the code with various trace and debug statements added.  

The object that is a problem is at address 0x60300000abe0. 

At 2015-02-03 15:00:40.52715, it is created. 

At 2015-02-03 15:00:40.53251, it's close function is called.  

At 2015-02-03 15:00:40.53268, it's destructor is called.

It is still accessed when returning and causes a Heap Use After Free error.

 

Steve

 

2015-02-03 14:54:18.09023 [62690.140737353938880] DEBUG main - create
clients

2015-02-03 14:54:18.09505 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - ENTER RpcClient::RpcClient

2015-02-03 14:54:18.09509 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - ENTER prepareConnect(host,port)

2015-02-03 14:54:18.09586 [62690.140737353938880] DEBUG
cxxtools.net.addrinfo - host=localhost port=7002

2015-02-03 14:54:18.11993 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - ENTER prepareConnect(addrinfo)

2015-02-03 14:54:18.12000 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - ENTER getImpl

2015-02-03 14:54:18.12003 [62690.140737353938880] DEBUG
cxxtools.json.rpcclient - create new client impl

2015-02-03 14:54:18.12021 [62690.140737353938880] TRACE
cxxtools.streambuffer - ENTER Create
StreamBuffer(ioDevice,bufferSize,extend)

2015-02-03 14:55:50.81774 [62690.140737353938880] TRACE
cxxtools.streambuffer - ENTER attach

2015-02-03 14:55:50.81800 [62690.140737353938880] DEBUG
cxxtools.streambuffer - connect onRead

2015-02-03 15:00:40.52682 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(sender,slot)

2015-02-03 15:00:40.52694 [62690.140737353938880] DEBUG cxxtools.connection
- this 0x7fffffffb0a0

2015-02-03 15:00:40.52703 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffb0a0, _data ptr
= 0x60300000ac30

2015-02-03 15:00:40.52707 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000ac10

2015-02-03 15:00:40.52709 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffb0a0, _data ptr
= 0x60300000ac30

2015-02-03 15:00:40.52713 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffb0a0, _data ptr
= 0x60300000ac30

2015-02-03 15:00:40.52715 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000abe0

2015-02-03 15:00:40.52718 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffb0a0, _data ptr
= 0x60300000ac30

2015-02-03 15:00:40.52720 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(sender,slot)

2015-02-03 15:00:40.52727 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x7fffffffb0a0

2015-02-03 15:00:40.52731 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 2

2015-02-03 15:00:40.52734 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x7fffffffb0a0

2015-02-03 15:00:40.52736 [62690.140737353938880] DEBUG
cxxtools.streambuffer - connect onWrite

2015-02-03 15:00:40.52741 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(sender,slot)

2015-02-03 15:00:40.52743 [62690.140737353938880] DEBUG cxxtools.connection
- this 0x7fffffffb1a0

2015-02-03 15:00:40.52747 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffb1a0, _data ptr
= 0x60300000aba0

2015-02-03 15:00:40.52750 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000ab80

2015-02-03 15:00:40.52753 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffb1a0, _data ptr
= 0x60300000aba0

2015-02-03 15:00:40.52755 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffb1a0, _data ptr
= 0x60300000aba0

2015-02-03 15:00:40.52758 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000ab50

2015-02-03 15:00:40.52760 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffb1a0, _data ptr
= 0x60300000aba0

2015-02-03 15:00:40.52762 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(sender,slot)

2015-02-03 15:00:40.52765 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x7fffffffb1a0

2015-02-03 15:00:40.52768 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 2

2015-02-03 15:00:40.52770 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x7fffffffb1a0

2015-02-03 15:00:40.52773 [62690.140737353938880] TRACE
cxxtools.streambuffer - EXIT attach

2015-02-03 15:00:40.52776 [62690.140737353938880] TRACE
cxxtools.streambuffer - EXIT Create StreamBuffer(ioDevice,bufferSize,extend)

2015-02-03 15:00:40.52783 [62690.140737353938880] TRACE cxxtools.stream -
ENTER Create IOStream(device,bufferSize,extend)

2015-02-03 15:00:40.52786 [62690.140737353938880] TRACE cxxtools.stream -
EXIT Create IOStream(device,bufferSize,extend)

2015-02-03 15:00:40.52800 [62690.140737353938880] TRACE
cxxtools.json.rpcclient.impl - ENTER RpcClientImpl::RpcClientImpl()

2015-02-03 15:00:40.52809 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(sender,slot)

2015-02-03 15:00:40.52812 [62690.140737353938880] DEBUG cxxtools.connection
- this 0x7fffffffbe80

2015-02-03 15:00:40.52817 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffbe80, _data ptr
= 0x60300000aae0

2015-02-03 15:00:40.52819 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000aac0

2015-02-03 15:00:40.52821 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffbe80, _data ptr
= 0x60300000aae0

2015-02-03 15:00:40.52829 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffbe80, _data ptr
= 0x60300000aae0

2015-02-03 15:00:40.52833 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000aa90

2015-02-03 15:00:40.52835 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffbe80, _data ptr
= 0x60300000aae0

2015-02-03 15:00:40.52837 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(sender,slot)

2015-02-03 15:00:40.52841 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x7fffffffbe80

2015-02-03 15:00:40.52843 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 2

2015-02-03 15:00:40.52845 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x7fffffffbe80

2015-02-03 15:00:40.52848 [62690.140737353938880] DEBUG
cxxtools.json.rpcclient.impl - connect onOutput

2015-02-03 15:00:40.52858 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(sender,slot)

2015-02-03 15:00:40.52861 [62690.140737353938880] DEBUG cxxtools.connection
- this 0x7fffffffbf80

2015-02-03 15:00:40.52864 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffbf80, _data ptr
= 0x60300000aa50

2015-02-03 15:00:40.52867 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000aa30

2015-02-03 15:00:40.52869 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffbf80, _data ptr
= 0x60300000aa50

2015-02-03 15:00:40.52872 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffbf80, _data ptr
= 0x60300000aa50

2015-02-03 15:00:40.52875 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000aa00

2015-02-03 15:00:40.52877 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffbf80, _data ptr
= 0x60300000aa50

2015-02-03 15:00:40.52879 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(sender,slot)

2015-02-03 15:00:40.52883 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x7fffffffbf80

2015-02-03 15:00:40.52885 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 2

2015-02-03 15:00:40.52887 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x7fffffffbf80

2015-02-03 15:00:40.52891 [62690.140737353938880] DEBUG
cxxtools.json.rpcclient.impl - connect onInput

2015-02-03 15:00:40.52894 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(sender,slot)

2015-02-03 15:00:40.52897 [62690.140737353938880] DEBUG cxxtools.connection
- this 0x7fffffffc080

2015-02-03 15:00:40.52900 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffc080, _data ptr
= 0x60300000a9c0

2015-02-03 15:00:40.52902 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000a9a0

2015-02-03 15:00:40.52904 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffc080, _data ptr
= 0x60300000a9c0

2015-02-03 15:00:40.52908 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Create Connection(connection): from this = 0x7fffffffc080, _data ptr
= 0x60300000a9c0

2015-02-03 15:00:40.52911 [62690.140737353938880] DEBUG cxxtools.connection
- this = 0x60300000a970

2015-02-03 15:00:40.52912 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(connection): from this = 0x7fffffffc080, _data ptr
= 0x60300000a9c0

2015-02-03 15:00:40.52926 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Create Connection(sender,slot)

2015-02-03 15:00:40.52930 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x7fffffffc080

2015-02-03 15:00:40.52932 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 2

2015-02-03 15:00:40.52934 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x7fffffffc080

2015-02-03 15:00:40.52935 [62690.140737353938880] TRACE
cxxtools.json.rpcclient.impl - EXIT RpcClientImpl::RpcClientImpl()

2015-02-03 15:00:40.52938 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - EXIT getImpl

2015-02-03 15:00:40.52942 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - EXIT prepareConnect(addrinfo)

2015-02-03 15:00:40.52945 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - EXIT prepareConnect(host,port)

2015-02-03 15:00:40.52946 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - EXIT RpcClient::RpcClient

2015-02-03 15:00:40.52948 [62690.140737353938880] DEBUG main - client
created

2015-02-03 15:00:40.52950 [62690.140737353938880] DEBUG main - client
configured

2015-02-03 15:00:40.52955 [62690.140737353938880] DEBUG main - RPC call
defined

2015-02-03 15:00:40.52958 [62690.140737353938880] DEBUG main - RPC call
finished

2015-02-03 15:00:40.52964 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Destroy Connectable

2015-02-03 15:00:40.52967 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Clear

2015-02-03 15:00:40.52969 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Clear

2015-02-03 15:00:40.52971 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Destroy Connectable

2015-02-03 15:00:40.52975 [62690.140737353938880] TRACE
cxxtools.json.rpcclient - ENTER Destroy RpcClient

2015-02-03 15:00:40.52977 [62690.140737353938880] TRACE
cxxtools.json.rpcclient.impl - ENTER Destroy RpcClientImpl

2015-02-03 15:00:40.52980 [62690.140737353938880] TRACE
cxxtools.json.rpcclient.impl - EXIT Destroy RpcClientImpl

2015-02-03 15:00:40.52987 [62690.140737353938880] TRACE cxxtools.stream -
ENTER Destroy IOStream

2015-02-03 15:00:40.52990 [62690.140737353938880] TRACE cxxtools.stream -
EXIT Destroy IOStream

2015-02-03 15:00:40.52994 [62690.140737353938880] TRACE
cxxtools.streambuffer - ENTER Destroy StreamBuffer

2015-02-03 15:00:40.52996 [62690.140737353938880] DEBUG
cxxtools.streambuffer - delet _ibuffer

2015-02-03 15:00:40.52999 [62690.140737353938880] DEBUG
cxxtools.streambuffer - delet _obuffer

2015-02-03 15:00:40.53000 [62690.140737353938880] DEBUG
cxxtools.streambuffer - exit streambuffer

2015-02-03 15:00:40.53002 [62690.140737353938880] TRACE
cxxtools.streambuffer - EXIT Destroy StreamBuffer

2015-02-03 15:00:40.53006 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Destroy Connectable

2015-02-03 15:00:40.53009 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Clear

2015-02-03 15:00:40.53012 [62690.140737353938880] DEBUG cxxtools.connectable
- Clear loopCount = 0

2015-02-03 15:00:40.53015 [62690.140737353938880] TRACE cxxtools.connection
- ENTER close: 0x60300000aa30

2015-02-03 15:00:40.53019 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect

2015-02-03 15:00:40.53022 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER onConnectionClose: Connection this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53026 [62690.140737353938880] DEBUG cxxtools.connectable
- List of current connections

2015-02-03 15:00:40.53029 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa90, _data ptr = 0x60300000aae0

2015-02-03 15:00:40.53033 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa00, _data ptr = 0x60300000aa50

2015-02-03 15:00:40.53035 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000a970, _data ptr = 0x60300000a9c0

2015-02-03 15:00:40.53038 [62690.140737353938880] DEBUG cxxtools.connectable
- Remove and destroy connection: this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53042 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x60300000aa00

2015-02-03 15:00:40.53045 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 1

2015-02-03 15:00:40.53046 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x60300000aa00

2015-02-03 15:00:40.53049 [62690.140737353938880] DEBUG cxxtools.connectable
- List of connections after remove

2015-02-03 15:00:40.53051 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa90, _data ptr = 0x60300000aae0

2015-02-03 15:00:40.53055 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000a970, _data ptr = 0x60300000a9c0

2015-02-03 15:00:40.53057 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT onConnectionClose: Connection this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53059 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect done: 0x60300000aa30

2015-02-03 15:00:40.53061 [62690.140737353938880] DEBUG cxxtools.connection
- setValid(false)

2015-02-03 15:00:40.53065 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER onConnectionClose: Connection this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53068 [62690.140737353938880] DEBUG cxxtools.connectable
- List of current connections

2015-02-03 15:00:40.53070 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa30, _data ptr = 0x60300000aa50

2015-02-03 15:00:40.53089 [62690.140737353938880] DEBUG cxxtools.connectable
- Remove and destroy connection: this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53094 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x60300000aa30

2015-02-03 15:00:40.53096 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 0

2015-02-03 15:00:40.53099 [62690.140737353938880] TRACE cxxtools.connection
- ENTER close: 0x60300000aa30

2015-02-03 15:00:40.53100 [62690.140737353938880] TRACE cxxtools.connection
- EXIT close: 0x60300000aa30

2015-02-03 15:00:40.53102 [62690.140737353938880] DEBUG cxxtools.connection
- delete _data ptr = 0x60300000aa50

2015-02-03 15:00:40.53106 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x60300000aa30

2015-02-03 15:00:40.53109 [62690.140737353938880] DEBUG cxxtools.connectable
- List of connections after remove

2015-02-03 15:00:40.53121 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT onConnectionClose: Connection this = 0x60300000aa30, _data ptr =
0x60300000aa50

2015-02-03 15:00:40.53128 [62690.140737353938880] TRACE cxxtools.connection
- EXIT close: 0x60300000aa30

2015-02-03 15:00:40.53130 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Clear

2015-02-03 15:00:40.53132 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Destroy Connectable

2015-02-03 15:00:40.53136 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Destroy Connectable

2015-02-03 15:00:40.53146 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Clear

2015-02-03 15:00:40.53149 [62690.140737353938880] DEBUG cxxtools.connectable
- Clear loopCount = 0

2015-02-03 15:00:40.53161 [62690.140737353938880] TRACE cxxtools.connection
- ENTER close: 0x60300000a9a0

2015-02-03 15:00:40.53164 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect

2015-02-03 15:00:40.53167 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER onConnectionClose: Connection this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53170 [62690.140737353938880] DEBUG cxxtools.connectable
- List of current connections

2015-02-03 15:00:40.53173 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa90, _data ptr = 0x60300000aae0

2015-02-03 15:00:40.53175 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000a970, _data ptr = 0x60300000a9c0

2015-02-03 15:00:40.53177 [62690.140737353938880] DEBUG cxxtools.connectable
- Remove and destroy connection: this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53181 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x60300000a970

2015-02-03 15:00:40.53184 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 1

2015-02-03 15:00:40.53186 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x60300000a970

2015-02-03 15:00:40.53189 [62690.140737353938880] DEBUG cxxtools.connectable
- List of connections after remove

2015-02-03 15:00:40.53192 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000aa90, _data ptr = 0x60300000aae0

2015-02-03 15:00:40.53193 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT onConnectionClose: Connection this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53197 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect done: 0x60300000a9a0

2015-02-03 15:00:40.53199 [62690.140737353938880] DEBUG cxxtools.connection
- setValid(false)

2015-02-03 15:00:40.53201 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER onConnectionClose: Connection this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53203 [62690.140737353938880] DEBUG cxxtools.connectable
- List of current connections

2015-02-03 15:00:40.53206 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000a9a0, _data ptr = 0x60300000a9c0

2015-02-03 15:00:40.53208 [62690.140737353938880] DEBUG cxxtools.connectable
- Remove and destroy connection: this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53211 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x60300000a9a0

2015-02-03 15:00:40.53213 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 0

2015-02-03 15:00:40.53216 [62690.140737353938880] TRACE cxxtools.connection
- ENTER close: 0x60300000a9a0

2015-02-03 15:00:40.53218 [62690.140737353938880] TRACE cxxtools.connection
- EXIT close: 0x60300000a9a0

2015-02-03 15:00:40.53220 [62690.140737353938880] DEBUG cxxtools.connection
- delete _data ptr = 0x60300000a9c0

2015-02-03 15:00:40.53223 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x60300000a9a0

2015-02-03 15:00:40.53229 [62690.140737353938880] DEBUG cxxtools.connectable
- List of connections after remove

2015-02-03 15:00:40.53233 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT onConnectionClose: Connection this = 0x60300000a9a0, _data ptr =
0x60300000a9c0

2015-02-03 15:00:40.53235 [62690.140737353938880] TRACE cxxtools.connection
- EXIT close: 0x60300000a9a0

2015-02-03 15:00:40.53236 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Clear

2015-02-03 15:00:40.53239 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT Destroy Connectable

2015-02-03 15:00:40.53243 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Destroy Connectable

2015-02-03 15:00:40.53245 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER Clear

2015-02-03 15:00:40.53247 [62690.140737353938880] DEBUG cxxtools.connectable
- Clear loopCount = 0

2015-02-03 15:00:40.53251 [62690.140737353938880] TRACE cxxtools.connection
- ENTER close: 0x60300000abe0

2015-02-03 15:00:40.53254 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect

2015-02-03 15:00:40.53256 [62690.140737353938880] TRACE cxxtools.connectable
- ENTER onConnectionClose: Connection this = 0x60300000abe0, _data ptr =
0x60300000ac30

2015-02-03 15:00:40.53258 [62690.140737353938880] DEBUG cxxtools.connectable
- List of current connections

2015-02-03 15:00:40.53262 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000abe0, _data ptr = 0x60300000ac30

2015-02-03 15:00:40.53264 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000ab50, _data ptr = 0x60300000aba0

2015-02-03 15:00:40.53266 [62690.140737353938880] DEBUG cxxtools.connectable
- Remove and destroy connection: this = 0x60300000abe0, _data ptr =
0x60300000ac30

2015-02-03 15:00:40.53268 [62690.140737353938880] TRACE cxxtools.connection
- ENTER Destroy Connection: 0x60300000abe0

2015-02-03 15:00:40.53270 [62690.140737353938880] DEBUG cxxtools.connection
- releaseCount = 1

2015-02-03 15:00:40.53273 [62690.140737353938880] TRACE cxxtools.connection
- EXIT Destroy Connection: 0x60300000abe0

2015-02-03 15:00:40.53276 [62690.140737353938880] DEBUG cxxtools.connectable
- List of connections after remove

2015-02-03 15:00:40.53278 [62690.140737353938880] DEBUG cxxtools.connectable
- Connection[] = this = 0x60300000ab50, _data ptr = 0x60300000aba0

2015-02-03 15:00:40.53280 [62690.140737353938880] TRACE cxxtools.connectable
- EXIT onConnectionClose: Connection this = 0x60300000abe0, _data ptr =
0x60300000ac30

2015-02-03 15:00:40.53283 [62690.140737353938880] DEBUG cxxtools.connection
- onDisconnect done: 0x60300000abe0

 

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general

Reply via email to