[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1677426.KFAAP6tCV8@ws-stein>
Date: Mon, 13 Nov 2017 14:28:23 +0100
From: Alexander Stein <alexander.stein@...tec-electronic.com>
To: linux-kbuild@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
Subject: tools/iio: build race condition
Hi,
I tried to compile the new v4.14 kernel and hit a race condition in the build system of tools/iio.
Here is my output (sorry for German strings, I wasn't able to reproduce with LANG=C):
> {master linux} % make O=build_x86/ -j9 tools/iio
> make[1]: Verzeichnis „/home/alex/Dokumente/repo/linux/build_x86“ wird betreten
> DESCEND iio
> mkdir -p /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio 2>&1 || true
> ln -sf /home/alex/Dokumente/repo/linux/tools/iio/../../include/uapi/linux/iio/events.h /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio
> ln -sf /home/alex/Dokumente/repo/linux/tools/iio/../../include/uapi/linux/iio/types.h /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_generic_buffer.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor-in.o
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio-in.o
> /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o: file not recognized: File truncated
> make[4]: *** [/home/alex/Dokumente/repo/linux/tools/build/Makefile.build:145: /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor-in.o] Fehler 1
> /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o: file not recognized: File truncated
> make[3]: *** [Makefile:45: /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor-in.o] Fehler 2
> make[3]: *** Es wird auf noch nicht beendete Prozesse gewartet....
> make[4]: *** [/home/alex/Dokumente/repo/linux/tools/build/Makefile.build:145: /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio-in.o] Fehler 1
> make[3]: *** [Makefile:39: /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio-in.o] Fehler 2
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_generic_buffer-in.o
> make[2]: *** [Makefile:62: iio] Fehler 2
> make[1]: *** [/home/alex/Dokumente/repo/linux/Makefile:1628: tools/iio] Fehler 2
> make[1]: Verzeichnis „/home/alex/Dokumente/repo/linux/build_x86“ wird verlassen
> make: *** [Makefile:146: sub-make] Fehler 2
This is my log using LANG=C:
> {master linux} % git describe
> v4.14-3-gd893dbcff8e3
> {master linux} % rm -fr build_x86/tools/
> {master linux} % LANG=C make O=build_x86/ -j9 tools/iio
> make[1]: Entering directory '/home/alex/Dokumente/repo/linux/build_x86'
> DESCEND iio
> mkdir -p /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio 2>&1 || true
> ln -sf /home/alex/Dokumente/repo/linux/tools/iio/../../include/uapi/linux/iio/events.h /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio
> ln -sf /home/alex/Dokumente/repo/linux/tools/iio/../../include/uapi/linux/iio/types.h /home/alex/Dokumente/repo/linux/build_x86/tools/iio/include/linux/iio
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_generic_buffer.o
> CC /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_utils.o
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor-in.o
> LINK /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_event_monitor
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio-in.o
> LD /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_generic_buffer-in.o
> LINK /home/alex/Dokumente/repo/linux/build_x86/tools/iio/lsiio
> LINK /home/alex/Dokumente/repo/linux/build_x86/tools/iio/iio_generic_buffer
> make[1]: Leaving directory '/home/alex/Dokumente/repo/linux/build_x86'
In both cases tools/iio/iio_utils.o is compiled thrice. Depending on the exact timing you might get a truncated file.
I suspect the following commit: 18956cf2d78a ("iio: tools: move to tools buildsystem", 2017-07-29)
as iio_utils.o is referenced in all 3 tools.
Best regards,
Alexander
Powered by blists - more mailing lists