tags:

views:

14

answers:

0

We use SCons as our build system on Windows. When I run with -j2 or higher, I occasionally get this code-signing error:

 python Chatnoir/tools/sign_windows_bits.py --input=build/kernel_win32_xp/Chatnoir/driver/kernel_win/jinx-wxp.dll --output=build/kernel_win32_xp/Chatnoir/driver/kernel_win/jinx-wxp.sys --ddk=C:/WinDDK/6001.18002 --cert=Chatnoir/driver/kernel_win/signing/signing-certificates/test/signing-certificate.pfx --cert-pass=a^M
python Chatnoir/tools/sign_windows_bits.py --input=build/kernel_win32_lh/Chatnoir/driver/kernel_win/jinx-wlh.dll --output=build/kernel_win32_lh/Chatnoir/driver/kernel_win/jinx-wlh.sys --ddk=C:/WinDDK/6001.18002 --cert=Chatnoir/driver/kernel_win/signing/signing-certificates/test/signing-certificate.pfx --cert-pass=a^M
link /OPT:REF /OPT:ICF "/WX " "/version:6.0 " "/osversion:6.0 " /SECTION:INIT,d "/base:0x10000 " "/driver " "/STACK:0x40000,0x1000 " "/pdbcompress " "/INCREMENTAL:NO " "/debug " "/debugtype:cv,fixup,pdata " "/ltcg " "/SECTION:INIT,d " "/IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221,4108,4088,4218,4218,4235 " "/FULLBUILD " "C:/WinDDK/6001.18002/lib/wlh/amd64/hotpatch.obj " "/functionpadmin:6 " "/subsystem:native,6.00 " "/entry:GsDriverEntry " "C:/WinDDK/6001.18002/lib/wlh/amd64/BufferOverflowK.lib " "C:/WinDDK/6001.18002/lib/wlh/amd64/ntoskrnl.lib " "C:/WinDDK/6001.18002/lib/wlh/amd64/hal.lib " "C:/WinDDK/6001.18002/lib/wlh/amd64/wmilib.lib " /dll /out:build/kernel_win64_lh/Chatnoir/driver/kernel_win/jinx.dll build/kernel_win64_lh/ChatnoirSignTool Error: ISignedCode::Sign returned error: 0x80092006^M^M
        No provider was specified for the store or object.^M^M
SignTool Error: An error occurred while attempting to sign: build\kernel_win32_lh\Chatnoir\driver\kernel_win\sign-staging.tmp.kk1a5p\jinx-wlh.sys^M^M
Traceback (most recent call last):^M
  File "Chatnoir\tools\sign_windows_bits.py", line 103, in ^M
    subprocess.check_call(command)^M
  File "C:\Python26\lib\subprocess.py", line 488, in check_call^M
    raise CalledProcessError(retcode, cmd)^M
subprocess.CalledProcessError: Command '('C:\\WinDDK\\6001.18002\\bin\\SelfSign\\signtool', 'sign', '/v', '/f', 'Chatnoir\\driver\\kernel_win\\signing\\signing-certificates\\test\\signing-certificate.pfx', '/p', 'a', 'build\\kernel_win32_lh\\Chatnoir\\driver\\kernel_win\\sign-staging.tmp.kk1a5p\\jinx-wlh.sys')' returned non-zero exit status 1^M
scons: *** [build\kernel_win32_lh\Chatnoir\driver\kernel_win\jinx-wlh.sys] Error 1^M

It appears that two signings occurring in parallel are causing trouble. Does signtool take an exclusive lock on the signing certificate? Thanks if anyone has any ideas.