|
FWIW, without '-env threads' third completes but the following
message is displayed on stdout when the instrumented exe is run.
exception system: exiting dues to multiple internal errors:
exception dispatch or unwind stuck in infinite loop
exception dispatch or unwind stuck in infinite loop
exception system: exiting dues to multiple internal errors:
exception dispatch or unwind stuck in infinite loop
exception dispatch or unwind stuck in infinite loop
Third Degree version 4.2
nss.third run by root on o1552, Thu Jul 31 14:35:24 1997
////////////// begin //.third ///////////////////
-----------------------------------------------
all leaks at_exit
all objects at_exit
new leaks at_exit
new objects at_exit
heap_history yes
-----------------------------------------------
////////////// end //.third ///////////////////
---------------------------------------------------------------- rih -- 0 --
ss_functions.C: 587: reading invalid heap 1 byte before 4-byte block
Translate_name(const String&, String&, String&)
nss, ss_functions.C, line 587
Get_channel_config_data(const String&, int*, int*, transport_type*)
nss, ss_functions.C, line 422
Comms_server::Open(void) nss, ss_comms_server.C, line 159
Comms_server::Activate(void) nss, ss_comms_server.C, line 515
main nss, nss.C, line 37
__start nss
This block at address 0x140053dd0 contains the string "114"
and was allocated at:
malloc libc.so
----- -----
----- -----
----- -----
|
| This does not look like the same problem as in note 299, because
the SEGV seems to happen in libmld's search_procedures routine,
which seems to be called by Atom before Third Degree's InstrumentAll
routine is reached. Note 299 involved name-demangling in Third Degree.
We are currently finalizing a new release of the unsupported Atom ADK,
so this might conceivably fix the problem. Otherwise, I expect the Atom
developer will need to get a copy of the executable that causes the SEGV.
You can email me the location of the application (for dcp or anonymous ftp)
if you like, and we'll look at it as soon as we have time.
As you seem to know, instrumenting threaded programs without "-env threads"
is doomed to failure, but it was a good test case, in that it shows that
the problem may be one of those difficult cases where random memory contents
are to blame.
|