Bug #3970
openlibusrp fails to compile 1/4 of times in jenkins with PARALLEL_MAKE set
0%
Description
When submitting patches to osmo-trx in gerrit, sometimes the jenkins job fails due to libusrp failing to build. I never have this issue in on my workstation.
Failure example: https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-trx/488/INSTR=--with-sse,WITH_MANUALS=1,a3=default,a4=default,label=osmocom-gerrit-debian9/console
I attach the whole console text of that same job failing.
/usr/bin/python ./../common/build_eeprom.py -p/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/install/stow/libusrp -r2 eeprom_boot.ihx > burn-usrp2-eeprom /usr/bin/python ./../common/build_eeprom.py -p/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/install/stow/libusrp -r4 eeprom_boot.ihx > burn-usrp4-eeprom sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_gpif.rel `test -f 'usrp_gpif.c' || echo './'`usrp_gpif.c usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion chmod +x burn-usrp4-eeprom usrp_main.c:223: warning 112: function 'setup_flowstate_common' implicit declaration usrp_main.c:260: warning 112: function 'setup_flowstate_write' implicit declaration usrp_main.c:282: warning 112: function 'setup_flowstate_read' implicit declaration usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization chmod +x burn-usrp2-eeprom sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o std.ihx vectors.rel usrp_main.rel usrp_common.rel board_specific.rel fpga_load.rel fpga_rev2.rel init_gpif.rel usrp_gpif.rel usb_descriptors.rel spi.rel eeprom_io.rel _startup.rel ?ASlink-Warning-Undefined Global '_setup_flowstate_read' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_write' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_common' referenced by module 'usrp_main' Makefile:688: recipe for target 'std.ihx' failed make[4]: *** [std.ihx] Error 1 make[4]: Leaving directory '/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/libusrp/firmware/src/usrp2' Makefile:404: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory '/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/libusrp/firmware/src' Makefile:404: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory '/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/libusrp/firmware' Makefile:628: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory '/home/osmocom-build/jenkins/workspace/gerrit-osmo-trx@2/INSTR/--with-sse/WITH_MANUALS/1/a3/default/a4/default/label/osmocom-gerrit-debian9/deps/libusrp' Makefile:925: recipe for target 'install' failed
Files
Related issues
Updated by pespin over 4 years ago
- Assignee set to pespin
Submited this for now, let's see if it's enough to workaround the issue:
https://gerrit.osmocom.org/c/osmo-trx/+/14990
Updated by pespin over 4 years ago
- Has duplicate Bug #3766: Sporadic jenkins failure added
Updated by pespin over 4 years ago
The patch above removing PARALLEL_MAKE didn't help, libusrp still fails from time to time.
Updated by pespin over 4 years ago
Actually the job failing is the libusrp one, not the osmo-trx one, so probably we need to disable PARALLEL_MAKE there too.
Updated by pespin over 4 years ago
- Subject changed from libusrp fails to compile 1/4 of times (build race condition?) during osmo-trx gerrit job to libusrp fails to compile 1/4 of times in jenkins with PARALLEL_MAKE set
- Assignee changed from pespin to 4368
- Priority changed from Normal to Low
Submitted similar patch for libusrp's jenkins.sh (its jenkins job has same issue):
https://gerrit.osmocom.org/c/libusrp/+/15147 jenkins.sh: Workaround race conditon in make
I keep the ticket open and rename it because the real issue is not yet fixed (libusrp parallel make fails occasionally on jenkins).
I set the issue to lower priority since with the workaround is good enough to keep going.