[Scons-users] Random build failure with 'Resource temporarily unavailable' on mac

Bill Deegan bill at baddogconsulting.com
Fri Jun 12 12:10:58 EDT 2020


Does it seem to happen when one (or many) of the compile steps are
generating a lot of output to either stderr or stdout?


On Fri, Jun 12, 2020 at 6:39 AM Julien Pommier <pommier at pianoteq.com> wrote:

> Unfortunately I can’t manage to reproduce it on something simplified, and
> it is really complicated to track because it is the kind of bug that
> disappears when you look at it.
>
>  It is not a big deal to me anymore as I have a workaround, but I wanted
> to know if this issue was also encountered by other scons users.
>
> On 10 Jun 2020, at 21:19, Bill Deegan <bill at baddogconsulting.com> wrote:
>
> Can you provide a small reproducer?
>
> On Wed, Jun 10, 2020 at 3:58 AM Julien Pommier <pommier at pianoteq.com>
> wrote:
>
>> Hi,
>>
>> I have an issue that has been randomly annoying me for a few years, when
>> building a largish application on macs. From time to time, the build will
>> fail with this error:
>>
>>  *** [build/darwin/foo.o] Resource temporarily unavailable
>>
>> It does not always happen at the same place in the build, it is really
>> random and hard to reproduce. I have finally traced which instruction is
>> failing in scons, and it turns out it is:
>>
>>                 sys.stdout.write(s + u"\n”) , in print_cmd_line in
>> Action.py
>>
>> which sometime throws an IOError (errno=35) exception.
>>
>> I feel that this happens only when building with more than one job, so
>> maybe this is related to a threading issue or bug in python ? This happens
>> when running scons with the system installed python 2.7 (which I usually
>> do), but also with python3 — in that case, the error reported with python 3
>> is
>>
>> scons:  *** [build/darwin/foo.o] write could not complete without blocking
>>
>> The exception stack trace is:
>>
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Taskmaster.py",
>> line 255, in execute
>>     self.targets[0].build()
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Node/__init__.py",
>> line 765, in build
>>     self.get_executor()(self, **kw)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Executor.py", line
>> 397, in __call__
>>     return _do_execute_map[self._do_execute](self, target, kw)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Executor.py", line
>> 128, in execute_action_list
>>     status = act(*args, **kw)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Action.py", line
>> 1056, in __call__
>>     show, execute, chdir, executor)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Action.py", line
>> 1123, in __call__
>>     return c.__call__(self, target, source, env, *args, **kw)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Action.py", line
>> 705, in __call__
>>     print_func(cmd, target, source, env)
>>   File
>> "/usr/local/Cellar/scons/3.1.1/libexec/scons-local/SCons/Action.py", line
>> 639, in print_cmd_line
>>     sys.stdout.write(s + u"\n")
>> scons: *** [build/darwin/foo.o] write could not complete without blocking
>>
>> I have figured a “fix” which is to just ignore IOError exceptions in the
>> print_cmd_line function, but of course this is not very satisfactory.
>>
>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20200612/31c507a2/attachment-0001.html>


More information about the Scons-users mailing list