BobBuildTool/bob

Bob Exception - struct.error: Argument out of range

sbixl opened this issue · 3 comments

sbixl commented

Description

Building bob dev project::appl -v partly crashes. If the crash occurs one time, its does not heal if i run bob dev project::appl -v again. But if i run bob dev project::appl -v -b it heals.

Recipes (RepoCase):
example.codegen_2.zip

PS: I have seen the issue in other recipes as well.

Backtrace:

An internal Exception has occured. This should not have happenend.
Please open an issue at https://github.com/BobBuildTool/bob with the following backtrace:
Bob version 0.20.2.dev21+g0385b76
Traceback (most recent call last):
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 153, in catchErrors
ret = fun(*args, **kwargs)
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 254, in cmd
ret = cmd(args.args, bobRoot)
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 29, in __develop
doDevelop(*args, **kwargs)
File "C:\Projects\tools\bob\pym\bob\cmds\build\build.py", line 314, in doDevelop
commonBuildDevelop(parser, argv, bobRoot, True)
File "C:\Projects\tools\bob\pym\bob\cmds\build\build.py", line 264, in commonBuildDevelop
builder.cook(backlog, True if args.build_mode == 'checkout-only' else False, loop)
File "C:\Projects\tools\bob\pym\bob\cmds\build\builder.py", line 832, in cook
raise self.__buildErrors[0]
File "C:\Projects\tools\bob\pym\bob\cmds\build\builder.py", line 727, in __taskWrapper
ret = await coro()
File "C:\Projects\tools\bob\pym\bob\cmds\build\builder.py", line 891, in _cookStep
await self._cookBuildStep(step, checkoutOnly, depth)
File "C:\Projects\tools\bob\pym\bob\cmds\build\builder.py", line 1155, in _cookBuildStep
await self._generateAudit(buildStep, depth, buildHash)
File "C:\Projects\tools\bob\pym\bob\cmds\build\builder.py", line 540, in _generateAudit
audit.save(auditPath)
File "C:\Projects\tools\bob\pym\bob\audit.py", line 356, in save
cacheKey = binStat(file) + BOB_INPUT_HASH
File "C:\Projects\tools\bob\pym\bob\utils.py", line 539, in binStat
return struct.pack('=qqLqLQ', st.st_ctime_ns, st.st_mtime_ns,
struct.error: argument out of range

Unfortunately I cannot reproduce the issue but I'm confident I spotted the reason. It is completely independent of the recipes but depends on your file system. Please test the linked PR.

sbixl commented

I tried to reproduce it several times but it did not occur again. I think the error was fixed with the proposed change. Ticket can be closed.

Thanks for testing.