Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Error in IDB maybe

bernaske
New Contributor I
496 Views
i like to debugg a oobench file ,
from the IDB following message

reading symbols from /...... /..Assertion failed: "false"./src/file/pil_parsesymsdwarf2.C:4865

and the IDB crashed

have you any idea why ?
0 Kudos
7 Replies
Hubert_H_Intel
Employee
496 Views

Which IDB are you using and how did you build the code?
Regards, Hubert.

0 Kudos
Hubert_H_Intel
Employee
496 Views
First inspection in the error messages indicates that there is an error with unsupported dwarf attributes.
So we need also information about the OS, gcc version and Intel product you are using. Thanks. Hubert.
0 Kudos
bernaske
New Contributor I
496 Views
Hi, Thank You Hubert for Your Answer,

as Follows:
Operating System: openSUSE 11.4 M4 64 Bit Release
gcc 4.5.1
Intel C/C++ Studio XE 2011

Question: is its possible that a wrong gcc library the reason ?

best thanks
regards

Franz
0 Kudos
Hubert_H_Intel
Employee
496 Views

Franz,

Yes, we saw issues with Dwarf4 attribues in gcc4.5 files under OpenSUSE 11. Currently, the Intel IDB Debugger stops at such unsupported dwarf attributes with an assertion failure. We will have a fix with the upcoming Intel Composer XE 2011 Update that ignores such non-essential attributes.

Do you have a small reproducer that shows the probem? If not, could you please provide the .debug_line dump (as file attachment) from the executable, e.g.

$ readelf -wl -x ".debug_line"

Hubert.

0 Kudos
bernaske
New Contributor I
496 Views
Dear Hubert,

here the attachment of the small test program for IDB tests

Hex dump of section '.debug_line':
0x00000000 5d000000 02003400 00000101 fb0e0d00 ].....4.........
0x00000010 01010101 00000001 0000012e 2e2f7379 ............./sy
0x00000020 73646570 732f7838 365f3634 2f656c66 sdeps/x86_64/elf
0x00000030 00007374 6172742e 53000100 00000009 ..start.S.......
0x00000040 02400a40 00000000 0003c000 0103102e .@.@............
0x00000050 3e213e4c 24030e20 7576785b 02010001 >!>L$.. uvx[....
0x00000060 01230000 0002001d 00000001 01fb0e0d .#..............
0x00000070 00010101 01000000 01000001 00696e69 .............ini
0x00000080 742e6300 00000000 d2020000 0200af02 t.c.............
0x00000090 00000101 ff040a00 01010101 00000001 ................
0x000000a0 2f757372 2f696e63 6c756465 2f632b2b /usr/include/c++
0x000000b0 2f342e35 2f646562 7567002f 7573722f /4.5/debug./usr/
0x000000c0 696e636c 7564652f 632b2b2f 342e3500 include/c++/4.5.
0x000000d0 2f757372 2f696e63 6c756465 2f632b2b /usr/include/c++
0x000000e0 2f342e35 2f626974 73002f6f 70742f69 /4.5/bits./opt/i
0x000000f0 6e74656c 2f636f6d 706f7365 7278652d ntel/composerxe-
0x00000100 32303131 2e302e30 38342f63 6f6d7069 2011.0.084/compi
0x00000110 6c65722f 696e636c 75646500 2f757372 ler/include./usr
0x00000120 2f696e63 6c756465 2f632b2b 2f342e35 /include/c++/4.5
0x00000130 2f657874 002f7573 722f696e 636c7564 /ext./usr/includ
0x00000140 65002f75 73722f69 6e636c75 64652f63 e./usr/include/c
0x00000150 2b2b2f34 2e352f78 38365f36 342d7375 ++/4.5/x86_64-su
0x00000160 73652d6c 696e7578 2f626974 73002f75 se-linux/bits./u
0x00000170 73722f69 6e636c75 64652f62 69747300 sr/include/bits.
0x00000180 00746573 742e6370 700000c8 9d8ae704 .test.cpp.......
0x00000190 70646562 75672e68 0001f493 dce50482 pdebug.h........
0x000001a0 29637878 6162692d 666f7263 65642e68 )cxxabi-forced.h
0x000001b0 0002f693 dce504db 0d637763 68617200 .........cwchar.
0x000001c0 02f493dc e5048934 696f7374 7265616d .......4iostream
0x000001d0 0002f493 dce504e9 14696f73 5f626173 .........ios_bas
0x000001e0 652e6800 03ed93dc e50490dc 01657863 e.h..........exc
0x000001f0 65707469 6f6e0002 f693dce5 04d52673 eption........&s
0x00000200 7472696e 67667764 2e680003 ed93dce5 tringfwd.h......
0x00000210 04de1262 61736963 5f737472 696e672e ...basic_string.
0x00000220 680003ed 93dce504 f5be0661 6c6c6f63 h..........alloc
0x00000230 61746f72 2e680003 ed93dce5 04d02e73 ator.h.........s
0x00000240 74646465 662e6800 04da87b5 e504c40b tddef.h.........
0x00000250 6e65775f 616c6c6f 6361746f 722e6800 new_allocator.h.
0x00000260 05ee93dc e504e61d 63686172 5f747261 ........char_tra
0x00000270 6974732e 680003ed 93dce504 a2800170 its.h..........p
0x00000280 6f737479 7065732e 680003ed 93dce504 ostypes.h.......
0x00000290 88407763 6861722e 68000683 a4bfe604 .@wchar.h.......
0x000002a0 ecfc0173 746c5f69 74657261 746f722e ...stl_iterator.
0x000002b0 680003ed 93dce504 b9840261 746f6d69 h..........atomi
0x000002c0 635f776f 72642e68 0007e893 dce50485 c_word.h........
0x000002d0 0f6c6f63 616c655f 636c6173 7365732e .locale_classes.
0x000002e0 680003ed 93dce504 f0b90163 2b2b6c6f h..........c++lo
0x000002f0 63616c65 2e680007 e893dce5 048a1978 cale.h.........x
0x00000300 6c6f6361 6c652e68 0006e8a3 bfe604e4 locale.h........
0x00000310 0d677468 722d6465 6661756c 742e6800 .gthr-default.h.
0x00000320 07e893dc e504a4b8 01707468 72656164 .........pthread
0x00000330 74797065 732e6800 0888a4bf e604832d types.h........-
0x00000340 00000902 240b4000 00000000 0305011c ....$.@.........
0x00000350 0009026c 0b400000 00000000 0101a100 ...l.@..........
0x00000360 00000200 5a000000 0101fb0e 0d000101 ....Z...........
0x00000370 01010000 00010000 012f7573 722f6c69 ........./usr/li
0x00000380 6236342f 6763632f 7838365f 36342d73 b64/gcc/x86_64-s
0x00000390 7573652d 6c696e75 782f342e 352f696e use-linux/4.5/in
0x000003a0 636c7564 65000065 6c662d69 6e69742e clude..elf-init.
0x000003b0 63000000 00737464 6465662e 68000100 c....stddef.h...
0x000003c0 00000009 02700b40 00000000 0003e900 .....p.@........
0x000003d0 0103109e 0370d603 10087403 703c0310 .....p....t.p<..
0x000003e0 6603704a 030e3c5b 00020402 06580002 f.pJ..<[.....X..
0x000003f0 04020667 00020402 c792022a 191a0202 ...g.......*....
0x00000400 000101 ...

Raw dump of debug contents of section .debug_line:

Offset: 0x0
Length: 93
DWARF Version: 2
Prologue Length: 52
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13

Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args

The Directory Table:
../sysdeps/x86_64/elf

The File Name Table:
Entry Dir Time Size Name
1 1 0 0 start.S

Line Number Statements:
Extended opcode 2: set Address to 0x400a40
Advance Line by 64 to 65
Copy
Advance Line by 16 to 81
Special opcode 33: advance Address by 2 to 0x400a42 and Line by 0 to 81
Special opcode 49: advance Address by 3 to 0x400a45 and Line by 2 to 83
Special opcode 20: advance Address by 1 to 0x400a46 and Line by 1 to 84
Special opcode 49: advance Address by 3 to 0x400a49 and Line by 2 to 86
Special opcode 63: advance Address by 4 to 0x400a4d and Line by 2 to 88
Special opcode 23: advance Address by 1 to 0x400a4e and Line by 4 to 92
Advance Line by 14 to 106
Special opcode 19: advance Address by 1 to 0x400a4f and Line by 0 to 106
Special opcode 104: advance Address by 7 to 0x400a56 and Line by 1 to 107
Special opcode 105: advance Address by 7 to 0x400a5d and Line by 2 to 109
Special opcode 107: advance Address by 7 to 0x400a64 and Line by 4 to 113
Special opcode 78: advance Address by 5 to 0x400a69 and Line by 3 to 116
Advance PC by 1 to 0x400a6a
Extended opcode 1: End of Sequence


Offset: 0x61
Length: 35
DWARF Version: 2
Prologue Length: 29
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13

Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args

The Directory Table is empty.

The File Name Table:
Entry Dir Time Size Name
1 0 0 0 init.c

Line Number Statements:

Offset: 0x88
Length: 722
DWARF Version: 2
Prologue Length: 687
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -1
Line Range: 4
Opcode Base: 10

Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args

The Directory Table:
/usr/include/c++/4.5/debug
/usr/include/c++/4.5
/usr/include/c++/4.5/bits
/opt/intel/composerxe-2011.0.084/compiler/include
/usr/include/c++/4.5/ext
/usr/include
/usr/include/c++/4.5/x86_64-suse-linux/bits
/usr/include/bits

The File Name Table:
Entry Dir Time Size Name
1 0 1289916104 112 test.cpp
2 1 1287064052 5250 debug.h
3 2 1287064054 1755 cxxabi-forced.h
4 2 1287064052 6665 cwchar
5 2 1287064052 2665 iostream
6 3 1287064045 28176 ios_base.h
7 2 1287064054 4949 exception
8 3 1287064045 2398 stringfwd.h
9 3 1287064045 106357 basic_string.h
10 3 1287064045 5968 allocator.h
11 4 1286423514 1476 stddef.h
12 5 1287064046 3814 new_allocator.h
13 3 1287064045 16418 char_traits.h
14 3 1287064045 8200 postypes.h
15 6 1288688131 32364 wchar.h
16 3 1287064045 33337 stl_iterator.h
17 7 1287064040 1925 atomic_word.h
18 3 1287064045 23792 locale_classes.h
19 7 1287064040 3210 c++locale.h
20 6 1288688104 1764 xlocale.h
21 7 1287064040 23588 gthr-default.h
22 8 1288688136 5763 pthreadtypes.h

Line Number Statements:
Extended opcode 2: set Address to 0x400b24
Advance Line by 5 to 6
Copy
Special opcode 18: advance Address by 4 to 0x400b28 and Line by 1 to 7
Extended opcode 2: set Address to 0x400b6c
Extended opcode 1: End of Sequence


Offset: 0x35e
Length: 161
DWARF Version: 2
Prologue Length: 90
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13

Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args

The Directory Table:
/usr/lib64/gcc/x86_64-suse-linux/4.5/include

The File Name Table:
Entry Dir Time Size Name
1 0 0 0 elf-init.c
2 1 0 0 stddef.h

Line Number Statements:
Extended opcode 2: set Address to 0x400b70
Advance Line by 105 to 106
Copy
Advance Line by 16 to 122
Special opcode 145: advance Address by 10 to 0x400b7a and Line by 0 to 122
Advance Line by -16 to 106
Special opcode 201: advance Address by 14 to 0x400b88 and Line by 0 to 106
Advance Line by 16 to 122
Advance PC by constant 17 to 0x400b99
Special opcode 103: advance Address by 7 to 0x400ba0 and Line by 0 to 122
Advance Line by -16 to 106
Special opcode 47: advance Address by 3 to 0x400ba3 and Line by 0 to 106
Advance Line by 16 to 122
Special opcode 89: advance Address by 6 to 0x400ba9 and Line by 0 to 122
Advance Line by -16 to 106
Special opcode 61: advance Address by 4 to 0x400bad and Line by 0 to 106
Advance Line by 14 to 120
Special opcode 47: advance Address by 3 to 0x400bb0 and Line by 0 to 120
Special opcode 78: advance Address by 5 to 0x400bb5 and Line by 3 to 123
Extended opcode 4: set Discriminator to 2
Set is_stmt to 0
Special opcode 75: advance Address by 5 to 0x400bba and Line by 0 to 123
Extended opcode 4: set Discriminator to 2
Set is_stmt to 1
Special opcode 90: advance Address by 6 to 0x400bc0 and Line by 1 to 124
Extended opcode 4: set Discriminator to 2
Special opcode 186: advance Address by 13 to 0x400bcd and Line by -1 to 123
Special opcode 133: advance Address by 9 to 0x400bd6 and Line by 2 to 125
Advance PC by 42 to 0x400c00
Special opcode 12: advance Address by 0 to 0x400c00 and Line by 7 to 132
Special opcode 13: advance Address by 0 to 0x400c00 and Line by 8 to 140
Advance PC by 2 to 0x400c02
Extended opcode 1: End of Sequence

regards
Franz
0 Kudos
Hubert_H_Intel
Employee
496 Views
Franz,

Are you fine with waiting for the Intel Composer XE 2011 Update? Or with switching back to a gcc environment? (Using compiler option -gcc-name=430 allows to build your projects with gcc 4.3.x tools.)

Hubert.
0 Kudos
bernaske
New Contributor I
496 Views
Hi Hubert,

no problem , i can wait until the Intel Composer XE 0211 Update
thanks for the information against the -gcc compile switch,
works fine

Franz
0 Kudos
Reply