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

Bill Deegan bill at baddogconsulting.com
Sat Jul 22 12:08:32 EDT 2017


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170722/fbb6b819/attachment-0001.html>


More information about the Scons-users mailing list