Bug 24170

Summary: dwz: dwz.c:1985: checksum_die: Assertion `((!op_multifile && !rd_multifile && !fi_multifile) || cu != die_cu (ref)) && (!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk)' failed.
Product: dwz Reporter: Tom de Vries <vries>
Component: defaultAssignee: Nobody <nobody>
Status: RESOLVED FIXED    
Severity: normal CC: dwz, jakub
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Attachments: 0.debug.gz
[PATCH] Handle DW_FORM_ref_addr reference that points to containing unit

Description Tom de Vries 2019-02-05 15:25:26 UTC
Created attachment 11588 [details]
0.debug.gz

[ See also "brc#995136 - dwz assertion on -m for golang-produced binaries" at https://bugzilla.redhat.com/show_bug.cgi?id=995136 ]

On master + https://build.opensuse.org/package/view_file/openSUSE:Factory/dwz/dwz-0.12-ignore-nobits.patch, we get this assert for 0.debug:
...
$ cp 0.debug 1 
$ cp 0.debug 2
$ dwz -m 3 1 2
dwz: dwz.c:1985: checksum_die: Assertion `((!op_multifile && !rd_multifile && !fi_multifile) || cu != die_cu (ref)) && (!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk)' failed.
Aborted (core dumped)
...
Comment 1 Tom de Vries 2019-02-05 15:32:13 UTC
Created attachment 11589 [details]
[PATCH] Handle DW_FORM_ref_addr reference that points to containing unit
Comment 2 Tom de Vries 2019-03-07 07:36:34 UTC
posted patch: https://sourceware.org/ml/dwz/2019-q1/msg00086.html