Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 363773

Summary: Agent exits on getting frame info
Product: [Tools] TCF Reporter: Frederic Leger <frederic.leger>
Component: AgentAssignee: Project Inbox <tcf.agent-inbox>
Status: RESOLVED FIXED QA Contact: Eugene Tarassov <eugene>
Severity: normal    
Priority: P3 CC: cdtdoug, mober.at+eclipse
Version: unspecified   
Target Milestone: 0.5.0   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Frederic Leger CLA 2011-11-15 02:23:56 EST
Build Identifier: 

While trying to understand all the possibilities of the symbols service of the agent, I had it exit with :

agent: services/symbols_elf.c :1076 : get_stack_tracing_info:  L'assertion « rt_addr == elf_map_to_run_time_address(ctx, file, sec, lt_addr) » a échoué.
Abandon (core dumped)

The address I provided to the frame info request is something I retrieved from the memory map :

TCF 12:51.271: 0: <--- R 26  [{"Addr":4194304,"Size":4096,"Flags":5,"FileName":"/home/fredl/projects/talos/workspace/x86-64-linux2/myloop/Debug/myloop","Offs":0},{"Addr":6291456,"Size":4096,"Flags":1,"FileName":"/home/fredl/projects/talos/workspace/x86-64-linux2/myloop/Debug/myloop","Offs":0},{"Addr":6295552,"Size":4096,"Flags":3,"FileName":"/home/fredl/projects/talos/workspace/x86-64-linux2/myloop/Debug/myloop","Offs":4096},{"Addr":140252184297472,"Size":1613824,"Flags":5,"FileName":"/lib/x86_64-linux-gnu/libc-2.13.so","Offs":0},{"Addr":140252185911296,"Size":2093056,"Flags":0,"FileName":"/lib/x86_64-linux-gnu/libc-2.13.so","Offs":1613824},{"Addr":140252188004352,"Size":16384,"Flags":1,"FileName":"/lib/x86_64-linux-gnu/libc-2.13.so","Offs":1609728},{"Addr":140252188020736,"Size":4096,"Flags":3,"FileName":"/lib/x86_64-linux-gnu/libc-2.13.so","Offs":1626112},{"Addr":140252188024832,"Size":24576,"Flags":3,"FileName":"/lib/x86_64-linux-gnu/libc-2.13.so","Offs":1630208,"BSS":true},{"Addr":140252188049408,"Size":135168,"Flags":5,
TCF 12:51.282: 0: ---> C 27 Symbols findFrameInfo "P3807" 4194304 <eom>
TCF 12:51.282: 0: <--- R 27  0 0 null null <eom>
TCF 12:51.286: 0: ---> C 28 Symbols findFrameInfo "P3807" 6291456 <eom>
TCF 12:51.286: 0: <--- R 28  0 0 null null <eom>
TCF 12:51.290: 0: ---> C 29 Symbols findFrameInfo "P3807" 6295552 <eom>
TCF 12:51.290: 0: <--- R 29  0 0 null null <eom>
TCF 12:51.294: 0: ---> C 30 Symbols findFrameInfo "P3807" 140252184297472 <eom>
TCF 12:51.295: 0: <--- R 30  0 0 null null <eom>
TCF 12:51.298: 0: ---> C 31 Symbols findFrameInfo "P3807" 140252185911296 <eom>
TCF 12:51.299: 0: <--- R 31  0 0 null null <eom>
TCF 12:51.302: 0: ---> C 32 Symbols findFrameInfo "P3807" 140252188004352 <eom>
TCF 12:51.302: 0: <--- R 32  0 0 null null <eom>
TCF 12:51.306: 0: ---> C 33 Symbols findFrameInfo "P3807" 140252188020736 <eom>

The last command never returns ...

From my point of view, even if the address is bad or should not be used, the agent should not exit ...

Reproducible: Always

Steps to Reproduce:
1.Start a new process with the processes service
2.When the first container suspended event is received, get the current memory map
3.For each of the addresses of the memory map, try to get the fram infos
Comment 1 Eugene Tarassov CLA 2011-11-15 12:01:58 EST
That assert is incorrect and it is already removed in the latest code. What version of the code are you using?
Comment 2 Frederic Leger CLA 2011-11-15 12:05:12 EST
Eugene, we are based on 0.5.0 for Talos development
Comment 3 Frederic Leger CLA 2011-11-15 12:05:45 EST
(In reply to comment #1)
> That assert is incorrect and it is already removed in the latest code. What
> version of the code are you using?

Eugene, we are based on 0.5.0 for Talos development
Comment 4 Eugene Tarassov CLA 2011-11-15 13:10:31 EST
I have back-ported the fix into 0.5.0 branch.