[OE-core] [PATCH 1/1] telepathy-mission-control: do_compile failed (race issue)

Robert Yang liezhi.yang at windriver.com
Tue Sep 17 02:03:34 UTC 2013


On 09/17/2013 07:49 AM, Burton, Ross wrote:
> On 17 September 2013 00:08, Burton, Ross <ross.burton at intel.com> wrote:
>>> This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
>>> write(remove/rename) _gen/gtypes.tmp at the same time, then there would
>>> be the error.
>>>
>>> Use ".NOTPARALLEL: _gen/gtypes.h _gen/gtypes-body.h" will fix the
>>> problem.
>>
>> This is going to be a game of whack-a-mole as the root cause is the
>> bad temporary filename assignment in libtpcodegen.py.  Is there an
>> upstream bug for this?
>
> Had a quick look - there's a trivial race in the utility code that a
> bit of tempfile can fix, but the more correct fix for
> telepathy-mission-control is to do the same fix that telepathy-glib
> did here:
>
> http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=36c2a545c9c1d1cc6db205bfc33d980d29b0a0f6

I don't think that the commit you mentioned is a correct fix, he changed:

gen/gtypes.h _gen/gtypes-body.h: _gen/stable-spec.xml

To:

gen/gtypes.h: _gen/gtypes-body.h
	@:
gen/gtypes-body.h: _gen/stable-spec.xml

Now if we run "make gen/gtypes.h gen/gtypes-body.h", the gen/gtypes-body.h
will only run once, this is incorrect. And this fix has been dropped in the
up to date source.

// Robert

>
> https://bugs.freedesktop.org/show_bug.cgi?id=69446 is the upstream bug
> I just filed for this.
>
> Ross
>
>



More information about the Openembedded-core mailing list