Bug 26252

Summary: [odr] dwz.c:11404: write_die: Assertion `value && refdcu->cu_kind != CU_ALT' failed. #2
Product: dwz Reporter: Jan Kratochvil <jan>
Component: defaultAssignee: Nobody <nobody>
Status: RESOLVED FIXED    
Severity: normal CC: dwz, jan, mark, vries
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Attachments: .tar.xz

Description Jan Kratochvil 2020-07-16 15:40:51 UTC
With b7111689a2ccec2f57343f1051ec8f1df5e89e5c = commit 2020-02-19
getting $subject which should have been fixed by PR 25109 but it is not.

It is reproducible at least with these 233 packages:
  http://people.redhat.com/jkratoch/dwz-assert.pkglist
Comment 1 Tom de Vries 2020-08-18 09:23:05 UTC
(In reply to Jan Kratochvil from comment #0)
> With b7111689a2ccec2f57343f1051ec8f1df5e89e5c = commit 2020-02-19
> getting $subject which should have been fixed by PR 25109 but it is not.
> 
> It is reproducible at least with these 233 packages:
>   http://people.redhat.com/jkratoch/dwz-assert.pkglist

Can you attach a reproducer?
Comment 2 Tom de Vries 2020-08-18 09:54:05 UTC
(In reply to Jan Kratochvil from comment #0)
> It is reproducible at least with these 233 packages:
>   http://people.redhat.com/jkratoch/dwz-assert.pkglist

FWIW, I've tried to make a reproducer myself by building binutils, which is in this list, but no luck.
Comment 3 Jan Kratochvil 2020-08-19 19:05:13 UTC
Created attachment 12782 [details]
.tar.xz

b7111689a2ccec2f57343f1051ec8f1df5e89e5c = 2020-02-19
~/redhat/dwz-git/dwz -m dwz.debug --odr 1.debug 2.debug 
~/redhat/dwz-git/dwz: 1.debug: DWARF compression not beneficial - old size 317760 new size 317760
dwz: dwz.c:11404: write_die: Assertion `value && refdcu->cu_kind != CU_ALT' failed.
Aborted (core dumped)

Although I find more a blocker for DWZ after 3+ years it still does not support DWARF-5; and not just its part as produced by GCC but also the DWARF-5 features produced by LLVM: PR 24726
Comment 4 Mark Wielaard 2020-09-13 14:12:30 UTC
This only reproduces with --odr. Without things work fine.
Comment 5 Tom de Vries 2021-02-16 09:14:06 UTC
Posted fix: https://sourceware.org/pipermail/dwz/2021q1/000890.html
Comment 6 Tom de Vries 2021-02-16 09:21:55 UTC
(In reply to Jan Kratochvil from comment #0)
> With b7111689a2ccec2f57343f1051ec8f1df5e89e5c = commit 2020-02-19
> getting $subject which should have been fixed by PR 25109 but it is not.
> 

PR25109 is related to die_no_multifile propagation, and the problem occurs independent of odr.

This problem is related to CK_BAD propagation, and occurs only with odr.

The two root causes are different, they just happen to trigger the same assert.
Comment 8 Tom de Vries 2021-02-23 13:11:24 UTC
*** Bug 25439 has been marked as a duplicate of this bug. ***