Clone wiki

SCons / BugParty / IrcLog2008-05-20

The SCons wiki has moved to

09:43:15  *      bdbaddog (n=[]( has joined #scons 
16:59:51  *      stevenknight (n=stevenkn@nat/google/x-20f1d53866f4ad08) has joined #scons 
16:59:53  <[GregoryNoel](GregoryNoel)>  Who's here for the bug party? 
16:59:59  <stevenknight> me me me 
17:00:19  <bdbaddog>     I though it was yesterday. 
17:00:30  <stevenknight> we had some follow-up to do 
17:00:38  <[GregoryNoel](GregoryNoel)>  followup with the rest of the current issues tonight 
17:01:23  <[GregoryNoel](GregoryNoel)>  Gary is marked away; are you really here? 
17:01:38  <stevenknight> you == ? 
17:01:47  <[GregoryNoel](GregoryNoel)>  you == Gary 
17:02:14  <[GregoryNoel](GregoryNoel)>  he said he'd be here; shall we wait a couple of minutes? 
17:02:44  <stevenknight> sure, i can't see waiting as a problem 
17:03:00  <stevenknight> we should have plenty of time 
17:02:56  <[GregoryNoel](GregoryNoel)>  Are you on the bus yet? 
17:03:44  <stevenknight> doesn't come until 5:25 
17:04:03  <stevenknight> i should only have a slight hiccough when i change from land-based wifi to mobile 
17:04:28  <[GregoryNoel](GregoryNoel)>  Bill, we'll pick up with 2047 in the current issues, if you can join us 
17:04:40  <bdbaddog>     sure. lemme clock out. 
17:04:52  <garyo-home>   Hi, I'm here now. 
17:05:14  <bdbaddog>     which spreadsheet are we looking at? 
17:05:26  <[GregoryNoel](GregoryNoel)>  current issues of current issues 
17:06:35  <[GregoryNoel](GregoryNoel)>  I'm going to grab a Coke while we're getting set up 
17:06:38  <garyo-home>   For 2047 we were discussing whether it could just be a warning, iirc 
17:06:53  <garyo-home>   at least for 1.0? 
17:07:22  <stevenknight> bdbaddog:  "Current issues" 
17:07:44  <bdbaddog>     got it, row 339 in the spreadshhet 
17:07:49  <garyo-home>   Hey, where did the queries in the [BugParty](BugParty) page go? 
17:08:00  <[GregoryNoel](GregoryNoel)>  ??? 
17:08:09  <[GregoryNoel](GregoryNoel)>  Still there, as far as I know. 
17:08:15  <stevenknight> re: 2047, we were just zeroing in on me taking a look at how impactive it would be to turn them back into warnings 
17:08:32  <stevenknight> or not back, since this is actually a new error message 
17:08:51  <garyo-home>   oh yeah, duh 
17:09:23  <garyo-home>   Steven: any sense of what would happen if we just warn and let it try to link? 
17:09:24  <bdbaddog>     seems like a regression, sounds like making it a warning would be the right thing to do. if it can work in some toolchains. 
17:09:50  <garyo-home>   (I guess it has to choose C++ or Fortran; that's the hard part) 
17:09:51  <stevenknight> exactly 
17:10:02  <stevenknight> they may get an error if the toolchain doesn't allow this interoperability 
17:10:08  <stevenknight> which is what David was trying to guard against 
17:10:23  <stevenknight> but a little drastically 
17:10:26  <[GregoryNoel](GregoryNoel)>  In the long run, it should be made 'smarter still' but is that this bug or another one? 
17:10:26  <garyo-home>   Do you know which linker it used to use in that case? 
17:10:33  <garyo-home>   Another one, Greg. 
17:10:41  <garyo-home>   IMHO 
17:10:54  <[GregoryNoel](GregoryNoel)>  OK, I'll add it when I clear these out 
17:10:54  <stevenknight> okay, give it me to make it a warning for 1.0 
17:11:05  <stevenknight> and i'll delay it to later if it looks too impactive 
17:10:59  <[GregoryNoel](GregoryNoel)>  done 
17:11:09  <garyo-home>   good. 
17:11:56  <garyo-home>   2050 is hard I think. 
17:12:08  <[GregoryNoel](GregoryNoel)>  and nasty 
17:12:11  <stevenknight> yeah 
17:12:20  <stevenknight> just trying to get caught up with the code in it 
17:12:46  <[GregoryNoel](GregoryNoel)>  There's clearly a deadlock, but it's not clear how to break it for the child. 
17:12:54  <garyo-home>   What happens if you try 'from errno import ENOENT, ENOTDIR' at top level, so nothing happens in execvpe? 
17:13:29  <[GregoryNoel](GregoryNoel)>  In brief, the lock is created in the parent, so it's held by the child, leading to a deadlock, since the child will never release it. 
17:13:55  <stevenknight> give this one to me as well, obviously 
17:14:09  <garyo-home>   The deadlock is in 'import' iiuc so maybe the fix is easy. 
17:14:25  <[GregoryNoel](GregoryNoel)>  Some of the problem is in the _Python_ libraries, since they don't expect to fork at that point 
17:14:29  <stevenknight> I can see if I can get Guido or Alex Martelli to advise 
17:14:34  <bdbaddog>     I think that could go into release notes? (2050) with a if you do this it my hurt warning, to be addressed later? 
17:15:12  <garyo-home>   Is there a reproducible testcase for this? 
17:15:03  <stevenknight> one nagging thing is bothering me about Benoit's analysis here... 
17:15:16  <stevenknight> it suggests that "import" itself isn't thread safe 
17:15:28  <stevenknight> or "import" of certain very well-used modules 
17:15:41  <stevenknight> if that were the case, I don't think SCons would be the only thing with these symptoms 
17:15:38  <[GregoryNoel](GregoryNoel)>  No, it's not fork-safe, not the same thing 
17:15:53  <stevenknight> ah, right 
17:16:00  <stevenknight> but still 
17:16:11  <stevenknight> it's not like we're the only Python-based application that forks things 
17:16:17  <bdbaddog>     I thought that you couldn't run python builders in parallel because of the GIL 
17:16:29  <bdbaddog>     (aka in separate threads) 
17:16:41  <bdbaddog>     well. python threads. 
17:16:55  <[GregoryNoel](GregoryNoel)>  separate threads are in the same process so the lock will be released 
17:17:31  <[GregoryNoel](GregoryNoel)>  it's the child thread that thinks it has the lock but doesn't 
17:18:01  <garyo-home>   In any case, my opinion is it should be investigated more, but maybe not fixed til 1.x, p1. 
17:18:10  <stevenknight> the thing that really concerns me is that in some of those cases (import within function) 
17:18:13  <[GregoryNoel](GregoryNoel)>  If Guido or Alex can help, that would be the way to go 
17:18:31  <stevenknight> the import was moved thre because scoping rules weren't letting it get imported at the global module level 
17:19:00  <stevenknight> i agree with gary:  1.x p1 
17:19:07  <stevenknight> and with Greg re: getting help 
17:19:05  <[GregoryNoel](GregoryNoel)>  done 
17:19:43  <[GregoryNoel](GregoryNoel)>  2051, consensus? 
17:19:54  <garyo-home>   2051: consensus 1.x p3? 
17:20:05  <stevenknight> i was looking at this again this morning 
17:20:24  <stevenknight> since we don't supply an egg, he must have packaged/installed it himself 
17:21:04  <stevenknight> it shouldn't hurt anything to add the code he's suggesting 
17:21:29  <stevenknight> but the fact that "easy" install makes you do this sucks 
17:21:46  <stevenknight> of course, we are doing something different than most Python packages 
17:21:54  <stevenknight> okay, i'll stop ranting 
17:22:09  <stevenknight> 1.x p3 
17:22:23  <bdbaddog>     1.x p3 
17:22:37  <garyo-home>   sure 
17:22:39  <[GregoryNoel](GregoryNoel)>  done 
17:22:44  <[GregoryNoel](GregoryNoel)>  2052 
17:22:58  <stevenknight> gotta get on the bus, may have to reconnect 
17:23:00  <garyo-home>   2052 must be trivial? 
17:23:01  *      stevenknight has quit ("This computer has gone to sleep") 
17:23:38  <[GregoryNoel](GregoryNoel)>  I don't use M$'s Java wanabe, so I have no clue 
17:23:51  <garyo-home>   Probably just forgetting to check the length of the parsed version strings or something. 
17:24:02  <garyo-home>   [GregoryNoel](GregoryNoel): :-) 
17:24:32  <garyo-home>   I bet I could fix that, give it to me.  I think I have a machine with one of those .NET versions on it. 
17:24:52  <[GregoryNoel](GregoryNoel)>  works for me 
17:24:57  <bdbaddog>     +1 
17:25:01  <[GregoryNoel](GregoryNoel)>  1.x? 
17:25:21  *      sgk_ (n=[stevenkn@](mailto:stevenkn@ has joined #scons 
17:25:31  <sgk_> okay, i'm back 
17:25:40  <sgk_> what are we up to? 
17:25:43  <garyo-home>   I'd say 1.x, but the short-named .NET versions are the real releases... 
17:25:44  <bdbaddog>     2052 
17:25:57  <[GregoryNoel](GregoryNoel)>  Gary wants 2052, but not settled on milestone or priority 
17:26:00  <bdbaddog>     .net version number issue. 
17:26:01  <garyo-home>   so it may bite us if not fixed in 1.0. 
17:26:13  <sgk_> right 
17:26:16  <bdbaddog>     yeah. if it's trivial 1.0 
17:26:30  <sgk_> gary, do you want to take a look for 1.0 and back off if it looks risky? 
17:26:39  <garyo-home>   ok, sorry I have to go guys, we're almost done with that spreadsheet anyway. 
17:26:54  <sgk_> okay, thanks 
17:27:19  <[GregoryNoel](GregoryNoel)>  I'll set it to 1.x p1 
17:27:27  <sgk_> 1.0 p2, gary to back off if it's risky 
17:27:38  <sgk_> okay, p1 
17:28:01  <[GregoryNoel](GregoryNoel)>  OK, I guess. 
17:28:05  <[GregoryNoel](GregoryNoel)>  2056? 
17:28:04  <sgk_> BTW, i have a question re: our target milestones 
17:28:17  <sgk_> did we change our interpretation? 
17:28:26  <[GregoryNoel](GregoryNoel)>  Not as far as I know 
17:28:34  <sgk_> yesterday and today we are treating them as "1.0 means it should go in *for* 1.0" 
17:28:40  <sgk_> right? 
17:28:43  <[GregoryNoel](GregoryNoel)>  Yes 
17:29:11  <[GregoryNoel](GregoryNoel)>  1.x (note the x) means "during the 1.0 cycles" 
17:29:12  <sgk_> but we've got a whole bunch of 1.0 target milestone things already that clearly aren't happening in the slim time between 0.98.x and 1.0 
17:29:44  <[GregoryNoel](GregoryNoel)>  _I_ didn't put them there; others decided they should be; I've pushed for 1.x 
17:30:13  <[GregoryNoel](GregoryNoel)>  but I basically agree with your point 
17:30:18  <sgk_> oh, wait, i didn't look closely enough 
17:30:18  <bdbaddog>     why don't we wrap up the spreadsheet and take a quick look at what's left for 1.0 ? 
17:30:38  <[GregoryNoel](GregoryNoel)>  I'd suggest that the next bug party triage 1.0 more closely. 
17:30:40  <sgk_> most of these are doc issues which we did agree we'd work on while 0.98.x is soaking 
17:30:55  <sgk_> yeah, sorry to derail 
17:30:59  <sgk_> back to 2056 
17:31:20  <bdbaddog>     I know there was traffic on the mailing list for that, did someone propose a fix? 
17:31:44  <[GregoryNoel](GregoryNoel)>  I'm not opposed to a 0.98.5, but _six_ release candidates is a lot 
17:31:53  <sgk_> i found a guy's blog with a technique for propagating %ERRORLEVEL% even when using setlocal+endlocal 
17:32:28  <bdbaddog>     6 RC's better than 1.0, 1.0.1, 1.0.2 in a week though.. :) 
17:32:35  <sgk_> and we don't have a test case that explicitly tests scons.bat for things like this 
17:32:43  <[GregoryNoel](GregoryNoel)>  bdbaddog: point taken 
17:32:46  <sgk_> just the scons wrapper itself 
17:33:14  <sgk_> me, 1.0 (or 0.98.5), p1 
17:33:23  <bdbaddog>     1.0p1 sounds good to me. 
17:33:26  <[GregoryNoel](GregoryNoel)>  done 
17:34:02  <sgk_> 2057:  the same big issue it's always been 
17:34:12  <sgk_> looks like consensus is 1.x and p3 
17:34:24  <[GregoryNoel](GregoryNoel)>  yeah, but who? 
17:34:41  <[GregoryNoel](GregoryNoel)>  someone needs to think about the criteria and write them up 
17:34:57  <sgk_> i'll take it 
17:35:13  <[GregoryNoel](GregoryNoel)>  no no no, someone _else_; you know too much about the internals 
17:35:21  <sgk_> ok... 
17:35:27  *      sgk_ is properly chastened...  :-) 
17:35:43  *      [GregoryNoel](GregoryNoel) couldn't spell that on a bet 
17:36:15  <bdbaddog>     steven how ugly will it be to understand the code issueing that message? 
17:36:29  <[GregoryNoel](GregoryNoel)>  Nasty 
17:36:47  <bdbaddog>     nasty understand everything, or understand 1/2 of everything? 
17:37:07  <sgk_> it does get a little involved 
17:37:20  <sgk_> but what about writing up requirements not from a code perspective 
17:37:24  <sgk_> but purely from a user perspective 
17:37:24  <[GregoryNoel](GregoryNoel)>  The underlying problem is what do do if a Builder isn't configured, so there's no way to recognize the suffix 
17:37:49  <sgk_> then refine that 
17:38:03  <bdbaddog>     so if I have file and nobodies registered .xyz, what to do? 
17:38:07  <sgk_> that might be fruitful without having to grok a whole bunch of the code 
17:38:15  <[GregoryNoel](GregoryNoel)>  bdbaddog: exactly 
17:38:32  <[GregoryNoel](GregoryNoel)>  ("nobody's") 
17:38:59  <bdbaddog>     [GregoryNoel](GregoryNoel): you are correct sir. :) 
17:39:17  <[GregoryNoel](GregoryNoel)>  I guess I can draft something, but I'm not sure I'd get all the nuances 
17:39:57  <[GregoryNoel](GregoryNoel)>  bdbaddog: don't call me "sir" -- I worked for a living! {;-} 
17:39:57  <sgk_> that's okay, if it gets us closer to the goal 
17:40:20  <[GregoryNoel](GregoryNoel)>  OK, me, when?  1.x? 
17:40:26  <bdbaddog>     Greg I'd be willing to be sounding board on that for you. 
17:40:40  <[GregoryNoel](GregoryNoel)>  Thanks 
17:40:45  <bdbaddog>     1.x 
17:40:58  <[GregoryNoel](GregoryNoel)>  although I'm sure there will be lots of drafts :-( 
17:41:07  <bdbaddog>     google docs is your friend.. :) 
17:41:23  <[GregoryNoel](GregoryNoel)>  or the wiki... 
17:41:49  <bdbaddog>     :) 
17:41:54  <[GregoryNoel](GregoryNoel)>  onward? 
17:41:56  <sgk_> yes 
17:42:12  <sgk_> that's it for the spreadsheet 
17:42:29  <sgk_> but i think a few more have come in since it was generated 
17:42:31  <[GregoryNoel](GregoryNoel)>  last one, 2058? 
17:42:32  <sgk_> hang on... 
17:42:37  <sgk_> oh, right 
17:43:05  <[GregoryNoel](GregoryNoel)>  I haven't looked at the new logos he developed, but the first set looked good 
17:43:15  <sgk_> cool 
17:43:36  <sgk_> i'd say let him check in directly 
17:43:40  <[GregoryNoel](GregoryNoel)>  I think it should go to Gary to set up a web page for them 
17:44:01  <sgk_> cool, that sounds better 
17:43:59  <[GregoryNoel](GregoryNoel)>  but the problem is setting a policy and a license for them 
17:44:18  <sgk_> aha 
17:44:34  <bdbaddog>     do we need to file a trademark on it? 
17:44:50  <[GregoryNoel](GregoryNoel)>  possibly 
17:45:02  <sgk_> not sure 
17:45:01  <[GregoryNoel](GregoryNoel)>  need legal advice, for sure 
17:45:15  <sgk_> we can check with the SFLC, we're "clients" 
17:45:28  <[GregoryNoel](GregoryNoel)>  yes, but you have to do that 
17:45:55  <sgk_> okay, then make this one a task for Gary to set up the web site 
17:46:13  <sgk_> and how about another task for me to check with SFLC re: trademark and/or licensing issues 
17:46:29  <[GregoryNoel](GregoryNoel)>  done 
17:46:11  <[GregoryNoel](GregoryNoel)>  And another related issue, probably needs to be well-started by 1.0, is getting releases on file for everyone who has ever submitted code 
17:47:13  <[GregoryNoel](GregoryNoel)>  and I'll create a task for the disclaimers as well 
17:47:10  <sgk_> re: releases:  we're helped by our non-restrictive license 
17:47:29  <sgk_> contributors don't have to actually assign code ownership to us 
17:47:53  <sgk_> they just have to license it to us 
17:48:08  <sgk_> that tends to make corporate lawyers less jumpy 
17:48:22  <[GregoryNoel](GregoryNoel)>  and exactly who has done that so far? 
17:48:29  <[GregoryNoel](GregoryNoel)>  anybody? 
17:48:35  <sgk_> a handful 
17:48:47  <[GregoryNoel](GregoryNoel)>  didn't know that 
17:48:54  <sgk_> or rather, a handful have actually assigned ownership 
17:48:54  <sgk_> early contributors like Anthony and Charles 
17:49:15  <sgk_> I think Gary sent me one as well 
17:49:22  <bdbaddog>     Should we put up a page listing contributions and assignments? 
17:49:37  <sgk_> not a bad idea 
17:49:50  <[GregoryNoel](GregoryNoel)>  hmmm...  not so sure 
17:50:08  <sgk_> ? 
17:50:09  <bdbaddog>     do all the svn comments indicate who contributed code as most was checked in by Steven? 
17:51:12  <sgk_> probably upwards of 90%-95% (or more) owing to occasional lapses 
17:52:01  <[GregoryNoel](GregoryNoel)>  but there are hundreds of people; if we miss any, it could be a problem 
17:52:13  <sgk_> legal or PR? 
17:52:17  <bdbaddog>     BTW I just check tigris, there are 39 1.0 bugs. most docs. 
17:52:20  <bdbaddog>     Legal.. 
17:52:40  <bdbaddog>     look at the driver issue between linux and openbsd. big stink. 
17:53:22  <bdbaddog>     Steven,  would all the patches be in the mailing list archive? 
17:53:28  <sgk_> yes, should be 
17:53:44  <[GregoryNoel](GregoryNoel)>  probably the starting point is to try to get a list of the contributors; the release notes should help 
17:54:17  <sgk_> iirc, i think we've got 150+ unique names in the change log 
17:54:20  <bdbaddog>     Maybe float an email to users and dev mailing list asking for assignment or licensing from any patches contributed? 
17:54:57  <[GregoryNoel](GregoryNoel)>  Yes, for those who are still with us 
17:55:08  <sgk_> right 
17:55:14  <[GregoryNoel](GregoryNoel)>  but I'll bet more than half will have to be tracked down 
17:55:35  <sgk_> easily 
17:56:13  <sgk_> but we're pretty penny-ante, and it helps to at least be able to show good faith efforts to try to get approval 
17:55:57  <[GregoryNoel](GregoryNoel)>  Mozilla had to go through this; do we have any contacts with them that far back? 
17:56:27  <sgk_> with Mozilla?  not directly 
17:56:41  <sgk_> certainly not related to any SCons work 
17:56:38  <[GregoryNoel](GregoryNoel)>  They tracked me down through three address changes; not an easy job 
17:56:46  <sgk_> wow 
17:57:16  <[GregoryNoel](GregoryNoel)>  good faith is one thing, but I hope we won't be penny-ante forever 
17:57:26  <bdbaddog>     :) 
17:57:57  <sgk_> good point... 
17:58:31  <sgk_> well, i can dig up the existing releases 
17:58:41  <sgk_> and we can start a spreadsheet tracking everyone 
17:58:53  <[GregoryNoel](GregoryNoel)>  I know Mozilla went to the pain of removing any code they couldn't resolve 
17:59:13  <[GregoryNoel](GregoryNoel)>  and reverse-engineering any they wanted to keep 
17:59:13  <bdbaddog>     yes. and you have to do that clean room, it can be a huge pain. 
17:59:15  <sgk_> the lawyer at SFLC said in practice if you get the big contributors you're pretty safe 
17:59:48  <sgk_> i can make that discussion available too (email) 
17:59:50  <[GregoryNoel](GregoryNoel)>  I'm sure that would cover 99.44% of the code, but it only takes one 
18:00:27  <sgk_> sure 
18:00:29  <[GregoryNoel](GregoryNoel)>  send a form to me; I haven't signed one yet 
18:00:33  <bdbaddog>     Well lets do what we can, and perhaps when Steven chats with SFLC about the icon, he can bring up the issue? 
18:00:34  <sgk_> it can help w/prioritizing though 
18:01:23  <[GregoryNoel](GregoryNoel)>  how? 
18:01:58  <sgk_> start with the biggest contributors 
18:02:12  <[GregoryNoel](GregoryNoel)>  yes 
18:03:32  <[GregoryNoel](GregoryNoel)>  Long silence; have we said all that can be said now? 
18:03:46  <sgk_> i think so 
18:04:36  <[GregoryNoel](GregoryNoel)>  OK, then there's probably not a lot of use starting on the next spreadsheet tonight, so I'm going to go get dinner 
18:03:58  <sgk_> hang on, doing one last check for newer issues 
18:04:53  <[GregoryNoel](GregoryNoel)>  We'll get those next week 
18:05:01  <bdbaddog>     ko. 
18:05:15  <sgk_> even if they might require another 0.98.x? 
18:05:33  <sgk_> fair enough 
18:06:03  <sgk_> if anything looks really urgent we can convene by ML or IRC as necessary 
18:06:09  <sgk_> thanks... 
18:06:09  <[GregoryNoel](GregoryNoel)>  yep 
18:06:23  <[GregoryNoel](GregoryNoel)>  OK, see you guys later 
18:06:31  <sgk_> later 
18:06:38  <bdbaddog>     l8r. 
18:06:43  *      bdbaddog (n=[]( has left #scons