[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 27/35] vnc: Clean up error reporting in vnc_i
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 27/35] vnc: Clean up error reporting in vnc_init_func() |
Date: |
Tue, 16 Oct 2018 06:08:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Fei Li <address@hidden> writes:
> On 10/15/2018 07:53 PM, Markus Armbruster wrote:
>> Calling error_report() in a function that takes an Error ** argument
>> is suspicious. vnc_init_func() does that, and then fails without
>> setting an error. Its caller main(), via qemu_opts_foreach(), is fine
>> with it, but clean it up anyway.
>>
>> Cc: Gerd Hoffmann <address@hidden>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> ui/vnc.c | 9 +++++----
>> vl.c | 2 +-
>> 2 files changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/ui/vnc.c b/ui/vnc.c
>> index 98e3d3b1d8..fcd2744d52 100644
>> --- a/ui/vnc.c
>> +++ b/ui/vnc.c
>> @@ -4082,13 +4082,14 @@ int vnc_init_func(void *opaque, QemuOpts *opts,
>> Error **errp)
>> assert(id);
>> vnc_display_init(id, &local_err);
>> if (local_err) {
>> - error_report_err(local_err);
>> - exit(1);
>> + error_propagate(errp, local_err);
> Shall we use error_propagate(errp, local_err, ("Failed to init VNC
> server: ");
> like vnc_display_open does?
I don't know.
The error reporting is somewhat poor around here. Consider:
$ qemu-system-x86_64 -display vnc=:0,share=nope
qemu-system-x86_64: -display vnc=:0,share=nope: Failed to start VNC server:
unknown vnc share= option
The "Failed to start VNC server: " prefix doesn't really add value.
$ qemu-system-x86_64 -display vnc=:0 -k bad
qemu-system-x86_64: -display vnc=:0: could not read keymap file: 'bad'
The error message refers to -display instead of -k. I doubt adding the
prefix would improve it.
Gerd, what do you think?
> If yes, I guess this error message should be added from last patch [26/35].
Yes.
> If not, please omit. :)
>
> Have a nice day
> Fei
>> + return -1;
>> }
>> vnc_display_open(id, &local_err);
>> if (local_err != NULL) {
>> - error_reportf_err(local_err, "Failed to start VNC server: ");
>> - exit(1);
>> + error_propagate_prepend(errp, local_err,
>> + "Failed to start VNC server: ");
>> + return -1;
>> }
>> return 0;
>> }
>> diff --git a/vl.c b/vl.c
>> index c053117028..8e0006d49c 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -4526,7 +4526,7 @@ int main(int argc, char **argv, char **envp)
>> /* init remote displays */
>> #ifdef CONFIG_VNC
>> qemu_opts_foreach(qemu_find_opts("vnc"),
>> - vnc_init_func, NULL, NULL);
>> + vnc_init_func, NULL, &error_fatal);
>> #endif
>> if (using_spice) {
- Re: [Qemu-devel] [PATCH v2 33/35] blockdev: Convert drive_new() to Error, (continued)
[Qemu-devel] [PATCH v2 09/35] pc: Fix machine property nvdimm-persistence error handling, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 05/35] vfio: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 29/35] tpm: Clean up error reporting in tpm_init_tpmdev(), Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 07/35] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 06/35] vfio: Clean up error reporting after previous commit, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 27/35] vnc: Clean up error reporting in vnc_init_func(), Markus Armbruster, 2018/10/15
Re: [Qemu-devel] [PATCH v2 27/35] vnc: Clean up error reporting in vnc_init_func(), Philippe Mathieu-Daudé, 2018/10/15
[Qemu-devel] [PATCH v2 30/35] spice: Clean up error reporting in add_channel(), Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 28/35] numa: Clean up error reporting in parse_numa(), Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 23/35] vl: Clean up error reporting in parse_fw_cfg(), Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 04/35] cpus hw target: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 16/35] xen/pt: Fix incomplete conversion to realize(), Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 13/35] l2tpv3: Improve -netdev/netdev_add/-net/... error reporting, Markus Armbruster, 2018/10/15
[Qemu-devel] [PATCH v2 24/35] vl: Clean up error reporting in device_init_func(), Markus Armbruster, 2018/10/15