Re: [Jack-Devel] [LAU] jack2 turned verbose

PrevNext  Index
DateSun, 03 Jun 2012 20:03:20 +0300
From Nedko Arnaudov <[hidden] at arnaudov dot name>
ToFons Adriaensen <[hidden] at linuxaudio dot org>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToNedko Arnaudov Re: [Jack-Devel] [LAU] jack2 turned verbose
Nedko Arnaudov <[hidden]> writes:

> Fons Adriaensen <[hidden]> writes:
>
>> What this tells me is that one should test booleans against
>> boolean constants, and ints against int constants, and *not*
>> mix them up. Which I guess the libdbus code is doing.
>
> This guesswork fails. libdbus doesnt do this if only because it uses
> dbus_bool_t and not C99 nor C++ bool. OTOH this is quickly becomming
> offtopic and dbus-fud-y. The problem is the incorrect machine code
> generated by gcc-4.7.0. That code is not in libdbus, its produced from
> JackControlAPI.cpp in the jack2 source tree. You can prove the bug by
> disassemling the jackctl_server_create function. The call for adding the
> verbose parameter doesnt update the stack variable called "value" which
> is set just before the call, line 667. If someone can explain why this
> is invalid C code, please do it. If someone cares to produce an isolated
> test case please do it and then report upstream (gcc). In the latter
> case we can at least expect some gcc guru to decide if its a gcc bug or
> invalid C code.

I just realized that I used wrong source tree, so line numbers I
previously refered to were wrong. Sorry for the confusion.

With 007cdc37142a441e51b8ff27fb2e249bf8bcc916 (latest git master):

The default value of the "temporary" parameter is set on line 707.
The default value of the "verbose" parameter is set on line 721.
The default value of the "realtime-priority" is set on line 692.

The assert in libdbus reproducible with jackdbus happens when value of
the "temporary" parameter is serialized (with "jack_control ep", for
example). "temporary" is the first boolean that is registered after
"realtime-priority", with default value of 10.

-- 
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>
PrevNext  Index

1338743017.30083_0.ltw:2,a <87d35ggwfb.fsf at arnaudov dot name>