lvc / abi-dumper

Dump ABI of an ELF object containing DWARF debug info
GNU Lesser General Public License v2.1
177 stars 33 forks source link

ERROR: missed type (name|id) #1

Closed alexandernst closed 9 years ago

alexandernst commented 9 years ago

I tried using abi-dumper with kernel 3.18.5 compiled with CONFIG_DEBUG_INFO=y , but I'm getting:

ERROR: missed type name (66820236)
ERROR: missed type id 223437
ERROR: missed type name (11706)
ERROR: missed type name (11803)
ERROR: missed type id 16785117
ERROR: missed type name (16225)
ERROR: missed type id 35603
ERROR: missed type name (60824)
ERROR: missed type name (60704)
ERROR: missed type id 99833
ERROR: missed type id 18524
ERROR: missed type id 717
ERROR: missed type name (20971)
ERROR: missed type name (20918)
ERROR: missed type id 18556
ERROR: missed type name (20828)
ERROR: missed type name (20795)
ERROR: missed type name (20733)
ERROR: missed type id 35668251

and more...

What is the problem?

cinemast commented 9 years ago

I am also getting the same error messages.

lvc commented 9 years ago

Hello,

Thanks for reporting the issue.

Did you tried with CONFIG_DEBUG_INFO_REDUCED=n?

alexandernst commented 9 years ago

@lvc I just tried with CONFIG_DEBUG_INFO_REDUCED=n and I get the same error.

lvc commented 9 years ago

Could you please share the output of "eu-readelf -N --debug-dump=info vmlinux" somewhere? The latest version from master works for me on kernel 3.18.5 and I can't reproduce the issue. I need your debug info generated by your compiler to fix the issue.

Thank you.

alexandernst commented 9 years ago

Here you go. This is kernel 3.19.8 compiled with gcc 4.9.3-3 on a Debian 8 x64.

(I'm attaching both the output of eu-readelf and the vmlinux itself.

lvc commented 9 years ago

Thanks for your help. Seems that output of the eu-readelf is the same on my computer (with different compiler and elfutils).

So, could you please run the abi-dumper tool once again on the vmlinux binary with the additional "-extra-info ./tmp-dir" option in order to dump all the intermediate analysis info to the "tmp-dir" local directory and share it too. Also please attach the error output of the tool (IDs of missed types may be different in this case).

Also make sure that "abi-dumper -dumpversion" returns "0.99.9".

BTW On my computer I can't run the abi-dumper on such a large binary because I have only 8Gb of RAM available. I use dwz utility to compress the debug-info of the input binary: http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=1602938

It's easy to build this utility from sources by one "make" command.

Usage: dwz ./binary (it will change the input binary, so make the backup first)

alexandernst commented 9 years ago

Here you go. I did everything as you said, let's hope that helps you debug the problem.

lvc commented 9 years ago

Please try:

LANG=en_US.UTF-8 abi-dumper vmlinux

alexandernst commented 9 years ago

Running that worked fine (no errors/warnings). So, why the dumper is expecting my system to run in english? Also, could it force somehow english?

lvc commented 9 years ago

Thanks for your help. Now I can fix the issue. The tool will set LANG before executing the elfutils.

lvc commented 9 years ago

Fixed in the 0.99.9 release.