Discussion:
[Scons-users] error in builder_node_error
Jason Kenny
2018-06-01 00:29:55 UTC
Permalink
Hi Bill,

Working on a new builder ( hopefully will get it working soon) I am getting an error out of SCons with this trace

scons: *** [_build/build_debug_posix-x86_64/openssl/_rpm/openssl-1.1.0-25.x86_64.rpm] AttributeError : 'NoneType' object has no attribute 'get_all_targets'
... <skipping for brevity>
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 645, in __call__
return self._execute(env, target, source, OverrideWarner(kw), ekw)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 71, in parts_node_errors
if t.get_executor().get_all_targets() != tlist:


I am not sure at the moment what I did to upset SCons ( I am 100% sure I did something wrong) . However it look like there is a more serious error in reporting to the user. Have you seen anything like this before?

Jason
Jason Kenny
2018-06-01 00:37:13 UTC
Permalink
I just realized I gave you a stack with Parts in it. 
 here it is without “Parts” trying to figure out if this is an error ( help report which part is having the issue to the user). It just call the scons API as it would be called normally

File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 20, in parts_node_errors
scons_node_errors(builder, env, tlist, slist)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 320, in _node_errors
if t.get_executor().get_all_targets() != tlist:

Same error
 just wanting to clear up this was not Parts monkey patching stuff 😊

Jason

From: Jason Kenny
Sent: Thursday, May 31, 2018 7:30 PM
To: 'SCons users mailing list' <scons-***@scons.org>
Subject: error in builder_node_error

Hi Bill,

Working on a new builder ( hopefully will get it working soon) I am getting an error out of SCons with this trace

scons: *** [_build/build_debug_posix-x86_64/openssl/_rpm/openssl-1.1.0-25.x86_64.rpm] AttributeError : 'NoneType' object has no attribute 'get_all_targets'

 <skipping for brevity>
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 645, in __call__
return self._execute(env, target, source, OverrideWarner(kw), ekw)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 71, in parts_node_errors
if t.get_executor().get_all_targets() != tlist:


I am not sure at the moment what I did to upset SCons ( I am 100% sure I did something wrong) . However it look like there is a more serious error in reporting to the user. Have you seen anything like this before?

Jason
Bill Deegan
2018-06-01 00:58:21 UTC
Permalink
What's t, and what does t.get_executor() return?
Looks like it's None...


On Thu, May 31, 2018 at 5:37 PM, Jason Kenny <***@live.com> wrote:

> I just realized I gave you a stack with Parts in it. 
 here it is without
> “Parts” trying to figure out if this is an error ( help report which part
> is having the issue to the user). It just call the scons API as it would be
> called normally
>
>
>
> File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py",
> line 567, in _execute
>
> _node_errors(self, env, tlist, slist)
>
> File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py",
> line 20, in parts_node_errors
>
> scons_node_errors(builder, env, tlist, slist)
>
> File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py",
> line 320, in _node_errors
>
> if t.get_executor().get_all_targets() != tlist:
>
>
>
> Same error
 just wanting to clear up this was not Parts monkey patching
> stuff 😊
>
>
>
> Jason
>
>
>
> *From:* Jason Kenny
> *Sent:* Thursday, May 31, 2018 7:30 PM
> *To:* 'SCons users mailing list' <scons-***@scons.org>
> *Subject:* error in builder_node_error
>
>
>
> Hi Bill,
>
>
>
> Working on a new builder ( hopefully will get it working soon) I am
> getting an error out of SCons with this trace
>
>
>
> scons: *** [_build/build_debug_posix-x86_64/openssl/_rpm/openssl-1.1.0-25.x86_64.rpm]
> AttributeError : 'NoneType' object has no attribute 'get_all_targets'
>
> 
 <skipping for brevity>
>
> File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py",
> line 645, in __call__
>
> return self._execute(env, target, source, OverrideWarner(kw), ekw)
>
> File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py",
> line 567, in _execute
>
> _node_errors(self, env, tlist, slist)
>
> File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py",
> line 71, in parts_node_errors
>
> if t.get_executor().get_all_targets() != tlist:
>
>
>
>
>
> I am not sure at the moment what I did to upset SCons ( I am 100% sure I
> did something wrong) . However it look like there is a more serious error
> in reporting to the user. Have you seen anything like this before?
>
>
>
> Jason
>
> _______________________________________________
> Scons-users mailing list
> Scons-***@scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
Jason Kenny
2018-06-01 01:06:32 UTC
Permalink
So debugging this


T is a node
 _build/build_debug_posix-x86_64/openssl/SPECS/oath-openssl-1.1.0-1.1.0-25.x86_64/openssl.spec

This is an input to the _build/build_debug_posix-x86_64/openssl/_rpm/oath-openssl-1.1.0-1.1.0-25.x86_64/SOURCES/openssl-1.1.0-1.1.0.tar.gz file needed for the rpmbuilder I am trying to fix up. I know I have a bug in my logic for the builder. What I am bringing up is that as a “User” making a builder it would be nice is Scons did not bomb in this case, but reported something more useful


I will be honest in that I don’t know exact the logic being used in SCons as it reports node errors. It seems odd that in this case t having a builder to make it would not be in the builder target list ( given I am reading this logic in SCons correctly)

Jason


Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

________________________________
From: Scons-users <scons-users-***@scons.org> on behalf of Bill Deegan <***@baddogconsulting.com>
Sent: Thursday, May 31, 2018 7:58:21 PM
To: SCons users mailing list
Subject: Re: [Scons-users] error in builder_node_error

What's t, and what does t.get_executor() return?
Looks like it's None...


On Thu, May 31, 2018 at 5:37 PM, Jason Kenny <***@live.com<mailto:***@live.com>> wrote:
I just realized I gave you a stack with Parts in it. 
 here it is without “Parts” trying to figure out if this is an error ( help report which part is having the issue to the user). It just call the scons API as it would be called normally

File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 20, in parts_node_errors
scons_node_errors(builder, env, tlist, slist)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 320, in _node_errors
if t.get_executor().get_all_targets() != tlist:

Same error
 just wanting to clear up this was not Parts monkey patching stuff 😊

Jason

From: Jason Kenny
Sent: Thursday, May 31, 2018 7:30 PM
To: 'SCons users mailing list' <scons-***@scons.org<mailto:scons-***@scons.org>>
Subject: error in builder_node_error

Hi Bill,

Working on a new builder ( hopefully will get it working soon) I am getting an error out of SCons with this trace

scons: *** [_build/build_debug_posix-x86_64/openssl/_rpm/openssl-1.1.0-25.x86_64.rpm] AttributeError : 'NoneType' object has no attribute 'get_all_targets'

 <skipping for brevity>
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 645, in __call__
return self._execute(env, target, source, OverrideWarner(kw), ekw)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 71, in parts_node_errors
if t.get_executor().get_all_targets() != tlist:


I am not sure at the moment what I did to upset SCons ( I am 100% sure I did something wrong) . However it look like there is a more serious error in reporting to the user. Have you seen anything like this before?

Jason

_______________________________________________
Scons-users mailing list
Scons-***@scons.org<mailto:Scons-***@scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users<https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&data=02%7C01%7C%7C8c2a859ac00f4bbe146008d5c75ac9f6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636634115097562932&sdata=SB01he3dKyVS744YbbLjMt5PyUCEf0Mx9c54%2FfU2Nnw%3D&reserved=0>
Jason Kenny
2018-06-01 01:43:52 UTC
Permalink
I see a little more details now.

I am trying to call some builders in a scanner to do more dynamic logic. ( This might be part of the problem)

I think the issue I was having was as I was retrofitting the builder, I was returning from the scanner object that had there actions finished. Scons added logic at some point to “remove” extra node data to help reduce memory foot print. It seems that as I add these node via the scanner dynamically some logic “expects” these objects to have information about the executioner ( which is now None). As it turns out the node causing this problem is the “wrong” node to return from the scanner. So removing it from the list seems to solve the issue I was reporting here.

We might want to add a fix to check if the node has a null executor, and if so report something 
 I am not sure what that should be however 


Jason

From: Scons-users <scons-users-***@scons.org> On Behalf Of Bill Deegan
Sent: Thursday, May 31, 2018 7:58 PM
To: SCons users mailing list <scons-***@scons.org>
Subject: Re: [Scons-users] error in builder_node_error

What's t, and what does t.get_executor() return?
Looks like it's None...


On Thu, May 31, 2018 at 5:37 PM, Jason Kenny <***@live.com<mailto:***@live.com>> wrote:
I just realized I gave you a stack with Parts in it. 
 here it is without “Parts” trying to figure out if this is an error ( help report which part is having the issue to the user). It just call the scons API as it would be called normally

File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 20, in parts_node_errors
scons_node_errors(builder, env, tlist, slist)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 320, in _node_errors
if t.get_executor().get_all_targets() != tlist:

Same error
 just wanting to clear up this was not Parts monkey patching stuff 😊

Jason

From: Jason Kenny
Sent: Thursday, May 31, 2018 7:30 PM
To: 'SCons users mailing list' <scons-***@scons.org<mailto:scons-***@scons.org>>
Subject: error in builder_node_error

Hi Bill,

Working on a new builder ( hopefully will get it working soon) I am getting an error out of SCons with this trace

scons: *** [_build/build_debug_posix-x86_64/openssl/_rpm/openssl-1.1.0-25.x86_64.rpm] AttributeError : 'NoneType' object has no attribute 'get_all_targets'

 <skipping for brevity>
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 645, in __call__
return self._execute(env, target, source, OverrideWarner(kw), ekw)
File "/home/jkenny/code/build-env/lib/python2.7/site-packages/scons-3.0.1/SCons/Builder.py", line 567, in _execute
_node_errors(self, env, tlist, slist)
File "/home/jkenny/code/parts/parts/overrides/dup_node_builder_env.py", line 71, in parts_node_errors
if t.get_executor().get_all_targets() != tlist:


I am not sure at the moment what I did to upset SCons ( I am 100% sure I did something wrong) . However it look like there is a more serious error in reporting to the user. Have you seen anything like this before?

Jason

_______________________________________________
Scons-users mailing list
Scons-***@scons.org<mailto:Scons-***@scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users<https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&data=02%7C01%7C%7C8c2a859ac00f4bbe146008d5c75ac9f6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636634115097562932&sdata=SB01he3dKyVS744YbbLjMt5PyUCEf0Mx9c54%2FfU2Nnw%3D&reserved=0>
Loading...