[Scons-users] scons-local-2.5.1 build and clean shows random failure

Hua Yanghao huayanghao at gmail.com
Sat Jul 22 13:49:58 EDT 2017


Yes, I trigger the single build when it fails, and generated the file.
Just in case I generated it again and attached here.

On Sat, Jul 22, 2017 at 6:08 PM, Bill Deegan <bill at baddogconsulting.com> wrote:
> Is the taskmaster trace file from when you saw a failure?
>
> On Fri, Jul 21, 2017 at 11:47 PM, Hua Yanghao <huayanghao at gmail.com> wrote:
>>
>> By the way the failure is random, below 4 consecutive runs failed
>> twice passed twice:
>> hua at grass:~/git/usw $ tools/scons -j8 -c config=linux64_full.py
>> scons: Reading SConscript files ...
>> scons: done reading SConscript files.
>> scons: Cleaning targets ...
>> scons: done cleaning targets.
>> hua at grass:~/git/usw $ tools/scons -j8 -c config=linux64_full.py
>> scons: Reading SConscript files ...
>> scons: done reading SConscript files.
>> scons: Cleaning targets ...
>> scons: done cleaning targets.
>>
>> scons: *** Found dependency cycle(s):
>>   Internal Error: no cycle found for node output/linux64_full
>> (<SCons.Node.FS.Dir object at 0x55d10f3ee5a0>) in state pending
>>
>> File "/home/hua/git/usw/tools/scons-local-2.5.1/SCons/Taskmaster.py",
>> line 1043, in cleanup
>> hua at grass:~/git/usw $ tools/scons -j8 -c config=linux64_full.py
>> scons: Reading SConscript files ...
>> scons: done reading SConscript files.
>> scons: Cleaning targets ...
>> scons: done cleaning targets.
>>
>> scons: *** Found dependency cycle(s):
>>   Internal Error: no cycle found for node output/linux64_full
>> (<SCons.Node.FS.Dir object at 0x55f9ed59ef20>) in state pending
>>
>> File "/home/hua/git/usw/tools/scons-local-2.5.1/SCons/Taskmaster.py",
>> line 1043, in cleanup
>> hua at grass:~/git/usw $ tools/scons -j8 -c config=linux64_full.py
>> scons: Reading SConscript files ...
>> scons: done reading SConscript files.
>> scons: Cleaning targets ...
>> scons: done cleaning targets.
>> hua at grass:~/git/usw $
>>
>> BR, Yanghao
>>
>> On Sat, Jul 22, 2017 at 8:42 AM, Hua Yanghao <huayanghao at gmail.com> wrote:
>> > Hi Bill,
>> > No error seen if no "-j8".
>> > I do have quite some custom builders, any special consideration needed?
>> >
>> > without -j8 using --tree=prune just builds normally:
>> > hua at grass:~/git/usw $ tools/scons --tree=prune -c
>> > --taskmastertrace=test.log config=linux64_full.py
>> > scons: Reading SConscript files ...
>> > scons: done reading SConscript files.
>> > scons: Cleaning targets ...
>> > scons: done cleaning targets.
>> > hua at grass:~/git/usw $ tools/scons -j8 --tree=prune -c
>> > --taskmastertrace=test.log config=linux64_full.py
>> > scons: Reading SConscript files ...
>> > scons: done reading SConscript files.
>> > scons: Cleaning targets ...
>> > scons: done cleaning targets.
>> >
>> > scons: *** Found dependency cycle(s):
>> >   Internal Error: no cycle found for node output/linux64_full
>> > (<SCons.Node.FS.Dir object at 0x564ad74aafe0>) in state pending
>> >
>> > File "/home/hua/git/usw/tools/scons-local-2.5.1/SCons/Taskmaster.py",
>> > line 1043, in cleanup
>> > hua at grass:~/git/usw $
>> >
>> > Best Regards,
>> > Yanghao
>> >
>> > On Sat, Jul 22, 2017 at 12:40 AM, Bill Deegan
>> > <bill at baddogconsulting.com> wrote:
>> >> If you build with no "-j8" do you see the error?
>> >> If not then what's the output of --tree=prune without -j8?
>> >>
>> >> Also you didn't respond to:
>> >>
>> >> Do you have any custom Builders?
>> >>
>> >> -Bill
>> >>
>> >> On Fri, Jul 21, 2017 at 6:28 PM, Hua Yanghao <huayanghao at gmail.com>
>> >> wrote:
>> >>>
>> >>> hua at grass:~ $ python --version
>> >>> Python 2.7.13
>> >>> hua at grass:~ $ lsb_release -a
>> >>> LSB Version:
>> >>>
>> >>> core-9.20160110ubuntu5-amd64:core-9.20160110ubuntu5-noarch:security-9.20160110ubuntu5-amd64:security-9.20160110ubuntu5-noarch
>> >>> Distributor ID: Ubuntu
>> >>> Description: Ubuntu 17.04
>> >>> Release: 17.04
>> >>> Codename: zesty
>> >>> hua at grass:~ $
>> >>>
>> >>> I attached the taskmastertrace log here.
>> >>>
>> >>> --tree=prune shows the same result:
>> >>> hua at grass:~/git/usw $ tools/scons -j8 --tree=prune -c
>> >>> --taskmastertrace=test.log config=linux64_full.py
>> >>> scons: Reading SConscript files ...
>> >>> scons: done reading SConscript files.
>> >>> scons: Cleaning targets ...
>> >>> scons: done cleaning targets.
>> >>>
>> >>> scons: *** Found dependency cycle(s):
>> >>>   Internal Error: no cycle found for node output/linux64_full
>> >>> (<SCons.Node.FS.Dir object at 0x55d1fef0ffe0>) in state pending
>> >>>
>> >>> File "/home/hua/git/usw/tools/scons-local-2.5.1/SCons/Taskmaster.py",
>> >>> line 1043, in cleanup
>> >>>
>> >>> On Sat, Jul 22, 2017 at 12:03 AM, Bill Deegan
>> >>> <bill at baddogconsulting.com>
>> >>> wrote:
>> >>> > Which version of Python?
>> >>> > What operating system? (mac, linux, windows?)
>> >>> >
>> >>> > Do you have any custom Builders?
>> >>> >
>> >>> > Try using
>> >>> > --taskmastertrace=file
>> >>> >
>> >>> > Prints trace information to the specified file about how the
>> >>> > internal
>> >>> > Taskmaster object evaluates and controls the order in which Nodes
>> >>> > are
>> >>> > built.
>> >>> > A file name of - may be used to specify the standard output.
>> >>> >
>> >>> > And pastebin the output.
>> >>> >
>> >>> > Also anything unusual in --tree=prune ?
>> >>> >
>> >>> > -Bill
>> >>> >
>> >>> >
>> >>> > On Fri, Jul 21, 2017 at 5:17 PM, Hua Yanghao <huayanghao at gmail.com>
>> >>> > wrote:
>> >>> >>
>> >>> >> Dear Scons User,
>> >>> >> I am recently experiencing some random failures in both scons build
>> >>> >> and scons clean (-c).
>> >>> >>
>> >>> >> Unfortunately the project has more than 2000 .c/.h files and I
>> >>> >> cannot
>> >>> >> create a minimal project to reproduce this issue.
>> >>> >>
>> >>> >> Error message: (scons -c)
>> >>> >> Removed output/linux64_full/libusw.a
>> >>> >> Removed output/linux64_full/cmdlist.txt
>> >>> >> scons: done cleaning targets.
>> >>> >>
>> >>> >> scons: *** Found dependency cycle(s):
>> >>> >>   Internal Error: no cycle found for node output/linux64_full
>> >>> >> (<SCons.Node.FS.Dir object at 0x5630bcf78c60>) in state pending
>> >>> >>
>> >>> >> File
>> >>> >> "/home/hua/git/usw/tools/scons-local-2.5.1/SCons/Taskmaster.py",
>> >>> >> line 1043, in cleanup
>> >>> >>
>> >>> >> End of error message.
>> >>> >>
>> >>> >> This issue can be reproduced one out of five runs, could happen in
>> >>> >> both scons build and scons clean.
>> >>> >> This issue happens *only* with parallel builds (-j8), and cannot
>> >>> >> reproduce with single thread build.
>> >>> >> The project uses scons VariantDir() and many custom builders.
>> >>> >>
>> >>> >> In file SCons/Taskmaster.py, if I simply add a "return" on line
>> >>> >> 1033,
>> >>> >> the problem cannot be reproduced anymore, and builds are fine all
>> >>> >> the
>> >>> >> time (checked many dozens of times):
>> >>> >> 1033         return # <--------- This line "fixed" the issue ;-)
>> >>> >> 1034         desc = 'Found dependency cycle(s):\n'
>> >>> >> 1035         for node, cycle in nclist:
>> >>> >> 1036             if cycle:
>> >>> >> 1037                 desc = desc + "  " + " -> ".join(map(str,
>> >>> >> cycle))
>> >>> >> +
>> >>> >> "\n"
>> >>> >> 1038             else:
>> >>> >> 1039                 desc = desc + \
>> >>> >> 1040                     "  Internal Error: no cycle found for node
>> >>> >> %s
>> >>> >> (%s) in state %s\n" %  \
>> >>> >> 1041                     (node, repr(node),
>> >>> >> StateString[node.get_state()])
>> >>> >> 1042
>> >>> >> 1043         raise SCons.Errors.UserError(desc)
>> >>> >>
>> >>> >> Does anyone had similar experience? Is scons over-checking
>> >>> >> something
>> >>> >> and made a false alarm?
>> >>> >> I am about to promote scons to a much wider audience but this issue
>> >>> >> really makes me a little bit nervous.
>> >>> >>
>> >>> >> Thanks a lot for your help,
>> >>> >> Yanghao
>> >>> >> _______________________________________________
>> >>> >> 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
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> 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 --------------
A non-text attachment was scrubbed...
Name: fail.log
Type: text/x-log
Size: 333330 bytes
Desc: not available
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170722/75914b28/attachment-0001.bin>


More information about the Scons-users mailing list