Ubuntu

[patch] Makefile race condition can lead to ndiswrapper build failure

Reported by Anders Kaseorg on 2008-06-20
4
Affects Status Importance Assigned to Milestone
ndiswrapper
Unknown
Unknown
linux (Ubuntu)
Low
Tim Gardner
Nominated for Intrepid by Anders Kaseorg
ndiswrapper (Debian)
Fix Released
Unknown

Bug Description

ubuntu/ndiswrapper/Makefile has underspecified dependencies on the generated $(EXPORTS) headers, leading to a race condition when building in parallel. This race is most easily triggered by adding "sleep 10" to the top of ubuntu/ndiswrapper/mkexport.sh and ubuntu/ndiswrapper/mkstubs.sh.

anders@balanced-tree:/tmp/linux-source-2.6.26$ cp /boot/config-2.6.26-2-generic .config
anders@balanced-tree:/tmp/linux-source-2.6.26$ make -j ubuntu/ndiswrapper/

ubuntu/ndiswrapper/crt.c:17:25: error: crt_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/crt.o] Error 1
ubuntu/ndiswrapper/hal.c:17:25: error: hal_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/hal.o] Error 1
ubuntu/ndiswrapper/ndis.c:23:26: error: ndis_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/ndis.o] Error 1
ubuntu/ndiswrapper/ntoskernel.c:21:32: error: ntoskernel_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/ntoskernel.o] Error 1
ubuntu/ndiswrapper/ntoskernel_io.c:21:35: error: ntoskernel_io_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/ntoskernel_io.o] Error 1
ubuntu/ndiswrapper/rtl.c:17:25: error: rtl_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/rtl.o] Error 1
ubuntu/ndiswrapper/usb.c:19:25: error: usb_exports.h: No such file or directory
make[1]: *** [ubuntu/ndiswrapper/usb.o] Error 1

Also, win2lin_stubs.S might be silently built against an empty win2lin_stubs.h if the latter is being generated at the same time.

Patch: <http://anders.kaseorg.com/pub/patches/ndiswrapper-build-race.patch>

Nick Ellery (nick.ellery) wrote :

Thanks for the patch, confirming.

Changed in linux:
status: New → Confirmed
Changed in ndiswrapper:
status: Unknown → Incomplete
Julian Andres Klode (juliank) wrote :

Will be fixed in Debian in release 1.53-1, using the provided patch.

Anders Kaseorg (anders-kaseorg) wrote :

This was committed to ndiswrapper Subversion on 2008-07-12.
<http://ndiswrapper.svn.sourceforge.net/viewvc/ndiswrapper?view=rev&revision=2670>.

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: Confirmed → Triaged
Tim Gardner (timg-tpi) wrote :
Changed in linux:
assignee: ubuntu-kernel-team → timg-tpi
importance: Medium → Low
milestone: none → intrepid-alpha-4
status: Triaged → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.26-5.14

---------------
linux (2.6.26-5.14) intrepid; urgency=low

  [ Ben Collins ]

  * SAUCE: applesmc: Add MacBookAir
  * build: Do not build ddeb unless we are on the buildd
  * build: control: Consistency in arch fields.
  * SAUCE: Update toshiba_acpi.c to version 0.19a
    - LP: #77026
  * build: Added perm blacklist support and per-module support to abi-check
    - Blacklist p80211 module from abi checks
  * ubuntu/lirc: Get rid of drivers symlink and use real include stuff

  [ Colin Ian King ]

  * SAUCE: acerhk module - add support for Amilo A1650g keyboard
    - LP: #84159
  * SAUCE: rt2x00: Fix OOPS on failed creation of rt2x00lib workqueue
    - LP: #249242

  [ Mario Limonciello ]

  * Add LIRC back in

  [ Tim Gardner ]

  * Makefile race condition can lead to ndiswrapper build failure
    - LP: #241547
  * update linux-wlan-ng (prism2_usb) to upstream version 1861
    - LP: #245026

  [ Upstream Kernel Changes ]

  * Fix typos from signal_32/64.h merge

 -- Ben Collins <email address hidden> Fri, 01 Aug 2008 00:05:01 -0400

Changed in linux:
status: Fix Committed → Fix Released
Artur Rona (ari-tczew) on 2009-09-13
tags: added: patch
Changed in ndiswrapper (Debian):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.