[00:03] wgrant: awesome. will do what I can. [00:10] lifeless: plus, hiccup with test discovery, discover on 'foo' that finds 'foo.test_foo' will load it as 'test_foo', so that becomes the root of the test id, and then that can't be run by subunit.run. [00:10] lifeless: I think that's a bug in discover, but I'd like your opinion. [00:14] "" <== this is not the error message you're looking for.... [00:15] wgrant: just set 'actinium' back to ok, see if that sorts itself; if it does, I'll do the rest [00:15] spm: Great, thanks. [00:16] Some of the others were out with 'No route to host', which suggests a network glitch of some kind, which could also have caused the 'error's, I guess. [00:16] Although the fact that it was all i386 hints that it might have been a rogue recipe build -- I guess we'll see soon. [00:17] heh [00:18] lifeless: ah, it works if you use "." rather than "foo" as the discovery root. I don't think that's ideal, but I can see that discover may want to act the way it does so that you can discover on a root of ../../../somewhere if you want. I'd be happy to chat about this tomorrow if you like. [00:19] wgrant: nope. looks more serious. it's dropped straight back into "I'm broken" state. [00:20] spm: Argh, anything more useful in the b-m log than good ol' fault 8002? [00:21] wgrant: you want me to look in logs for meaning vs just making something up!!?!?! good lord man, it's too early on a monday morning for that level of competence! [00:26] bleh. that seems... unusual. [02:15] james_w: its a python limitation I suspect [02:15] james_w: it can't tell, due to the flexability of importing, where in the python namespace '.' is; it may need a second parameter to say 'here is the root', which may not be built in. [02:15] james_w: so I think discover can be improved [08:20] good morning [08:21] noodles775: Morning. [08:23] Hi wgrant and adeuring [08:23] hi noodles775! [08:23] noodles775: Are you going to have time to arrange a CP of the log parser branch? [08:24] wgrant: We need to QA it first, but yes, it should happen soon. I'm currently organising the CP for the builders timeout (edge is now working with the fix). [08:24] noodles775: Yep, I noticed edge was looking good. [08:25] (well, apart from the i386 builders, but that's hopefully unrelated) [08:27] wgrant: yeah, has there been any discussion there? I just tried enabling actinium, but it went straight back to Fault 8002. I'll check the logs. [08:29] noodles775: https://pastebin.canonical.com/33033/ [08:29] I tried exactly the same earlier today [08:29] Yeah, I was wondering what was in the logs. [08:30] Given that it's only i386, I'm suspicious that a recipe build may have snuck through. [08:30] Last mention of actinium seems fine: 2010-06-07 07:44:58+0100 [-] Processing successful build amd64 build of kwin-effect-bereflected 0.1~lucid~ppa1 in ubuntu lucid RELEASE from builder protactin [08:30] quite recent. [08:30] protactin != actinium? [08:30] Hm. [08:30] heh, that caught me out as well :-) [08:31] right, I just search backwards... [08:31] protactin doesn't exist. [08:31] and cut the line while copying... [08:31] Ah. [08:32] So what about actinium? [08:32] And who could possibly have thought that having those two names was a good idea? :P [08:32] heh [08:34] wgrant: just the traceback that spm posted... ah, I'll post it on the public one. [08:35] http://pastebin.ubuntu.com/445954/ [08:36] Oh, useful... [08:36] I guess that firing the rest trigger will fix them, but it might be nice to grab logs first if possible... [08:36] s/rest/reset/ [08:36] I'm looking at setting up a local copy of Launchpad for a project I'm working on, but am having trouble getting Launchpad to accept a different OpenID URL than the default [08:37] Ohhhhhhh, rescueIfLost. [08:37] So it was a network glitch. [08:37] How can I set a custom OpenID URL? Something in launchpad-lazr.conf? Is there any documentation for that file? [08:38] spm, noodles775: So, we have a whole lot of builders that need resetting. Is that easy enough? [08:39] Is that something you can do spm? lamont normally does it afaik. [08:39] noodles775: no unf, only lamont or one of the gsa's. and it's a NZ holiday, so paul hasn't been around. [08:39] (Basically, the builders dropped of the network for a while. The master noticed, and unassigned their builds. They came back, and the master noticed they were doing something they shouldn't be doing. The master tried to abort the builds. Aborting them is known to be... um.... buggy). [08:39] ha [08:40] Just the slaves need to be reset -- the thing that's done before every build. === almaisan-away is now known as al-maisan [09:18] morning all [09:21] Evening bigjools. [13:29] jelmer: Hi, about that fretsonfire vcs-import. Should we be complaining that the import of the upstream fretsonfire project was requested into the LP fretsonfire-severedfifth namespace instead of the LP fretsonfire namespace? [13:36] maxb: yeah, we probably should [13:37] maxb: I don't think we're able to change the project of a branch though [13:37] maxb: also, this wouldn't be a problem if URLs didn't have to be unique.. [13:37] Well, even if not that, it's a minor waste of resources to be importing the same branch twice === cr3_ is now known as cr3 [13:41] I guess we have the option of deleting the branch and requesting a replacement import of our own [13:43] jelmer, maxb: You can change the product through the API. [13:58] wgrant: not when you don't have permission to do so I hope? [14:01] jelmer: Heh, no. === salgado-lunch is now known as salgado [14:04] ~vcs-imports has edit on all import branches though [14:05] bigjools: Ugh, that log parser issue is in the apachelog contrib module. [14:06] yeah noodles775 just noticed that too [14:06] It looks likt it might not be a real issue. [14:06] Since it's trying to parse from somewhere other than the start of the line. [14:07] So... either the exisitng offsets in the DB confused it, or something put bad offsets there. [14:07] You've not changed the log file content at all?> [14:08] But those lines are passed in by our code (specifically: next_line = fd.next())... so it could be a bad offset... that's a good point. [14:08] If two have the same first line, the world will end like this. [14:09] it should be smarter about offsets and seek to the nearest \n [14:09] Well, it should probably actually complain if there isn't a \n right there. [14:09] Since we want to know if something has gone wrong. [14:49] gary_poster, here is an in-depth summary of the issue and outstanding questions for bug 587886 [14:49] Bug #587886: ec2 test mail reports SUCCESS when the suite fails [14:49] gary_poster, https://bugs.edge.launchpad.net/launchpad-foundations/+bug/587886/comments/3 [14:49] Bug #587886: ec2 test mail reports SUCCESS when the suite fails [14:49] reading, thanks [14:52] mars, looks like shakeout from the subunit integration [14:52] yep [14:53] like I said, we need to address the root cause here after the fix goes through. Otherwise changing the testrunner is always going to be risky and painful. [14:54] mars..isn't the root cause the fact that we have inter-process communication, which is by its nature more fragile for this sort of thing? [14:54] (and I don't see fixing that particular root cause) [14:54] gary_poster, yes, but the testrunner claims to have error handling mechanisms in place. Also, it has no concept of a child layer timeout. [14:55] so its current mechanism is broken, and it is missing at least one possible safeguard. [14:55] can somebody give me a clue about this test failure: http://paste.ubuntu.com/446120/ ? it occurs for this branch: lp:~adeuring/launchpad/expectations-bug-556499-model [14:57] leonardr or gary_poster, ^ haven't we seen adeuring's error before? [14:57] checking [14:58] it looks like an error occured when generating the json representation of an object (which is stuffed into the HTML for use in ajax) [14:58] adeuring, yes, check this: https://dev.launchpad.net/Debugging#Getting past "LocationError: 'json'" in TAL template tracebacks [14:58] mars: thanks, will lok [14:58] yeah, you need to find the underlying error [14:59] leonardr: the main change in this branch is the adition of a new property that is exposed to the webservice [14:59] though it is defined via get/set methods [14:59] i'll take a look at the branch [15:00] leonardr: but... the error occurs also for r9391 of the branch [15:02] mars, I don't see how a timeout could be coded reasonably for running arbitrary code that has no guarantee of generating anything on stdout or stderr in any particular amount of time. If you do, cool, show me when you write it, cause I'll want to see what you have in mind (no need to explain now). [15:02] On the other topic, an you point me to the "error handling mechanisms" claims? If the subprocess is running arbitrary code (which it does), and it does not return an error code it seems to me like you're going to have trouble. The subprocess wrapper code (the code running the arbitrary code) is the place where you have to code very defensively to make sure it catches just about everything. [15:02] Is that what you mean you need to improve? [15:04] mars: or do you just mean your last point?"Why is the parent testrunner process not failing the suite when it knows that the child process died due to a testrunner error? (I.e. the parent it got a 'Could not communicate with subprocess' flag)" [15:05] gary_poster, I think the code on either side of the subprocess gap needs to be examined to see why this exception did not cross the IPC channel [15:05] gary_poster, the latter, what you just quoted [15:05] gotcha mars, thank you. [15:06] gary_poster, if it knows "my subprocess just died, uh oh", then why the heck didn't the suite error out? [15:06] mars: ack, agree [15:06] adeuring: i don't know. can you find the underlying exception? i hope it will make everything clear [15:07] leonardr: yeah, I think mars gave me the right clue [15:08] noodles775, bigjools: bug 590766 sounds like a high priority. is it? noodles775, are you going to take it since it appears to be a continuation of your work for bug 588288, or are you tossing this over? [15:08] Bug #590766: Apache log parser crashes out on the PPA logs [15:08] Bug #588288: log parser should not read entire file into memory [15:08] gary_poster: I think it's happened because the offset it's using is out of sync with the file [15:09] ah [15:09] gary_poster: and I'd like to toss it over if that's ok :) [15:09] the code should probably look for the nearest \n to the offset [15:09] bigjools: and it's high priority? [15:09] gary_poster: fairly yes [15:09] ok [15:10] thanks [15:10] bigjools: sure. do you have an easy way to dupe, perchance? Otherwise I'll try to figure out a way to dupe with the clues you just gave. [15:11] gary_poster: it's reproducible on dogfood [15:11] but I suspect that's because the offset that's stored is out of whack for some reason [15:11] I'm happy to help test on DF for you [15:12] or probe for any more info you need [15:12] bigjools: ok, thanks, yeah. I'll probably write up a hack patch soon for you to try to see if we are on the right track before I pursue a full proper branch. [15:13] cool [15:13] Thanks gary_poster ! [15:13] :-) np [15:15] bigjools: I don't think being more robust and looking for a \n nearby is at all the right solution. [15:15] It should never happen. [15:15] do expand ... [15:16] Unless we have a bug, or somebody mangles the log files. [15:16] never != will never [15:16] and you hit on the right thing with your latter point [15:16] Yes, and when it does happen we have a problem, so we probably want to know that it exists. [15:16] it should not make the parser bail out permanently [15:16] Why would somebody be mangling log files? [15:16] PEBKAC [15:16] I agree I'd like to know what the root cause is [15:16] never underestimate human fuckups [15:17] It only kills the rest of that file, right? [15:17] in my case I suspect it's because the dogfood database was restored from production [15:19] Vaguely, I'd prefer to reread the file if we get out of sync, but I don't understand what is going on in this code well enough yet--the diff doesn't give me enough context. [15:20] We can't safely reread it. [15:20] We may have already put stuff into the DB from previous runs. [15:21] I figured we would, but I had hoped we would have enough information around to know what we had already read. That's obviously uninformed hope; perhaps it can't work. [15:21] We have the information: the offset. [15:21] Which is broken. [15:21] But the problem here is the case where that information is wrong. [15:21] Right. [15:22] So the offset is too fragile. I thought we might have a datetime of the last read line somewhere. If not, we could store it. === matsubara is now known as matsubara-lunch [15:44] bigjools: could you email me the specific file that is broken? I'd like to experiment with it. [15:44] I can [15:44] thank you [15:45] gary_poster: ummm it's 1.7G [15:45] bigjools: ... :-/ devpad, and I [15:45] ' [15:45] I can copy it to.... devpad! [15:45] I will tell you when I have it? [15:46] * bigjools needs 2 more arms [15:47] He would look funny then. [16:08] Is there plan for LP to have a "press foo to forward to debian" thingy? [16:10] leonardr: you might be interested in https://edge.launchpad.net/soupmatchers see http://bazaar.launchpad.net/~soupmatchers-dev/soupmatchers/trunk/annotate/head:/README === Ursinha is now known as Ursinha-lunch [16:58] nigelb, it's definitely within scope, but there aren't concrete plans to implement it right now. === matsubara-lunch is now known as matsubara === beuno is now known as beuno-lunch [17:09] Can somebody tell me where we import the sortable tables from that we use in Launchpad? [17:09] Are they LAZR-JS? [17:21] gary_poster or sidnei, Zope question: if I want to add a test to zope.testing for a specific corner case, do I have to use a doctest to do it? [17:22] gary_poster, sidnei, I would normally use a unit test for corner cases and test to increase code coverage. The test in question is to ensure a bug is not present. [17:22] mars, no, you don't need to use a doctest. in fact, if you're willing to convert all doctests to unittests you would be very welcome :) [17:25] sidnei, alright, where in zope.testing would this unit test go? "testrunner-ex" doesn't sound right [17:25] sidnei, oops, have to go, lunch is served, back in 1hr [17:31] jml: I'm trying to write something that links with reportbug [17:31] bug anyway, hooking with debian bts should be easier than most, since its easy to opena new bug. [17:32] but its the searching that might be a bit challenging [17:32] reportbug has searching code and it's in Python .... [17:35] ScottK: oh, reportbug is python? if only I knew, I wouldn't be pulling my hair out last weekend [17:36] ;-) [17:39] ScottK: in that case its only trivial for me to add the querying LP part to reportbug as such as a new feature! [17:39] I shuold try doing that this weekend === deryck is now known as deryck[lunch] === beuno-lunch is now known as beuno === Ursinha-lunch is now known as Ursinha === deryck[lunch] is now known as deryck [19:00] sidnei, back [19:03] mars, so tests are registered in tests.py. i see they are pretty much all doctests. but that shouldn't prevent you from writing a unittest [19:03] mars, testrunner-ex contains sample tests used by the doctests to trigger failure conditions and edge cases apparenlty [19:05] sidnei, yes, it looks that way [19:06] sidnei, ok, I see the subunit tests block near the end of tests.py. Looks like that is the place to put unit tests. [19:07] yeah [19:08] sidnei, should I create a new subdirectory just for unit tests? 'unit', or 'tests' or something? [19:09] sidnei, I am a bit hobbled here by my ignorance of zope project conventions [19:10] mars, uhm. instead of tests.py it should really be a tests directory there, and maybe a test_doctests.py inside. i think no-one bothered to fix that. [19:10] mars, maybe just add the test to tests.py [19:13] I'm not sure that is a good idea. That file is large enough already. [19:14] Adding an unknown number of xUnit tests to it would just pollute the module. [19:15] sidnei, I could create a tests/ directory and put test_subunit.py inside it [19:15] it would be a partial refactoring [19:15] that sounds good too [19:17] ok [19:18] sidnei, ah, won't work: a 'tests' package directory would raise a name conflict with the existing 'tests' module [19:19] yeah, so i thought. [19:19] testtestrunner :P [19:19] mars, best way would be to move tests.py to tests/test_doctest.py as i suggested. [19:20] sidnei, and what about testrunner-ex and friends? [19:20] mars, as i said, that's sample code used by the doctests [20:06] leonardr, ping, just did a rf-get and build, am getting an AssertionError from the apidoc/index.html build step. Known issue? [20:14] mars, i don't know about it. pastebin? [20:14] mars, btw, can I look at your patch for zope.testing when it's done? [20:15] jml, sure. may be a bit, I have to craft a reproduction of the error [20:16] mars, that's ok. I'm on vacation so not in any kind of rush :) [20:16] (yes I suck at vacation) [20:16] lol [20:21] leonardr, here is the output of 'make clean && make' on a fresh branch of devel: http://pastebin.ubuntu.com/446264/ [20:22] mars: hypothesis: someone landed a web service branch recently that broke this [20:22] i don't know why they were able to land it, since apidoc.txt should have failed [20:22] but that's the most likely explanation [20:22] leonardr, fake success mail from ec2? [20:22] "web service branch" = "branch that messes with or publishes something new on the web service" [20:22] yeah, i guess [20:23] leonardr, do you know how to fix it? [20:23] I don't :) [20:24] i know how to fix it on a high level, ie. 1) find the branch that caused the problem, 2) run the test, 3) fix the failure [20:25] but i have no idea what the actual problem is--it could be anything anywhere in the web service [20:26] mars: i'd start looking at rev 10953, adiroiban's POTemplate change [20:29] leonardr, we'll find out in 27 minutes :) [20:29] if buildbot is accurate === matsubara is now known as matsubara-afk [20:41] mars, i was able to make revision 10952 [20:50] I don't trust the buildbot estimates any more. Refreshing the page removed 2 minutes from the estimate since I last spoke of it, 20 minutes ago. [21:19] https://bugs.edge.launchpad.net/ubuntu is oopsing for bdmurray and I, is this a known issue? [21:21] bryceh, I was having similar problems with my branch listings page OOPSing earlier today. There was mention of increased database loads due to some OAuth code. gary_poster, could they be related? [21:22] mars, no what stub was talking about was systemic, not specific to today or this week or this month. [21:22] gary_poster, ok [21:22] the error I see is: Module lp.bugs.model.bugtarget, line 211, in getBugCounts [21:22] ', '.join(select_columns), ' AND '.join(conditions))) [21:22] QueryCanceledError('canceling statement due to statement timeout\n',) [21:22] (https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1619ED1527) [21:22] mars, binary search has revealed it's got to be either 10958 or 10959 [21:23] leonardr, ah, have to love the binary bug search :) [21:24] well it couldn't be 10959 ;-) [21:25] hehe [21:30] jelmer: Did you follow up about that fretsonfire import or did jonobacon apparently delete it himself for another reason? [21:30] mars, bdmurray, it's 10959 [21:31] maxb: I haven't followed up [21:31] leonardr: can you provide some guidance for fixing it? [21:31] ok, I'll write to him since he's deleted the old import and requested a new one [21:32] maxb: you can also msg him on irc, he's 'jono' on this network [21:33] bdmurray, first step is to find the underlying problem [21:34] leonardr, gary_poster, r10958 built fine for me. [21:35] my gyess [21:35] he couldn't find the edit-details button to fix it [21:41] bdmurray [21:41] this should be easy to fix [21:41] you define a new argument to searchTasks, which is a reference(schema=Interface) [21:41] you did what other, similar arguments did [21:41] but what you didn't see is that that value doesn't stay Interface forever [21:41] it only starts out as Interface to avoid a circular import [21:42] take a look at lib/canonical/launchpad/interfaces/_schema_circular_imports.py [21:42] you'll see # IHasBugs [21:42] and then a number of calls to patch_plain_parameter_type() [21:42] How can I set a custom OpenID URL? Something in launchpad-lazr.conf? Is there any documentation for that file? [21:42] each of those replaces the 'Interface' in one Reference(schema=Interface) [21:43] you need to add a call to patch_plain_parameter_type(IHasBugs, 'structural_subscriber', ???) [21:44] the question is, what goes in that ???? What type of object is structural_subscriber, really? [21:44] it looks like it's an IPerson [21:44] so you would add patch_plain_parameter_type(IHasBugs, 'structural_subscriber', IPerson) [21:45] leonardr: right, it is. and then would I just resubmit it to pqm? [21:45] yes [21:45] make sure that 'make' works after you make your change [21:45] leonardr, bdmurray: awesome, thank you [21:45] leonardr: yes, of course. [21:45] gary, np [21:46] leonardr: thanks for the help [21:46] sure === al-maisan is now known as almaisan-away [22:07] bryceh: did you make a bug for that? If not, I will. [22:07] bryceh: (the timeout on https://bugs.launchpad.net/ubuntu and https://bugs.edge.launchpad.net/ubuntu) [22:12] gary_poster, nope I didn't [22:12] bryceh: on it [22:34] Does anyone know why https://code.edge.launchpad.net/~chanwit/groovy/ck1 would not be showing a 'Branch metadata' section? [22:35] maxb, thumper might [22:38] maxb: what do you mean? [22:45] Some questions: Does launch pad solve the same problems that bugzilla does? [22:46] Can you install it on you own Ubuntu server, and make it work the same way launchpad.net works? [22:46] Can a software development company use Launch Pad for project management? [22:46] yes [22:47] sorry, in order [22:47] no (solves more than) [22:47] yes you can install it yourself, if you have the time and willpower to admin it (its not .... lightweight); you *must* rebrand it if you do that. [22:48] Yes, you can use launchpad for some project management tasks, either hosted (launchpad.net, speak to bac for commercial subscription info), or on your own one (see my immediately previous answer) [22:48] My company is looking for a Software Project Manangement solution. [22:48] Been looking at Jira, but thought about how much I liked how Ubuntu allows you to submit bugs and stuff. [22:49] We develop software that is commercial, but need something to track us through the Software Development Life Cycle. [22:50] sure [22:50] launchpad.net can host such things [22:50] Think installing LaunchPad on our Ubuntu server would be too involved a solution. I'm a big Ubuntu fan myself.... [22:51] thumper: Normally a branch page shows a 'Branch metadata' section showing its format, and if its stacked [22:51] But it's missing on that one branch [22:51] I've read this: https://dev.launchpad.net/Getting [22:52] After I complete those steps, will it be as simply as navigating to an internal ip such as http://localhost/LaunchPad ? [22:52] maxb: the branch hasn't been scanned since we added the metadata, so nothing to show [22:52] oh, I see [22:52] then just add a project through the web interface? Is it that simple or much much more involved. [22:52] It is MUCH MUCH more involved [22:52] For a start, you *must* rebrand it [22:53] And also learn lots about how the many components fit together, and how to run it in production, which isn't documented anywhere public [22:54] Yeah, but at first, we'd be just using it internally; If we were to let customers see it, we'd surely take the step of rebranding it. [22:54] To use it internally _legally_ you'd have to rebrand it first [22:54] For now, we're just looking at it more as a development tool than a customer feedback tool. [22:54] so says the licence [22:54] oh, I see. [22:54] (This annoys me too) [22:55] Lonniebiz: FWIW, https://answers.edge.launchpad.net/launchpad/+faq/208 [22:55] Well, that doesn't seem hard, just change the logo right, and replace any word "launchpad" with "CompanyA", right? [22:55] and design replacements for all of the many icons.... [22:56] (Again FWIW, I also think you are significantly underestimating the setup involved, as maxb suggested.) [22:56] that could be laborious... === Ursinha is now known as Ursinha-afk [23:40] wgrant, ping