New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 690917 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: Jan 10
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Symbols are broken in asan debug builds of v8

Project Member Reported by u...@chromium.org, Feb 10 2017

Issue description

Running v8 built with asan in gdb produces these warnings (v8 revision 2237106ae2c507d32a199d1a039ffae6a5619eb6):
> warning: (Internal error: pc 0x5a9f605c in read in psymtab, but not in symtab.)

When I try to inspect a variable I get the error. Example:
> 5544	void Simulator::InstructionDecode(Instruction* instr) {
> (gdb) p instr
> No symbol "instr" in current context.

Steps to reproduce:
1. cd v8
2. gn args out/Debug
is_asan = true
is_component_build = false
is_debug = true
sanitizer_coverage_flags = "edge"
target_cpu = "x86"
use_goma = true
v8_enable_backtrace = true
v8_enable_slow_dchecks = true
v8_target_cpu = "arm"
symbol_level=2
v8_optimized_debug=false

3. ninja -C out/Debug d8 -j30
4. gdb --args out/Debug/d8 any_js_file.js
5. break in gdb and try to inspect any variable in a v8 function on the stack.
Expected: gdb prints variable contents
Actual: gdb prints error message.

Setting "is_asan = false" fixes this issue.

glider@, I saw that you own asan related issues here. Would you be the right person to triage this?
 

Comment 1 by glider@chromium.org, Feb 10 2017

Not sure I can test this quickly, but here's how you can debug this:

1. Check that there are debug sections in d8 binary using `objdump -h`.
2. If there are none (probably there aren't), rebuild d8 with the -v flag to see the compiler invocation command lines.
3. Search for -g in those.

I suspect the problem is unrelated to ASan itself, and something is wrong with the GN configs.

Comment 2 by u...@chromium.org, Feb 10 2017

It seems to have debug sections (see objdump output below).

Note that "is_asan = false" fixes the gdb issue with all other gn flags being the same.


out/Debug/d8:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .interp       00000013  00000174  00000174  00000174  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .note.ABI-tag 00000020  00000188  00000188  00000188  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .note.gnu.build-id 00000024  000001a8  000001a8  000001a8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .dynsym       000794d0  000001cc  000001cc  000001cc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .dynstr       0025efd9  0007969c  0007969c  0007969c  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .gnu.hash     00036130  002d8678  002d8678  002d8678  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .gnu.version  0000f29a  0030e7a8  0030e7a8  0030e7a8  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .gnu.version_r 000001d0  0031da44  0031da44  0031da44  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .rel.dyn      002b6fe0  0031dc14  0031dc14  0031dc14  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .rel.plt      00000768  005d4bf4  005d4bf4  005d4bf4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .init         00000030  005d535c  005d535c  005d535c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .plt          00000ee0  005d5390  005d5390  005d5390  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 12 .text         053131b8  005d6270  005d6270  005d6270  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 13 .fini         0000001c  058e9428  058e9428  058e9428  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 14 .rodata       0075f562  058e9460  058e9460  058e9460  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 15 .eh_frame     002ab3e0  060489c4  060489c4  060489c4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 16 .eh_frame_hdr 000ab3b4  062f3da4  062f3da4  062f3da4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 17 .tbss         00000028  063a10c0  063a10c0  063a00c0  2**2
                  ALLOC, THREAD_LOCAL
 18 .ctors        00000008  063a10c0  063a10c0  063a00c0  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 19 .dtors        00000008  063a10c8  063a10c8  063a00c8  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 20 .jcr          00000004  063a10d0  063a10d0  063a00d0  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 21 .preinit_array 00000004  063a10d4  063a10d4  063a00d4  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 22 .init_array   00001828  063a10d8  063a10d8  063a00d8  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 23 .data.rel.ro  0013c5ec  063a2900  063a2900  063a1900  2**5
                  CONTENTS, ALLOC, LOAD, DATA
 24 .fini_array   00000b4c  064deeec  064deeec  064ddeec  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 25 .dynamic      00000150  064dfa38  064dfa38  064dea38  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 26 .got          000000b8  064dfb88  064dfb88  064deb88  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 27 .got.plt      000003c0  064dfc40  064dfc40  064dec40  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 28 .data         001f97a0  064e0000  064e0000  064df000  2**5
                  CONTENTS, ALLOC, LOAD, DATA
 29 .bss          006992b8  066d97c0  066d97c0  066d87c0  2**6
                  ALLOC
 30 .comment      0000005d  00000000  00000000  066d87a0  2**0
                  CONTENTS, READONLY
 31 .debug_str    002014fa  00000000  00000000  066d87fd  2**0
                  CONTENTS, READONLY, DEBUGGING
 32 .debug_loc    00000000  00000000  00000000  068d9cf7  2**0
                  CONTENTS, READONLY, DEBUGGING
 33 .debug_abbrev 00014307  00000000  00000000  068d9cf7  2**0
                  CONTENTS, READONLY, DEBUGGING
 34 .debug_info   005b3118  00000000  00000000  068edffe  2**0
                  CONTENTS, READONLY, DEBUGGING
 35 .debug_ranges 00137e00  00000000  00000000  06ea1116  2**0
                  CONTENTS, READONLY, DEBUGGING
 36 .debug_macinfo 00000304  00000000  00000000  06fd8f16  2**0
                  CONTENTS, READONLY, DEBUGGING
 37 .debug_line   01d6efa4  00000000  00000000  06fd921a  2**0
                  CONTENTS, READONLY, DEBUGGING
 38 .debug_addr   00000014  00000000  00000000  08d481be  2**0
                  CONTENTS, READONLY, DEBUGGING
 39 .debug_pubnames 000000b7  00000000  00000000  08d481d2  2**0
                  CONTENTS, READONLY, DEBUGGING
 40 .debug_pubtypes 00000036  00000000  00000000  08d48289  2**0
                  CONTENTS, READONLY, DEBUGGING
 41 .note.gnu.gold-version 0000001c  00000000  00000000  08d482c0  2**2
                  CONTENTS, READONLY


Status: Archived (was: Untriaged)
Archiving P3s older than 1 year with no owner or component.

Sign in to add a comment