https://bugs.kde.org/show_bug.cgi?id=405295

            Bug ID: 405295
           Summary: valgrind 3.14.0 dies due to mysterious DWARF
                    information? (output from rust used by Mozilla TB.)
           Product: valgrind
           Version: 3.14.0
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: critical
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: ishik...@yk.rim.or.jp
  Target Milestone: ---

SUMMARY
I tried to run the latest mozilla thundebird under valgrind.
These days mozilla code uses the binary from rust compiler.
valgrind 3.14.0 under Debian GNU/Linux 64-bit version barfed on rust
library file.

STEPS TO REPRODUCE
1. Run thunderbird under valgrind as below.
YMMV. I show the command that was used to invoke TB under valgrind using my
local directory layout.

2. valgrind dies with segfault after printing the following message:

parse DIE(readdwarf3.c:3123): confused by:
 <0><25e98>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_producer    : (indirect string, offset: 0x16635): clang LLVM (rustc
version 1.33.0 (2aa4c46cf 2019-02-28))
     DW_AT_language    : 28
     DW_AT_name        : (indirect string, offset: 0x1666e):
toolkit/library/rust/shared/lib.rs
     DW_AT_stmt_list   : 61687424
     DW_AT_comp_dir    : (indirect string, offset: 0x16691):
/NREF-COMM-CENTRAL/mozilla
     DW_AT_???         : 1
     DW_AT_low_pc      : 0x0
     DW_AT_ranges      : 48624688
parse_type_DIE:
--3863-- WARNING: Serious error when reading debug info
--3863-- When reading debug info from
/KERNEL-SRC/moz-obj-dir/objdir-tb3/toolkit/library/libxul.so:
--3863-- confused by the above DIE
Segmentation fault

3. 

OBSERVED RESULT

segmentation error.
EXPECTED RESULT

Normal operation.

SOFTWARE/OS VERSIONS
Debian GNU/Linux amd64 version.
Linux ip030 4.19.0-1-amd64 #1 SMP Debian 4.19.12-1 (2018-12-22) x86_64
GNU/Linux

Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

Full command output on the console where valgrind is invoked.
Using profile dir: /tmp/mozmillprofile
run-valgrind (masquerading as thunderbird binary)
final command line is:
valgrind --trace-children=yes --fair-sched=yes --smc-check=all-non-file
--gen-suppressions=all --vex-iropt-register-updates=allregs-at-mem-access
--track-origins=yes --child-silent-after-fork=yes
--trace-children-skip=/usr/bin/hg,/bin/rm,*/bin/certutil,*/bin/pk12util,*/bin/ssltunnel,*/bin/uname,*/bin/which,*/bin/ps,*/bin/grep,*/bin/java
--num-transtab-sectors=24 --tool=memcheck --freelist-vol=500000000
--redzone-size=128 --px-default=allregs-at-mem-access
--px-file-backed=unwindregs-at-mem-access --read-var-info=yes
--malloc-fill=0xA5 --free-fill=0xC3 --num-callers=50
--suppressions=$HOME/Dropbox/myown.sup --show-mismatched-frees=no
--show-possibly-lost=no --read-inline-info=yes 
/KERNEL-SRC/moz-obj-dir/objdir-tb3/dist/bin/thunderbird-bin -jsbridge 24242
-foreground -profile /tmp/mozmillprofile

==3863== Memcheck, a memory error detector
==3863== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==3863== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==3863== Command: /KERNEL-SRC/moz-obj-dir/objdir-tb3/dist/bin/thunderbird-bin
-jsbridge 24242 -foreground -profile /tmp/mozmillprofile
==3863==

parse DIE(readdwarf3.c:3123): confused by:
 <0><25e98>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_producer    : (indirect string, offset: 0x16635): clang LLVM (rustc
version 1.33.0 (2aa4c46cf 2019-02-28))
     DW_AT_language    : 28
     DW_AT_name        : (indirect string, offset: 0x1666e):
toolkit/library/rust/shared/lib.rs
     DW_AT_stmt_list   : 61687424
     DW_AT_comp_dir    : (indirect string, offset: 0x16691):
/NREF-COMM-CENTRAL/mozilla
     DW_AT_???         : 1
     DW_AT_low_pc      : 0x0
     DW_AT_ranges      : 48624688
parse_type_DIE:
--3863-- WARNING: Serious error when reading debug info
--3863-- When reading debug info from
/KERNEL-SRC/moz-obj-dir/objdir-tb3/toolkit/library/libxul.so:
--3863-- confused by the above DIE
Segmentation fault
^CTraceback (most recent call last):
  File "runtestlist.py", line 142, in <module>
    line = proc.stdout.readline()
KeyboardInterrupt
make: *** [/NREF-COMM-CENTRAL/mozilla/comm/mail/testsuite-targets.mk:31:
mozmill] Interrupt

ishikawa@ip030:/tmp$ uname -a
Linux ip030 4.19.0-1-amd64 #1 SMP Debian 4.19.12-1 (2018-12-22) x86_64
GNU/Linux
ishikawa@ip030:/tmp$ 

Thank you in advance for your attention.

PS: I know it could be due to rust producing incorrect DWARF output, but I have
no idea. I wanted to check with you first.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to