For these gdb test-cases (implptr-64bit-d2o4a8r8t0, implptr-64bit-d2o4a8r8t1, implptr-64bit-d3o4a8r4t0, implptr-64bit-d3o4a8r4t1, multidictionary) we run into this assert: ... dwz: dwz.c:8792: write_die: Assertion `refd != NULL' failed. ...
Created attachment 11585 [details] multidictionary executable
Created attachment 11586 [details] [Patch 1/2] Factor out skip_attr
Created attachment 11587 [details] [PATCH 2/2] Error out for invalid DW_FORM_ref_addr
patch submitted: https://sourceware.org/ml/dwz/2019-q1/msg00100.html
fyi, this seems to be fixed on trunk 20190701
(In reply to Matthias Klose from comment #5) > fyi, this seems to be fixed on trunk 20190701 Well, I can't reproduce that. For me the failure still triggers with current trunk: ... $ ./dwz multidictionary dwz: /data/dwz/dwz.git/dwz.c:9108: write_die: Assertion `refd != NULL' failed. Aborted (core dumped) $ ./dwz -l0 multidictionary Segmentation fault (core dumped) ...
https://sourceware.org/git/?p=dwz.git;a=commit;h=695943014fd1d6e942988accf302bca327bf4304
(In reply to Tom de Vries from comment #7) > https://sourceware.org/git/?p=dwz.git;a=commit; > h=695943014fd1d6e942988accf302bca327bf4304 FTR, this is a pragmatic fix. For something more structural, I've filed PR25229 - "Add input verification phase".