From: Tom de Vries <tdevries@suse.de>
To: "Mark Wielaard" <mark@klomp.org>, "Martin Liška" <mliska@suse.cz>
Cc: debugedit@sourceware.org, dwz@sourceware.org
Subject: Re: [PATCH] Fail if dwz fails.
Date: Mon, 17 May 2021 12:06:16 +0200 [thread overview]
Message-ID: <709b6355-a15e-ee99-df50-786f045eb44b@suse.de> (raw)
In-Reply-To: <YKF9OhngfI4w/I7E@wildebeest.org>
On 5/16/21 10:14 PM, Mark Wielaard wrote:
> Hi Martin,
>
> On Fri, May 14, 2021 at 12:46:15PM +0200, Martin Liška wrote:
>> On 5/13/21 4:07 PM, Mark Wielaard wrote:
>>>> On 4/22/21 1:11 PM, Martin Liška wrote:
>>>>> Right now, dwz return code is 0 or a small integer value (<= 3)
>>>>> for situations like:
>>>>>
>>>>> - dwz: Too few files for multifile optimization
>>>>> - dwz: Multi-file optimization not allowed for different pointer sizes or endianity
>>>>>
>>>>> These are not fatal errors and the script should continue. On the other
>>>>> hand abort or segfault error values should cause failure of the script.
>>>>>
>>>>> Let's reserve values 1-16 for a recoverable dwz exit codes.
>>>
>>> With "recoverable" you mean that dwz did do compression, but could not
>>> deliver optimal compression?
>>
>> No, I speak about cases, where compression cannot be done
>> (different endianess, ptr sizes, not beneficial, any other reason).
>
> I think we are talking about somewhat the same thing. In those cases
> dwz does something. The result is just not optimal.
>
>>> It would be good to have an ack from the dwz developers that 1 to 16
>>> are "recoverable" errors (I added dwz@sourceware.org to CC).
>>
>> Yes. That's why I CCed Tom.
>>
>>>
AFAIK, the exit codes are either 0 or 1 (excluding abort/assert).
FWIW, also invalid input dwarf results in exit code 1.
>>> Would it be possible to tweak the find-debuginfo.sh script to avoid
>>> them? e.g. Could we see how many arguments we have so that we only use
>>> -m when there are 1+ debug files? And/Or detect debug files using
>>> different endianess and ptr sizes so they are processed in different
>>> batches?
>>
>> No, I would leave it to dwz. There may be other reasons.
>
> But for the reasons we do know about we could improve
> find-debuginfo.sh to do the right thing (not use -m if there is only
> one file, sort files by endianess/ptrsize). Ideally you call
> find-debuginfo.sh and it does the right thing even if you only have
> one ELF file or a mix of ELF files.
>
>>> Ideally an error code from dwz means something went terribly wrong and
>>> we abort find-debuginfo.sh. IMHO.
>>
>> I would allow the mentioned "soft" error codes.
>
> Couldn't optimize is an "soft" error indeed. I don't know about the
> others.
Couldn't optimize is not an error:
...
$ ./dwz hello ; echo $?
0
$ ./dwz hello ; echo $?
./dwz: hello: DWARF compression not beneficial - old size 3372 new size 3372
0
$ ...
OTOH, failing to create a file specified with -o is:
...
$ ./dwz hello -o hello.1; echo $?
0
$ ./dwz hello.1 -o hello.2; echo $?
./dwz: hello.1: DWARF compression not beneficial - old size 3372 new
size 3372
1
$
...
FWIW, I don't have a strong opinion on this patch.
As dwz developer, more bug reports means a better dwz, so this is good
for me.
I just wonder whether this is a good choice for package developers.
Isn't a dwz crash for them just a case of "no debuginfo compression"?
Thanks,
- Tom
prev parent reply other threads:[~2021-05-17 10:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0c4f9c78-ee2b-fb6f-a0f9-20c3731bfa0e@suse.cz>
[not found] ` <fb1b8ddc-38ff-cf3f-9474-cdcb46ecbef8@suse.cz>
2021-05-13 14:07 ` Mark Wielaard
2021-05-14 10:46 ` Martin Liška
2021-05-16 20:14 ` Mark Wielaard
2021-05-17 10:06 ` Tom de Vries [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=709b6355-a15e-ee99-df50-786f045eb44b@suse.de \
--to=tdevries@suse.de \
--cc=debugedit@sourceware.org \
--cc=dwz@sourceware.org \
--cc=mark@klomp.org \
--cc=mliska@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).