[systemd-devel] [ANNOUNCE] systemd 200

Philip Müller philm at manjaro.org
Fri Apr 5 17:28:37 PDT 2013


Maybe you guys send me a patch I should test ...
Atm I can reproduce it on every build on my i686 installation.
I can confirm that 64bit using the same packages doesn't produce this error.

Am 05.04.2013 23:33, schrieb Zbigniew Jędrzejewski-Szmek:
> On Fri, Apr 05, 2013 at 11:26:49PM +0200, Zbigniew Jędrzejewski-Szmek wrote:
>> On Fri, Apr 05, 2013 at 07:32:53PM +0200, Lennart Poettering wrote:
>>> On Sat, 30.03.13 18:41, Philip Müller (philm at manjaro.org) wrote:
>>>
>>>> Same issue with make check as reported before:
>>>>
>>>>
>>>> http://lists.freedesktop.org/archives/systemd-devel/2013-March/009971.html
>>> Hmm, this looks really weird. I cannot reproduce this here, and valgrind
>>> shows nothing. I wonder if this has to do something 32bit vs. 64bit (I
>>> only have the latter here).
>>>
>>> Can anyone reproduce the issue when running test-bus-marshal through
>>> valgrind on x86-32?
>> Hi,
>>
>> I had a go at debugging this... I think that the is the "return of the
>> va_arg and undefined aps" horror. The result is that in test-bus-marshall.c:133
>> and test-bus-marshall.c:139 (at least), some of the output arguments are not
>> initialized at all and segfault happens. Under gdb I see that va_arg(ap, void*)
>> returns &y twice.
>>
>> According to va_arg(3), "If ap is passed to a function that uses
>> va_arg(ap,type) then the value of ap is undefined after the return of
>> that function." So message_read_ap calling itself recursively is not an
>> option.
> ...unless we implement DBUS_FORMAT_FORMAT_ADVANCE, which calls itself
> recursively (yuck), and use va_copy (yuck). But maybe that's the way.
>
> Zbyszek



More information about the systemd-devel mailing list