/srv/irclogs.ubuntu.com/2009/11/04/#launchpad-dev.txt

Chexsinzui: I have a output log for your script run on staging, not sure if it completed properly or not.  Do you want to see the log?01:14
wgrantspm: Has gina been crashing for ~ a week, or is it robust enough to withstand the un-understandable packages which have turned up in the Debian archive?01:45
mwhudsonthat was a weird oopsy crashy thing02:18
wgrantHm?02:19
mwhudsonmy machine more or less hung02:19
mwhudsononly more or less though02:19
mwhudsoni could type into bash02:19
mwhudsonbut the processes i started didn't get anywhere02:19
wgrantHmm. Disk access was hanging?02:20
lifelessmwhudson: 'dmesg' next time02:20
mwhudsonlifeless: that was one of the things that didn't do anythign02:25
mwhudsonand i think it recovered actually, but i was into the reboot by then02:25
spmwgrant: I'm not personally aware of any failures - but have been away for a few days...02:40
noodles775EdwinGrubbs: thanks for getting that QA done on staging! Just to confirm, I'm guessing you also qa'd the 'distroseries milestone timeout' there (the CRB page only has the +index page entry as qa'd). Is that right?02:49
noodles775Welcome back spm :)02:50
EdwinGrubbsnoodles775: The previous fix applied to both bugs, and I erroneously thought that new fix did also. it is not timing out on staging, but I don't know why not.02:50
spmnoodles775: :-)02:53
mwhudsonnoodles775: _surely_ you should be asleep03:01
wgrantIt's only 4am!03:02
noodles775mwhudson: normally yes, but I'm just a little keen to see that things go smoothly ;)03:02
mwhudsoni see03:02
* mwhudson reminds himself to never volunteer to be RM03:03
spmmwhudson: but you had all that experience with BB. You should be poifect for the role!03:04
mwhudsonspm: itym "have enough mental scar tissue"03:04
* spm notes that trolling when the other person can't do Punch-In-The-Nose over TCP/IP is perferable03:05
spmmwhudson: same same03:05
wgrantIsn't the release ~6 hours away?03:06
noodles775mwhudson: speaking of which, do you know where the two NEEDSTESTING remaining items on the code team testplan.03:06
wgrantI don't see any announcements of it anywhere.03:06
thumpernoodles775: it seems that my fix didn't03:07
thumpernoodles775: I need to try again to work out what the problem is03:08
noodles775wgrant: yes it is, I sent the schedule to lp-dev, I'm not sure whether mrevell has an email prepared...03:08
wgrantmrevell won't be up before the release.03:09
thumpermwhudson: up for the call?03:09
noodles775thumper: ok, if your certain, move it to BAD (?), and let me know if you plan to get it in a re-roll.03:10
thumpernoodles775: not entirely certain03:10
thumpernoodles775: I'm going to try to reproduce locally03:10
thumpernoodles775: but apparently the revision has been rolled out and the page still oopses03:10
thumpernoodles775: so in that sense it is bad03:10
noodles775thumper: ok03:11
thumpernoodles775: wait though03:12
thumpernoodles775: I think it could be the staging librarian masking it03:12
noodles775:) yay, ok.03:12
thumperspm: how do we get stuff from the production librarian to the staging librarian?03:12
thumperspm: what is copied across?03:12
spmthumper: istr it's proxied - kinda sorta handwavy.03:13
thumperhmm...03:13
thumperhttp://staging.launchpadlibrarian.net/30419774/mp-unicode.msg03:13
thumperspm: gets processing failed03:13
thumperspm: any ideas how or why?03:13
spmhuh. and the real one works. looking...03:14
mwhudsonthumper: one sec03:16
noodles775Do you guys know about abentley's entry? bug 436325?03:16
mupBug #436325: Diffstat generation chokes on binaries (and others) <oops> <Bazaar:Fix Released by abentley> <Bazaar 2.0:Fix Released by abentley> <Launchpad Bazaar Integration:Triaged by abentley> <https://launchpad.net/bugs/436325>03:16
noodles775wgrant: mrevell will be around *for* the release, but I take from what you're saying that there's usually an announcement email sent to LP-users before the release?03:18
* noodles775 looks through the archive03:19
mwhudsonthumper: ok call?03:19
wgrantnoodles775: Normally sent to launchpad-announce, I think, so that people know that LP will be unavailable.03:19
noodles775gr... I don't even know if I'll have access to send there. Thanks wgrant... checking now.03:19
thumpermwhudson: yep03:20
wgrantnoodles775: They've classically been sent 24-36 hours before.03:22
wgrantHowever, I hope that lists.c.c announcement lists have a not-after-1am guard enabled.03:23
noodles775wgrant: yeah - I'm not sure why it's not been sent this time, but I'll update the rm-wiki notes to put a check in there. Organising now.03:23
wgrantnoodles775: Thanks.03:24
wgrantPeople get unhappy enough even when it is well announced.03:24
noodles775:/03:24
spmthumper: haha. the staging librarian is down atm; staging rollout in progress. give it another 10-20 and try try again.03:25
thumpermwhudson: OOPS-1404EB4803:30
thumperhttps://lp-oops.canonical.com/oops.py/?oopsid=1325EA16303:31
thumperspm: is the staging librarian up?03:45
spmnope. something looks nicely borked...03:45
thumpermwhudson: http://pastebin.ubuntu.com/309108/03:46
spmthumper: alas. it is still working - the restore is gradually building eggs. perhaps abnother 45 mins wait may be appropriate :-/03:48
thumpernoodles775: it may be fixed03:49
thumpernoodles775: it certainly works locally03:49
noodles775great!03:50
thumpernoodles775: I clicked on the link in staging which took me to edge, not staging03:50
thumperand I didn't notice03:50
thumper:-|03:50
noodles775thumper: do you know about abentley's bug listed there too?03:50
thumpernoodles775: yes, it is bad but not a blocker03:51
spmwgrant: ahh. in answer to your Q earlier about gina. I (you probably already know...) present bug 44940803:55
mupBug #449408: Need scriptactivity monitoring of "gina" <Soyuz:Triaged> <https://launchpad.net/bugs/449408>03:55
wgrantspm: I've seen that, yes.03:56
wgrantgina is a very special breed of evil.03:56
spmwgrant: that means a lot; hearing you say that as in. ;-)03:56
* spm has visions of gina owning it's own plane of the netherhells03:57
wgrantHeh.03:57
wgrantIt'll need a bit of hacking soon :(03:58
spmby the sound of; hacking with an axe03:58
spmanywas. bbs. school run time.03:58
wgrantJust with some v3 support.03:58
MTecknologyIs postgresql any faster than mysql?04:08
MTecknologyrandom question for the channel :P04:08
wgrantIs that a valid question?04:08
MTecknologyI don't have any basis for knowing04:08
thumperhttps://dev.launchpad.net/Soyuz/Specs/BuilddManagerUploadDecoupling04:17
thumperhttps://dev.launchpad.net/Soyuz/Specs/BuilddGeneralisation04:17
noodles775wgrant and others: I've been chatting with flacoste and we've decided to reschedule for Thursday 5th 09.00 UTC due to the lack of announcement.04:27
wgrantnoodles775: Probably a good idea.04:27
noodles775potentially 90mins of complete offline (no read access) is too scary - and we still don't have anyone who can send to lp-announce atm.04:27
wgrantBut... 5:30am. Ouch.04:27
wgrantOoh.04:28
wgrantThat's bad.04:28
wgrantNo read only?04:28
noodles775wgrant: nope - librarian machines are being updated.04:28
wgrantAh.04:28
wgrantThat really does need an announcement.04:28
noodles775yup.04:28
noodles775updating identica now...04:29
wgrantThanks for working that out.04:29
noodles775... and thanks for pointing that out :)04:29
jtvjamesh, got time to help with a nagging problem I've been having that probably involves storm?04:49
jameshjtv: sure04:49
jtvgreat, thanks.04:49
jtvThe problem is this: we have a script that's using up too much memory.04:49
jameshhave you thought of buying more memory?04:50
jtvIt shouldn't be pinning anything in memory across iterations of a particular loop.04:50
jtvyes, we considered that but I'm Dutch.04:50
jtvThe only class from the Launchpad source tree that it seems to be allocating in great numbers is DBEnumVariable.04:50
MTecknologyHow hard is it to backup a launchpad server if you run everything on a single system?04:51
jtvjamesh: There are no other LP objects in memory that could explain having so many of those around.04:51
jtvMTecknology: not very, just back up the database.04:52
MTecknologyjtv: and file system?04:52
jtvMTecknology: and... sleepwalking again?  :)04:52
jameshwell, you generally get one Variable for each field of each live instance Storm object instance04:52
wgrantAnd the bzr branches, and the librarian.04:52
MTecknologyjtv: hm?04:52
jameshand a few get created during expression compilation, but they shouldn't last long04:52
jtvMTecknology: oh, that'd be codehosting.  I wouldn't know about that part.  :/04:53
jtvjamesh: this is after transaction.commit() & gc.collect()04:53
jameshjtv: what code in particular are we talking about?04:53
jameshjust so I've got some idea of what's happening04:54
jtvjamesh: in the LP tree, lib/lp/translations/scripts/message_sharing_migration.py04:54
jtvjamesh: in there, look for _mergeTranslationMessages04:54
* jtv sneezes04:55
jtvdamn this cold weather04:55
jtvjamesh: that loop looks a lot more complex than it is04:56
jtvmost of it is just ways to avoid pinning ORM-backed objects in memory across iterations04:56
jtvin essence it's "for potmsgset in potmsgsets: for tm in potmsgset.getAllTranslationMessages(False, prefetch=False): message.shareIfPossible()"04:57
jtvThe rest is just a dance to make it store only objects' ids across iterations.04:58
jameshjtv: http://paste.ubuntu.com/309149/ <- I haven't tested this code, but it should give you some idea of what objects Storm knows about05:01
jtvjamesh: that may not tell us much...  there's >100× more of these DBEnumVariable objects floating around than there are objects in Store._alive05:03
jtv(In the dump I have)05:03
jameshjtv: do you know what's referencing those objects?05:04
jtvIf only I did...05:04
jtvThis is where the storm internals start to matter, I suspect.05:04
jameshgc.get_referrers() can help05:04
jtvOh, I knew about get_referents but not this one05:04
jameshI don't have any good sample code to play with for it05:05
jtvno worries, I can slot this right into our debug dumps.05:05
jameshyou sometimes need to use it recursively though05:06
jameshthe reference chain for most instance attributes is instance -> dict -> attr05:06
jtvThe current dumping code is ready to go through 2 levels05:06
jtvso again no worries there05:06
jtvI just thought there was only get_referents and not get_referrers05:06
jameshget_referrers is a fair bit more expensive05:07
jameshsince you essentially need to ask all the container objects whether they reference the one in question05:07
jtvAnyway, I have in memory: 92 POTMsgSets, 65 Languages.  That's about it for the real Launchpad objects.  Then, 19K DBEnumVariables, 334 CachedPropertys, 123 DBSchemaEnumCols, 99 PublicPersonChoices, 71 ContextTitles, and change.05:08
jtvThe Language objects may get cached somewhere; I haven't bothered to look.  I have no idea why the POTMsgSets would stick in memory unless Storm just likes to keep them in cache across transactions.  The rest is a complete mystery.05:09
jameshhow many enum columns are on each of those classes?05:09
jameshe.g. if POTMsgSet has 5 enum cols, then it would account for 460 DBEnumVariables05:10
jtvjamesh: might bools be implemented in this way?05:11
jameshno05:11
jameshjtv: DBEnumVariable has an _enum attribute pointing at the associated lazr enum05:12
jtvthen judging by the interfaces, there's one enum in Language and one in POTMsgSet.05:12
jameshmight help to see what those variables are for05:12
stubhttps://pastebin.canonical.com/24271/ has counts for non-lp objects too.05:15
jameshmight be an easier way to lay the blame than get_referrers05:15
stub(scroll down to the last section for the meaningful results - should have trimmed the earlier sections)05:16
jtvjamesh: as per stub's clever suggestion we're dumping referrer info for some random samples05:16
stubSo 108423 storm.variable.IntVariables lying around, most likely buried in tuples or dictionaries along with functions (I suspect validators)05:18
jameshso, for a storm object you have a dual ObjectInfo that Storm manages behind the scenes05:19
jameshinside that object there is a tuple of Variable objects representing the primary key05:19
stub(We are actually making a list of integer ids rather than some object that can be cast to an integer, aren't we?)05:19
jameshand a mapping from from columns to variables for the other fields05:20
jtvstub: good question... I'm just getting [obj.id for obj in result]05:20
jameshso IntVariable in a 1-tuple would be primary_vars05:20
jameshVariables as values in a dict are probably other columns05:21
jtvstub: I pushed a new version of the branch that, for the random samples, dumps referrers instead of referents.05:23
jtvmaybe run again with that?05:23
stubk05:24
stubGimme a package ;)05:24
stubjtv: Did you tweak the filter? We don't seem to have enough launchpad database objects to account for everything so I suspect we need to turn the object filter off like I did last run05:26
jtvstub: package: eog05:26
stubGah. What is the branch again btw? Lost my shell history.05:27
jtvstub: can do... it's a matter of removing the "filter" argument from the dump_mem call05:27
jtvlp:~jtv/launchpad/debug-mem-205:27
stubstage 1 underway (using my existing local hacks for no filter and more readable sample, not that the sample turned out to be useful)05:29
jtvI commented out the filter on my end as wel05:29
jtvl05:29
jtvwhat's the local hack for a more readable sample?05:30
stubjtv: https://pastebin.canonical.com/24309/05:31
jtvI don't think the exception handling on get_class is needed... hasn't barfed on me yet05:32
jtvhas it barfed on you?05:32
stubjtv: It did when I was trying to inspect contents of tuples - some bzrlib late loading stuff. Not needed now I suspect.05:34
stubI was trying to categorize the tuples but it was too noisy.05:35
* stub goes to the fly lice sho05:36
jtvstub: bong appetit05:36
mrevellMorning :)07:07
wgrantMorning mrevell -- want to announce the downtime?07:08
mrevellwgrant, This is me back after a couple of days holiday. Roll-out downtime looks as though it's on the status page to me.07:10
wgrantmrevell: So that has completely replaced launchpad-announce as the announcement mechanism? There has always been an email to launchpad-announce 24-36 hours before.07:13
mrevellwgrant, I'm just checking to see what's been done and what hasn't...07:13
mrevellwgrant, We're still waiting on definite confirmation of the roll-out time. I'll announce as soon as I have it.07:15
wgrantmrevell: OK, great. This one is particularly important to announce well ahead of time...07:16
al-maisanwgrant: http://identi.ca/launchpadstatus07:20
wgrantal-maisan: I know that, but most people don't.07:21
al-maisanwgrant: great.07:21
wgrantAnd people rightly get unhappy when LP goes down for 90 minutes without an announcement.07:22
al-maisanwgrant: agreed.07:22
jtvjamesh: one thing we keep seeing in the random samples of live objects is _break_on_local_diverged, so presumably we've got a lot of those07:26
jameshthat'd be the Reference() caches07:26
jameshIf you have a reference Foo.bar using Foo.bar_id => Bar.id, Storm caches the value of Foo.bar and sets up an event handler to break that connection when Foo.bar_id changes07:27
jamesh(such as happens when you commit the transaction07:27
jtvSo what happens to those event handles when we commit?07:29
jameshon commit, all alive objects are invalidated07:30
jameshso non-primary vars are cleared07:30
jtvYou've mentioned primary vars before.. what are they?07:30
jameshthe columns that make up the primary key07:30
jameshjust "id" for pretty much everything in Launchpad, IIRC07:31
jtvYes07:31
jameshthe primary vars aren't cleared because that's what is used to tie the Python object to the database row07:31
jtvjamesh: that begs two questions: why is the Python object still alive?  And why so many more of these than live ORM-backed objects?07:37
wgrantWith the delay, is 3.1.10 absolutely frozen, or is there a possibility of getting in a trivial fix (in code only used by sync-source.py) to prevent crashes caused by v3 source packages breaking the autosyncer?07:38
jameshjtv: well, one possibility is that you've hit a bug.07:39
jameshbut I don't really have enough info to say one way or the other07:39
jtvI also saw one dict that just mapped the string "remote" to a POTMsgSet.  Would that be a Storm thing as well?07:41
jameshhttps://bugs.edge.launchpad.net/storm/+bug/435962 was reported recently about References from primary keys.  I don't suppose that would apply to your situation?07:41
mupBug #435962: Reference can return a cached invalidated object if the local key is the primary key <Storm:Confirmed> <https://launchpad.net/bugs/435962>07:41
jameshthat'd be the cache inside the Reference, yes.07:41
stubjamesh, jtv: Here is the final log from the eog export: https://pastebin.canonical.com/24314/07:41
stubc/export/merge-job-thingy07:41
jtvstub: thanks07:42
jameshwe really need better __repr__() on the various Storm classes07:42
jtvstub, jamesh: note that this dump shows referrers for the random sample, not referents07:43
stubThats a lot of EventSystem instances07:46
jtvabout one per objectinfo, so I'd guess those are the callback hooks for key changes07:48
jtvabout as many "function" objects... are those generated on the fly for each object?07:48
jtv"frame" is a stack frame, meaning a local variable?07:50
stubI think so. If they were frames stored in tracebacks we would see object count for that.07:51
* stub toys with the idea of disabling the cextensions implementation of EventSystem as a shot in the dark07:52
stubjtv: Got another package for me to prepare, running the first two stages?07:53
jameshI'd be a bit surprised if the EventSystem impl was introducing bugs07:54
jtvstub: file-roller07:54
jameshmaybe users of the API, but not the actual implementation07:54
stubSo would I actually (everything else would be exploding too, although this is our most extreme job in the current code base as far as object loading is concerned)07:55
jtvdo we have an easy way to find out how many objects were loaded overall?07:59
jtvstub: so... are you trying that idea of disabling cextensions?  Shot in the dark it may be, but it hits a lot of stuff we can't see.08:04
stubI'm running stage 1&2 of fileroller in preparation for whatever we do next. That might be disabling EventSystem from cextensions, better logging of the events so we can see what is holding onto them, or whatever you come up with ;)08:06
stubAt the moment, I'm reading email.08:06
jtvstub: I for one am way out of my depth by now08:07
jtvAnd wtf would a stack frame be referencing all this stuff?08:08
jtvyou mentioned other ways of referencing frames...  could something be holding a whole stack incarnation in memory?08:10
jtvlike maybe a cextension forgetting to unregister something even?08:10
jtvjamesh: is it possible for a C extension to pin a stack frame in memory, if it forgot to drop a reference or something?08:21
jameshjtv: I wouldn't think so.  Not any more than a Python stack frame08:22
jtvI mean, could it pin a Python stack frame in memory?08:22
jtvSo many of these objects that should live inside Storm-backed objects seem to be referenced from the stack.08:23
jtvstub said something interesting earlier: when I do [obj.id for obj in query_result], do I really get ints?  Or is there any chance that I might be getting IntVariables or something?08:24
stubIIRC tracebacks and exceptions can leak stack frames if not handled correctly, but I don't think we are seeing that.08:25
stubobj.id should be returning an integer - it always has in the past08:25
jameshjtv: well, the only Python stack frames that stick around outside of the C call stack are generators08:27
jameshall the others are essentially tied to C function calls08:27
* jtv is grepping for 'yield'08:33
stubcomprehensions are generators too I think08:34
jameshyou can have references to local variables held in cell objects too when you work with closures08:36
jamesh(i.e. a nested function that uses variables from its parent scope)08:36
jtvstub: less likely that we're keeping references to those around though08:37
jtvso that's what those cell objects are... not getting many of those though08:38
stubI saw those cell instances but have no idea what they are.08:38
jtvjamesh: oh,  you're saying a cell can hold actual stack frames in memory, as I was suspecting the cextensions of doing?08:39
jameshno08:40
jamesha stack frame can hold cells that can hold locals08:40
jamesh(assuming you haven't been storing tracebacks and the like in local variables ...)08:40
jtv(we haven't)08:40
jtvthe cells don't seem to be doing much in the scheme of things08:42
stubSo am I correct and the current thinking is we are somehow leaking ObjectInfo instances (ObjectInfo's have a self._event==EventSystem)?08:42
adeuringgood morning08:43
jtvhi adeuring08:43
adeuringhi jtv!08:43
jtvstub: that's my impression, but the frames seem to be doing it.08:44
jtvlooking at https://pastebin.canonical.com/24314/ random sample 3, there also seems to be an EventSystem referencing an ObjectInfo.08:46
jtvThrough a frame, so the EventSystem seems to be holding a frame in memory.08:46
stubNone of our code will deal with ObjectInfo directly.08:46
stubA Store has an EventSystem, as does each ObjectInfo08:47
jtvoh, wait, it's a list containing a frame and an EventSystem.08:47
jtvSo we have [frame, EventSystem], where frame holds a weak reference to an ObjectInfo.08:48
jtvhmm... weak ref shouldn't be the problem though08:48
jtvbut we are seeing lots of that pattern: a list containing a frame and one other reference.08:49
jtvIs that something that happens in the ObjectInfo?08:50
jtvOr is it something that python does for generators or closures?08:53
stubprelim done09:04
jtvcool... now to figure out what to do with it09:04
jtvI notice that there are 5 twisted.Failure objects09:04
jtvwonder if those might be holding stack frames?  It'd be odd for them to hold frames with Storm stuff, I guess09:05
jtvI have no idea how Twisted would be involved in a script like this...  does storm talk to it?09:09
thumperbigjools: hi09:10
bigjoolshey thumper09:11
thumperbigjools: is it worth us having a call?09:11
bigjoolsthumper: what do you want to talk about?09:11
thumperbigjools: have you looked at your email?09:11
thumperbigjools: I sent something about 4.5 hours ago09:11
bigjoolsI have a shitload of email!09:11
bigjoolsand kmail is a PITA, it hangs folder views when resuming >:(09:12
bigjoolsone sec09:12
bigjoolsthumper: there's no chance of this working at the end of 3.1.1109:13
bigjoolsnor 3.1.1209:13
thumperwhy?09:14
bigjoolsthere's too much work to do, and many of the key people are sprinting in November09:14
jtvjamesh: we've got 5 Failure objects hanging around Twisted... any idea where those might come from and how we get rid of them?09:14
thumperI'm not saying we migrate soyus code away09:14
thumperjust make it possible to run jobs in a protected environment09:15
stubjtv: I imagine that is just noise from all the component architecture gumph that loads up09:15
bigjoolsyou need a VM for that09:15
jtvjamesh: or are they just unrelated failures to connect to services that this script isn't using?09:15
thumperbigjools: and that is how the soyuz code does it?09:15
stubjtv: I'm going to drop to a debugger once the object count goes about 1.5 million09:15
bigjoolslike the PPA VMs - they get totally reset after each PPA build09:15
bigjoolsyep09:15
thumperbigjools: what is the setup and teardown time of the vms?09:16
jtvstub: cool09:16
bigjoolsthumper: thankfully *very* quick, the IS guys did some great optimisation and it takes about 5 seconds IIRC09:16
thumperbigjools: do we have some to test with in staging?09:17
bigjoolsno, just dogfood09:17
bigjoolswe have one only09:17
thumperwell that's going to be a problem09:17
bigjoolsyeah09:17
thumperwe have only one vm?09:17
bigjoolsone builder09:18
bigjoolswhether it's a VM or not is irrelevant to how we talk to it09:18
thumpera builder can run multiple vms?09:18
bigjoolsother than resetting the machine09:18
bigjoolsthe one we have is virtual I think, but yeah we can run many builder VMs on a single box IIRC09:19
bigjoolsthumper: do you want to jump on a call with me and danilos?09:19
thumperbigjools: both translations and code will need arbitrary jobs to run in protected environments09:19
bigjoolsI know :)09:20
thumperI want to work out how we are going to make this happen09:20
thumpermy problem is it is 22:20 and my brain is fuzzy09:20
bigjoolsyeah09:20
bigjoolsI have the same problem and it's only 092009:20
bigjoolsso basically we already have an environment to do this - the problem is that it's built around soyuz09:21
thumperbigjools: what I want is a flag on the job class that says "run me in a protected env" and have the job runner just do it09:21
bigjoolsyes09:21
bigjoolshttps://dev.launchpad.net/Soyuz/Specs/BuilddGeneralisation09:21
* thumper ndos09:21
bigjoolsand I have a plan --^09:21
bigjoolsbut there are a number of stumbling blocks - but by the end of this week I will have a big list of smaller issues to tackle to get us to the point where we can get this working for non-soyuz jobs09:22
thumperbigjools: mwhudson will be looking at this over 3.1.1109:22
bigjoolsfabulous09:23
thumperbigjools: danilo has also offered some resources I think09:23
bigjoolsso I think the best thing he can work on is to refactor IBuilder09:23
thumperbigjools: and I gather that foundations may also be able to provide someone09:23
thumperbigjools: if you can provide some break down of the work09:23
thumperbigjools: we'll take a look at it09:23
bigjoolsI will09:23
thumperta09:23
bigjoolsin fact I am09:23
thumperfantastic even09:24
BjornTthumper: could we have a call about this some time? i'd like to learn more about the current job system, and how you want to extend it.09:27
thumperBjornT: sure, but not right now :)09:27
thumperBjornT: abentley is going to be doing some work on it next cycle09:28
* thumper signs off09:28
BjornTthumper: yeah, i wasn't suggesting to do it now :)09:28
* thumper smiles09:28
bigjoolsBjornT: I suggested 2-3h after the TL call09:28
BjornTbigjools: ok, that's probably fine for me09:30
noodles775Hey stub, would you be able to go through and update: https://dev.launchpad.net/FoundationsTestPlan/3.1.10 ? There's quite a bit of QA listed there.09:50
jtvstub: any luck?10:00
stubnoodles775: I've moved one item. The other two of mine still need QA (one I'm not sure how to test, the other I don't think I have the resources to test without taking staging down for half a day)10:01
stubjtv: So every leaked ObjectInfo I look at is similar to this:10:01
stub(Pdb) random.choice([o for o in gc.get_objects() if isinstance(o, ObjectInfo)])10:01
stub{<storm.references.Relation object at 0x2dfe550>: {'remote': <POTMsgSet at 0xa063c50>}, 'sequence': 1, <storm.references.Relation object at 0x2dfe850>: {'remote': <POTemplate at 0x5563c50>}, <storm.references.Relation object at 0x2dfe610>: {'remote': <Language at 0x790c190>}}10:01
noodles775Thanks stub.10:02
stubjtv: inf.get_obj() returns None, which seems to mean it really has been lost10:03
jtvstub: and yet it keeps that reference to the POTMsgSet10:04
jtvjamesh: were the "remote" entries meant to be cleaned up as the objects fell out of cache maybe?10:04
stubWould the POTMsgSet be caching any back references I wonder?10:04
jtvstub: not that I've seen so far10:05
jameshjtv: they should get cleared out when the key for the reference gets cleared10:05
jameshthey are meant to be strong reference10:05
jtvstub: and these POTMsgSets were not supposed to be in cache any more, right?10:07
stubPdb) pprint(inf)10:08
stub{<storm.references.Relation object at 0x2dfe550>: {'remote': <POTMsgSet at 0xd2e6550>},10:08
stub <storm.references.Relation object at 0x2dfe610>: {'remote': <Language at 0x790c190>},10:08
stub <storm.references.Relation object at 0x2dfe850>: {'remote': <POTemplate at 0x545f810>},10:08
stub 'sequence': 1}10:08
stubIt might well still be in the cache. Why are we interested in the POTMsgSet and not in whatever is holding a reference to this ObjectInfo?10:09
stubReferrers are:10:10
stub<type 'tuple'>10:10
stub<type 'tuple'>10:10
stub<type 'builtin_function_or_method'>10:10
stub<type 'builtin_function_or_method'>10:10
stub<type 'tuple'>10:10
stub<type 'dict'>10:10
stub(one of which will include my interactive session)10:10
jtvSo who's holding the tuples and dict?10:11
jtv(I'm making a wild guess that the builtin_function_or_method is the debugger)10:11
stub(Pdb) repr(refs[0])10:20
stub"({<storm.references.Relation object at 0x2dfe550>: {'remote': <POTMsgSet at 0xd2e6550>}, 'sequence': 1, <storm.references.Relation object at 0x2dfe850>: {'remote': <POTemplate at 0x545f810>}, <storm.references.Relation object at 0x2dfe610>: {'remote': <Language at 0x790c190>}},)"10:20
stub(Pdb) repr(refs[1])10:20
stub"({<storm.references.Relation object at 0x2dfe550>: {'remote': <POTMsgSet at 0xd2e6550>}, 'sequence': 1, <storm.references.Relation object at 0x2dfe850>: {'remote': <POTemplate at 0x545f810>}, <storm.references.Relation object at 0x2dfe610>: {'remote': <Language at 0x790c190>}},)"10:20
stub(Pdb) repr(refs[2])10:20
stub'<built-in method _emit_object_deleted of storm.info.ObjectInfo object at 0xd9c9b60>'10:20
stub(Pdb) repr(refs[3])10:20
stub'<built-in method get_obj of storm.info.ObjectInfo object at 0xd9c9b60>'10:20
stub(Pdb) repr(refs[4])10:20
stub"({<storm.references.Relation object at 0x2dfe550>: {'remote': <POTMsgSet at 0xd2e6550>}, 'sequence': 1, <storm.references.Relation object at 0x2dfe850>: {'remote': <POTemplate at 0x545f810>}, <storm.references.Relation object at 0x2dfe610>: {'remote': <Language at 0x790c190>}},)"10:20
=== henninge is now known as henninge-bbl
stubA twisty maze of tuples, all of them alike.10:21
stubGah... that time of the day when my wireless connection starts dropping out :-P10:22
stubjtv: So for that POTMsgSet, there are 229 referrers10:26
jtvstub: are they (or some) TranslationMessages?10:27
stubAll dicts, so probably lost ObjectInfos like the above10:28
* jtv checks how many TMs we had in memory10:28
jtvah10:28
jtvso maybe these are event handlers waiting for _foreign_ keys to be changed?10:29
jtvRemarkable: we're not leaking _any_ TranslationMessages.10:30
jtvat this point it'd be nice to have a neat graph plotted of that maze...10:30
stubUnfortunately all I have is a pdb shell and a crappy connection ;)10:31
jtvstub: maybe this is what we need: http://mg.pov.lt/objgraph/10:31
stubCould be good. You can try that locally.10:33
jtvIt's on Launchpad, interestingly enough, but that's not showing up on google.10:33
jtvstub: missed your message earlier... I'll try objgraph10:49
noodles775hi danilos, there's one translation bug of yours tagged as needs-testing - bug 459132, have you qa'd it, or can you pls if not? Thanks.10:58
mupBug #459132: Clean up existing untranslated credits messages <qa-needstesting> <Launchpad Translations:Fix Committed by danilo> <https://launchpad.net/bugs/459132>10:58
danilo_noodles775, haven't QAd it yet, won't run the script until it's QAd though, it shouldn't block the release10:59
noodles775danilo_: great, thanks for the update.10:59
noodles775BjornT: when you get a chance, would you be able to either QA or mark as untestable the item at https://dev.launchpad.net/LaunchpadTestPlan/3.1.1011:01
deryckMorning, all.11:02
mrevellmthaddon, Hi11:08
mthaddonmrevell: howdy11:09
BjornTnoodles775: it is OK, but i can't seem to be able to edit the wiki page11:21
noodles775Thanks BjornT - I'll update it.11:21
noodles775BjornT: or not - Type error - I guess the same as you.11:22
BjornTnoodles775: yeah11:22
=== henninge-bbl is now known as henninge
=== salgado-afk is now known as salgado
danilo_noodles775, hey, when's the actual release being rolled out?11:35
danilo_noodles775, ah, seen the email, never mind :)11:35
noodles775:)11:35
jtvjamesh, stub: http://rookery.canonical.com/~jtv/objects.png11:56
jtvprobably a bad example because this object has legitimate business being in memory11:57
stubjtv: It does? I can generate a new one then ;)12:10
jtvstub: seems to be the same in your graph, yes...  I did have to copy your trick of getting a random pick though.  I think get_objects may be in-order.12:11
jtvstub: see latest version of my branch, it produces the objects.png at the very end12:12
stubWhy do you think the objects should be there?12:12
stubI'm seeing gobs and gobs of ObjectInfo's linked to a lone POTemplate in the top left corner12:12
stuboh - you mean on your graph12:15
jtvwell, same on yours: the POTemplates are supposed to be in memory because they're referenced12:16
jtvthere should probably be a potmsgset in the graph somewhere12:16
stubYes - the POTemplates are not the problem. The couple of million ObjectInfo's are.12:16
stubI can't see a POTMsgSet - might have been cuttoff12:17
stub(the graph took a few mins to generate as it is ;) )12:17
jtvyou could start plotting from one... mine is smaller & faster, but maybe doing it all the way at the end allows too much leakage to be cleaned up again12:17
stubThe dubious bit to me is the 'changed' link in my graph. There is a set of 4k objects, one of which the ObjectInfo I'm inspecting (after following a few links)12:20
jtvactually... why should there be so many ObjectInfos attached to one POTemplate?  I thought jamesh said 2 per object.12:20
jtv"changed" link?12:20
* jtv really needs that 52" monitor now12:20
jtvoh, I have it12:21
stubSo these objects are registered on the 'changed' event on the POTemplate I think, and for whatever reason that isn't cleared over transaction boundaries?12:22
jtvor maybe they're sets of objects that storm thinks have changed?12:22
jtvgiven that committing seems to count as changing the primary key somehow...12:22
stubThe only dictionary in EventSystem is the hooks to call. So the 'changed' is the key into the _event._hooks dictionary.12:23
jtvahok12:23
jtvso... the event hooks aren't cleaning themselves up?12:25
stubWhich would indicate that these objects are not unhooking themselves when they drop out of scope I guess?12:25
jtvstub: we can ask niemeyer on #storm12:27
noodles775Hi salgado ! Could you please take a look at your remaining foundations NEEDSTESTING entries when you get a chance (and possibly others there ;))?12:31
salgadonoodles775, I can take a look, but we don't test our own items in foundations, so I'll ask matsubara to do it12:32
salgadomatsubara, ^.  mine have instructions12:32
noodles775salgado: fine - as long as they're updated I'm happy :)12:32
noodles775Thanks!12:32
matsubarasalgado, ok12:33
=== danilo_ is now known as danilos
bigjoolswgrant: you need to get r-c for your branch as well13:25
bigjoolsI think we can get it in the regular rollout13:26
wgrantbigjools: Ah, that would be handy.13:26
wgrantnoodles775: Can I please have an r-c for https://code.edge.launchpad.net/~wgrant/launchpad/sync-source-v3-fix/+merge/14417?13:27
bigjoolsand ultimately I'd love it if this code was not in the LP tree13:27
wgrantNSS!13:27
bigjools*cough*13:27
bigjoolson that note, have you looked to see if Gina will blow up with 3.0 formats?13:27
wgrantIt will.13:27
bigjoolsfuck13:27
wgrantYes.13:27
bigjoolswell-factored code FTW13:28
wgrantBut buildds are higher on my priority list at the moment.13:28
wgrantHowever, I can't do anything on them until tomorrow morning, so gina-time now.13:28
wgrantIt shouldn't be too difficult.13:29
wgrantBut I wonder how spectactularly it is blowing up at the moment -- is it crashing entirely, or just failing to import some stuff?13:30
* wgrant tries to remember how to get this thing running.13:32
* bigjools -> food13:35
stubjtv: Was it the wordpress product or sourcepackage?13:41
jtvproduct13:41
jtvbut part of that job is done now, I think?13:41
stubjtv: I never attempted wordpress13:41
jtvI thought you did, early on...13:42
stubjtv: I've commented out the gc.collect() and object count stuff. Just reporting memory usage.13:42
stubjtv: No - we did a smaller package first and it failed.13:42
jtvso did you run against the package just now, or the product?13:43
stubfile-roller sourcepackage13:43
stubOf course, there is still a coredump lurking in there somewhere ;)13:45
jtvoh yes, that too  :(13:50
jtvstub: so wait, you were saying that it was fixed for... file-roller I guess, but not for wordpress, right?13:50
jtvstub: or did you mean to say "*Now* for that wordpress run"?13:51
stuberm... yes. typo ;)13:51
jtvphew!13:53
wgrantbigjools: OK, great. The fix for gina is simple, and for now it will just skip the package.13:55
=== abentley1 is now known as abentley
=== sidnei-away is now known as sidnei
bigjoolswgrant: awesome, thanks14:16
sinzuinoodles775: The registry is OK to release now14:19
noodles775Thanks sinzui !14:20
noodles775matsubara: how are you going with the foundations QA?14:21
matsubaranoodles775, haven't touched that yet. it's next in my list though14:22
noodles775matsubara: great.14:22
noodles775matsubara: I'll do salgado's items that have instructions now.14:27
matsubaranoodles775, I'm doing r9779 feel free to take the next one14:27
noodles775matsubara: yep, taking 981714:28
noodles775matsubara: actually, but I think I *need* you anyway - do you have access to staging's mailbox? If so, can you confirm the email as outlined there.14:29
matsubaranoodles775, btw, I'm syncing my local mailbox to have the staging email for those login workflows, I'll let you know when I get your email :-)14:30
noodles775taa14:30
matsubaranoodles775, it'll take some time since the mailbox is huge14:30
noodles775matsubara: ok, so pls just update that item too (I guess it wasn't so helpful for me to try to do some!)14:31
matsubaranoodles775, will do. no worries :-)14:31
Ursinhamatsubara, is it huge even with the daily cleaning?14:31
matsubaraUrsinha, the problem is that my offlineimap cache hasn't been updated in a long time14:36
Ursinhamatsubara, maybe you should use the regular imap now that the inbox is manageable14:37
matsubaraUrsinha, offlineimap is still a lot faster IMO14:37
Ursinhamatsubara, not for sporadic access, I guess14:37
Ursinhabut it's a matter of taste :)14:37
matsubaraUrsinha, mutt + imap sucks anyway14:38
wgrantCan I grab an r-c for https://code.edge.launchpad.net/~wgrant/launchpad/sync-source-v3-fix/+merge/14417?14:38
Ursinhanoodles775, ^14:38
noodles775looking14:38
noodles775Thanks wgrant - rc approved.14:44
wgrantnoodles775: Thanks.14:44
noodles775wgrant: is someone already organised to land that?14:45
wgrantnoodles775: Not sure. bigjools ^^?14:46
bigjoolsI am OTP, would you mind landing it noodles775?14:46
=== sidnei is now known as sidnei-away
wgrantnoodles775: If you can, thanks! Happy archive admins are good.14:49
* wgrant sleeps.14:49
noodles775wgrant, bigjools: yep, no probs. Sleep well wgrant :)14:49
bigjoolsg'night wgrant14:49
=== salgado is now known as salgado-lunch
barryreviewers, lurkers, beuno and anybody else -> #launchpad-meeting in 5m14:56
barryreviewers -> #launchpad-meeting15:00
mptsinzui, hi, do you have time to supply those UDS discussion estimates today?15:06
sinzuimpt: no. I am doing them today15:07
sinzuimpt: I can give scale, not time. I may be able to say the number of releases15:07
mptsinzui, I'm mainly concerned with making it easy for robbiew to schedule UDS at the moment :-) Estimates for the actual implementation are interesting, but not required for that.15:08
sinzuiOh, time needed to discuss. I really have not idea. Maybe I will when I have this work broken into stories with technical notes.15:10
mptsinzui, "not at all" is a possible valid answer for the Launchpad-related topics, if they would be better discussed outside UDS.15:12
sinzuinoodles775: ping15:13
noodles775sinzui: hi15:14
mptsinzui, but if there are Registry + Soyuz people attending UDS, it would make sense to have face-to-face discussions on them since they'll be higher bandwidth than teleconferences15:14
sinzuinoodles775: I think we need another rc https://staging.launchpad.net/bzr/+milestone/2.0.115:14
sinzuihttps://staging.launchpad.net/gdp/trunk/0.215:14
sinzuiBug 473738 reports issues that may relate to recent CSS changes15:14
mupBug #473738: milestone page refuses to let me see the bug status (after resizing) <Launchpad Registry:New> <https://launchpad.net/bugs/473738>15:14
* noodles775 looks15:15
sinzuinoodles775: The issue appears to be the "Download files for this release" table. the page lays out correctly if you remove the release15:16
sinzuior maybe the dual combination or .portlet .full-page-width15:18
sinzuinoodles775: I see the issue, The DOM shows the full-page-width is nested inside another. This is a pretty simple fix.15:20
noodles775sinzui: great - we've still time to land on db-devel (especially as you won't need to run the suite if it's just a css change). Let me know when it's ready. Thanks!15:21
noodles775oh, although that would be a template change? still time though.15:21
sinzuithe milestone tests are pretty robust. we do not test markup, only content. the class is not tested15:25
noodles775Great.15:25
noodles775matsubara: thanks for clearing the foundations QA!15:25
matsubaranoodles775, np :-)15:25
sinzuinoodles775: Another course is to add a CSS rule for .full-page-width .full-page-width that disables the width change.15:25
matsubaranoodles775, about the one item in the Launchpad itself queue, I already pinged mrevell about it and basically we can't check on staging yet as it's still is one revision behind15:26
Chexsinzui: did you see my message on your staging script run last nite??15:26
noodles775sinzui: sounds much safer - and would actually be useful too?15:26
sinzuiChex: I did I would be a nice read15:27
mrevellmatsubara, you pinged me about that? I don't see it.15:27
noodles775matsubara: yep, I can do that later - it's easy.15:27
Chexsinzui: oki-doki, hang on15:27
barryabentley: what rev of lp:bzr-pipeline works with bzr 2.0.1?  i just updated my plugin and it borkeded15:27
sinzuinoodles775: it is safer, and it clearly defines our intent15:27
matsubaramrevell, I pinged you on another channel15:27
noodles775mrevell: just the blog post update...15:27
mrevellnoodles775, all ok with it?15:27
abentleybarry: The lp:bzr-pipeline/stable branch works with bzr 2.0.x15:28
noodles775mrevell: yep, should be, we just need to wait for staging to update before we can QA it, that's all.15:28
barryabentley: cool, thanks15:28
abentleybarry: np15:29
Chexsinzui: chinstrap:~stasik/tmp/15:29
=== matsubara is now known as matsubara-lunch
noodles775_um, is there a bug with the display of MP's?16:04
noodles775_https://code.edge.launchpad.net/~matthew.revell/launchpad/whatsnew-3110/+merge/1423116:04
noodles775_The original reviewer is not displayed there, it looks like it's reviewed by jtv, but by the comment seems to be abel.16:05
jtvnoodles775_: I updated its status only16:05
jtvnoodles775_: after the original reviewer voted Approve.16:05
noodles775_jtv: ah, *phew*, thanks.16:05
jtvnoodles775_: sorry for the confusion,  I just wanted to get it off the "reviews you should be doing RIGHT NOW, slacker!" list16:06
noodles775_np... good thing to do!16:06
jtvWell yes and no... technically one could argue I might not have been qualified to decide whether the Approved vote was enough to approve the whole MP16:07
noodles775_yes, I should be doing that when I do the rc right?16:07
=== danilo_ is now known as danilos
noodles775_I'm still confused why abel's not listed as a reviewer - maybe he just didn't select 'Approve' when reviewing it and I didn't notice before?16:08
sinzuinoodles775_: I am now weeping. I can see a programming error in the product-release-finder. I am inclined to purse a CP rather than fix it for an RC.16:09
sinzuinoodles775_: The CSS fix for the milestone page is simple, but there is something else wrong, the sidebar is in the wrong position. There must be a markup nesting error, but I cannot see it16:10
* sinzui blows a gasket.16:10
bigjoolspoor gasket16:10
noodles775_sinzui: no stress - I think it's not really critical - it doesn't stop people from seeing the information as you can always scroll.16:11
noodles775_sinzui: what do you think?16:11
sinzuiyes that is true16:11
sinzuiThe side bar is at the bottom of the page16:12
noodles775_sinzui: can the simple css fix just be landed on its own and leave the side bar issue for later? Up to you.16:14
sinzuiabsolutely16:14
=== salgado-lunch is now known as salgado
sinzuinoodles775_: FF hates this <div style="clear:both" /> changing the markup to use an open and close tag fixes the side bar.16:17
noodles775_Great!16:18
sinzuioh there were only two cases in the whole tree16:18
sinzuiThat that cause the nesting error in the DOM, but the XML checker passed it16:19
sinzuiIt is same the reviewers meeting is over now16:19
noodles775_yeah16:20
=== EdwinGrubbs is now known as Edwin-lunch
danilosUrsinha, so, launchpad-2207-00-0.sql is a base database description from one point in time (judging how stub usually names them, that one is from 2.2 LP series from July)16:37
Ursinhadanilos, go ahead16:37
danilosUrsinha, the changes you showed me in http://paste.ubuntu.com/309660/ are correct SQL-wise, but you need to make it into an incremental patch we can apply on the live database16:37
danilosUrsinha, that means using ALTER TABLEs and similar16:37
danilosUrsinha, look at examples in database/schema/patch-*.sql16:38
Ursinhadanilos, I'm doing that, creating one with alter table, that is16:38
UrsinhaI'd like to know if the changes were correct before doing that16:38
Ursinhadanilos, right, after that what should I do?16:40
danilosUrsinha, create a patch and name it something like patch-2207-95-0.sql (use a number instead of 95 that is not used by existing patches; do update LaunchpadDatabaseRevision table with the number as well)16:44
Ursinharight16:45
danilosUrsinha, the reason why I am saying you started the wrong way is because you should be able to play with this on launchpad_dev DB, i.e. to construct relevant fields; just do "psql launchpad_dev", and issue ALTER TABLEs there, create new indexes if needed and whatnot16:52
Ursinhadanilos, oh, I see16:53
danilosUrsinha, patching launchpad-*.sql is not something you'd ever want to do, at least not until you get promoted to being stub :)16:53
Ursinhadanilos, haha sure :)16:53
Ursinhadanilos, not my intention here :)16:53
danilosUrsinha, also, doing direct modifications in 'psql launchpad_dev' is much faster than re-running make schema a few times16:54
Ursinhadanilos, indeed it is, but again, I just wanted to check with you if those changes were correct :)16:55
UrsinhaI couldn't think of other way :)16:55
Ursinhadanilos, sorry :P17:00
Ursinhadanilos, this is cool exercise, btw17:02
danilosUrsinha, I am going back to not knowing anything about it :)17:02
danilosUrsinha, in a call as well now :)17:02
Ursinhadanilos, sorry, will disturb you later then :)17:02
=== matsubara-lunch is now known as matsubara
Ursinhamatsubara, did we have any problems with summaries generator script? I see no lpnet summary for yesterday17:07
matsubaraUrsinha, likely. if the html/txt summary is not in the oops-summaries/ directory, then it wasn't generated. can sort it ou?17:09
Ursinhamatsubara, ok, I'll try to run that again17:09
Ursinhamatsubara, thanks17:10
thumperwhen are we getting yui3 release code into LP?17:13
thumperI spent time chasing stuff last night hitting issues by reading online docs17:13
thumperonly to find that our code didn't have it17:14
thumperthe methods I want that is17:14
sinzuiChex: I think the staging reset clobbered the product-release-finder test earlier that I anticipated. Can you run the script now *if* we are not updating the staging?17:15
Chexsinzui: yes sure, hang on and let me check17:22
=== deryck is now known as deryck[lunch]
rockstarthumper, I think mars is working on it (and I hope it's done in time for the sprint)17:27
=== flacoste is now known as flacoste_lunch
salgadosidnei-away, when you get back, I'd appreciate if you could have a look at bug 474459 and see if you've got any ideas on what could've caused that17:57
mupBug #474459: Text input in the picker's footer can't be focused <LAZR Javascript Library:New> <https://launchpad.net/bugs/474459>17:57
mptsinzui, robbiew is doing the UDS scheduling this week, so if you think those LP bits would benefit from discussing at UDS at all, I suggest either today or tomorrow :-)18:04
sinzuimpt: I am struggling to get this done. I will try18:05
mptthanks18:05
Ursinhadanilos, ping me when you're available, please :)18:30
danilosUrsinha, ping18:30
danilosUrsinha, what's up? :)18:31
Ursinhadanilos, http://paste.ubuntu.com/309797/18:31
Ursinhasee if this is correct, please18:31
danilosUrsinha, now, that looks much better18:33
danilosUrsinha, you don't want to use 9 as the number though, at least until stub assigns you one, since it's much more likely you are going to merge with latest db-devel and somebody would have already used that number18:34
danilosUrsinha, so, go with something like 99 or 92 or 97 or...18:34
Ursinhadanilos, I see, renaming..18:34
danilosUrsinha, and, the next step is to add a field description to comments.sql and you can submit that for DB review18:34
Ursinhadanilos, ok, I'll do this right now18:35
danilosUrsinha, basically, the DB patch + comments.sql modification should be all you've got in this branch18:35
Ursinhadanilos, sorry taking so long, had to figure out the problem with the oops summaries18:35
Ursinhadanilos, right.18:35
Ursinhadanilos, should I file an mp or just submit my branch to lp?18:35
danilosUrsinha, excuses, excuses... it's not like we are releasing tomorrow!18:36
Ursinhahehe18:36
danilosUrsinha, file a new bug for this branch, attach a branch to it, make an MP and ask for stub's review18:36
Ursinhadanilos, I've filed, will do that18:37
danilosUrsinha, make an MP against lp:launchpad (not launchpad/devel), and once you get approval and we are good to land stuff, land it on db-devel18:37
danilosUrsinha, also, in general, you want to start branches like these by branching off db-devel, especially if you are going to land it like that, but it shouldn't be a problem now that you are going to land it after the rollout18:38
Ursinhadanilos, I see that in the docs it says to name the file patch-xx-99-0.sql, so my file should be named patch-90-99-0.sql?18:39
Ursinhadanilos, I did that already18:39
danilosUrsinha, excellent :)18:39
danilosUrsinha, no18:39
danilosUrsinha, xx should be 2207 in that case18:39
Ursinhaoh *stupid*18:39
Ursinhasorry18:39
Ursinhalack of coffee here18:39
danilosUrsinha, 99 is the least likely number to have been reached, but anything well far off from the latest number is good :)18:39
danilosUrsinha, excuses, excuses, it's not like... :P18:40
Ursinhadanilos, I won't use 99 because it's likely someone had the same idea :P18:40
danilosUrsinha, it doesn't matter, stub will give you a new number and then you'll bzr mv to that18:40
danilosUrsinha, if anyone managed to land a patch with -99, you'd better let them know :)18:41
danilosUrsinha, anyway, after that, the next step is to do the interface/model changes to add translation_focus to IProduct and Product, make it settable from +changetranslators18:43
danilosUrsinha, and finally, modify primary_translatable to point to the translation_focus if it's defined, similar to what DistroSeries.primary_translatable is doing18:43
Ursinhadanilos, please, hold on for a moment :)18:43
danilosUrsinha, I ain't, I am about to split off :) take notes of above, and work on it one step at a time18:44
danilosUrsinha, don't be surprised if you don't finish it all by the end of the day, but do ask others about how this is done18:44
danilosUrsinha, this ain't anything others can't help with18:44
Ursinhadanilos, excuses, excuses... it's not like it's EOD for you already :P18:44
danilosUrsinha, it's not like it is, it's well beyond it :)18:45
Ursinhadanilos, :)18:45
Ursinhadanilos, I took notes, will add the patch to the branch, comment and open and mp18:45
Ursinhahopefully will have other changes to discuss tomorrow18:45
Ursinha*open an mp18:46
Ursinhawill bug everyone else to accomplish that :)18:46
sinzuisalgado: Chex Do you know if there has been any action on bug 45883518:47
mupBug #458835: download counters are a few days old <Launchpad Registry:Triaged by salgado> <https://launchpad.net/bugs/458835>18:47
danilosUrsinha, of course :) thanks for the effort you are putting into it :)18:48
sinzuisalgado: Chex: is there a job being setup? is there an RT18:48
danilosUrsinha, anyway, I am off18:48
=== danilos is now known as danilo-afk
Ursinhadanilo-afk, have a nice evening then :)18:48
salgadosinzui, yes, we now have all logs available for the script to parse but we're missing a config change to point it to the new place.  the config change has landed and should be rolled out tomorrow18:49
sinzuisalgado: rock. should I mark the bug fix committed?18:49
salgadosinzui, yeah, I think that's be reasonable18:50
=== deryck[lunch] is now known as deryck
sinzuisalgado: If I have just and SSO account though Ubuntu, can I log into Launchpad *now* and get a profile created automatically?18:58
salgadosinzui, yes18:58
* salgado double checks18:58
sinzuisalgado: there is a test I can read?18:58
* sinzui is uncertain because of so many bugs about the transition from account to person18:59
UrsinhaI wonder why is bzr telling me I cannot push my branch to lp due to uncommitted changes when bzr status shows nothing19:01
salgadosinzui, tests/test_login.py in lib/c/l/19:02
sinzuithanks very much19:03
=== dpm is now known as dpm-afk
=== flacoste_lunch is now known as flacoste
* thumper punches javascript in the face19:54
sinzuibarry: EdwinGrubbs: I just sent you an annotated summary of the the UDS software discussions about the software center. I need you estimates of the time needed to discuss each item.20:12
barrysinzui: k20:14
=== salgado is now known as salgado-afk
=== matsubara is now known as matsubara-afk
* rockstar -> lunch/gym20:46
=== sidnei-away is now known as sidnei
sidneisalgado-afk: is that with yui 3.0.0?20:47
sidneisalgado-afk: i suspect it might be a zIndex issue, but would have to look closely20:48
sinzuibarry: yes soyuz is going to the sprint. The mis-perception is because registry *owns* a package record, is must also know about the actual source package and the built package21:02
thumperbeuno: ping21:02
sinzuibarry: I'll ask bigjools about who should attend.21:03
=== lionel_ is now known as lionel
thumperrockstar: where is the spinner icon?21:10
rockstarthumper, I believe /@@/spinner21:11
* rockstar really should go eat lunch now.21:11
thumperrockstar: I'd like a call with you when you have finished eating21:13
rockstarthumper, okay.  I was also hoping to hit the gym, but maybe I'll do that later tonight.21:15
barrysinzui: +121:17
rockstarthumper, ready.21:17
=== EdwinGrubbs2 is now known as EdwinGrubbs
wgrantBug #474593 looks LOSAish.22:07
mupBug #474593: Certain URLs don't redirect to SSL <Launchpad itself:Confirmed> <https://launchpad.net/bugs/474593>22:07
mwhudsonwgrant: very odd22:10
mwhudsonmbarnett: hi, can you look at the bug wgrant just mentioned?22:10
wgrantmwhudson: Rather.22:11
beunothumper, hi22:12
thumperbeuno: too late, found my answer22:12
* mwhudson finds lib/canonical/buildd for the first time22:13
mwhudsonomg the horror22:13
Chexwgrant: mwhudson: hi, looking at that bug.22:13
mwhudsonChex: cool22:13
wgrantChex: Thanks.22:13
* thumper looks at the file too22:13
wgrantmwhudson: RUN AWAY.22:13
wgrantmwhudson: NOW.22:13
thumpermwhudson: OMG even the directory contents looks scary22:14
mwhudsonwgrant: sadly i'm not sure that's an option22:14
mwhudsonif we're luckly maybe rm -rf will be22:14
thumperheh22:15
wgrantIt doesn't quite run properly on Karmic, but can be made to with a bit of patching.22:15
wgrantBut to get it to actually build, it needs a bit more.22:15
mwhudsonsome of it looks very similar to code i wrote actually...22:15
wgrantJust remember to ignore all of the docs in there.22:16
mwhudson(ProcessMonitorProtocol, to be specific)22:16
mwhudsonwgrant: heh ok22:16
wgrantSome of them are a little bit correct.22:16
wgrantBut most of them are just speculation.22:16
mwhudsonwgrant: can i ask some basic questions about this code?22:17
wgrantmwhudson: Sure.22:17
mwhudsonwgrant: aiui the buildd-manager runs from cron and basically looks through the list of builds pending and builders and assigns builds to idle builders22:18
wgrantmwhudson: buildd-manager is a daemon which polls everything every 5 seconds.22:18
mwhudsonoh ok22:18
wgrantIt's possible the old slave-scanner was a cron job, but that was before my time.22:19
mwhudsonbut the second half is correct?22:19
wgrantThat's part of its task.22:19
mwhudsonyeah, i think that changed recently22:19
mwhudsonso one thing i don't really get is what "assigns builds to idle builders" means22:19
wgrantIt also watches builders, and fucks them up if they are not doing what it things they should be.22:19
wgrantAnd takes binaries from them when they finish.22:19
wgrantWhat don't you understand about that?22:19
mwhudsonwell i think i know what happens22:20
mwhudsonbut i'm not sure22:20
mwhudsonso there's a process on the builder that talks xml-rpc22:20
wgrantRight.22:20
mwhudsonwhen it is given a job to do, it sets up a chroot/fires up a guest vm >22:20
wgrantThat's the beast that lurks in lib/canonical/buildd.22:20
mwhudson?22:20
wgrantAh, not quite.22:21
wgrantThe way the VM stuff works is nothing to do with lp-buildd.22:21
mwhudsonor is it already running in the chroot/vm22:21
wgrantlp-buildd lives *inside* the VM.22:21
mwhudsonaah ok22:21
wgrantBefore dispatching a build to a virtual builder, buildd-manager will fire a reset trigger to the host over SSH.22:21
wgrant(this part is not public, but I know vaguely how it works)22:21
mwhudsonso a chroot is involved even when the builder is virtualized?22:22
wgrantThe guest, which contains the lp-buildd, then reboots with a fresh image.22:22
wgrantYes.22:22
mwhudsonok22:22
wgrantTo ensure a clean environment.22:22
mwhudsonthat's a good thing to learn :)22:22
wgrantSo, buildd-manager then tells the builder to get all the files it needs.22:22
wgrantThat is, the chroot tarball and all the source files.22:22
mwhudsonlp-buildd is the thing that runs on the slave?22:23
wgrant(the builder then grabs them from the librarian directly)22:23
wgrantRight.22:23
mwhudsonaka the builder22:23
mwhudsonok22:23
wgrantOnce the builder has all the files cached, buildd-manager calls build(), and the builder does its stuff.22:23
wgrantbuildd-manager will notice when a builder has finished from its status message.22:24
mwhudsonthe builder runs a subprocess something very vaguely like "chroot /srv/karmic make" ?22:24
wgrantThe status message contains the build status (successful, failed, dependency wait, etc.), and names and hashes of all of the built files.22:24
wgrantVery very vaguely, but yes.22:24
mwhudsonhow does the builder find the files?22:25
wgrant(that's the sbuild thing you see there -- it's an ancient unmaintained fork of the standard Debian buildd tool)22:25
mwhudsonis this where that terrible perl script (sbuild) comes in?22:25
wgrantHm. Good question.22:25
wgrantI presume sbuild dumps them into a directory that it just lists.22:25
* wgrant checks.22:25
jmlbarry, you still around?22:25
barryjml: yep22:26
mwhudsonoh so the subprocess is more like "chroot <chroot> sbuild" ?22:26
wgrantmwhudson: sbuild does the chrooting itself.22:26
jmlbarry, yay22:26
wgrantIt runs outside it, but jumps into it to do most of the work.22:26
jmlbarry, I uploaded a patch to reproduce bug 39413322:26
mupBug #394133: Truncated links in Launchpad mailing lists automatic messages <mailing-lists> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/394133>22:26
mwhudsonwgrant: ok22:26
wgrantlp-buildd actually just calls sbuild-package, which then calls sbuild.22:27
jmlbarry, but I don't know how to fix it.22:27
barryjml: sec..22:27
wgrantmwhudson: So, the sbuild will result in one .changes file, which references the rest of the binary files. The .changes file has a known name, so canonical.buildd.debian.DebianBuildManager.gatherResults can use that to find the rest of the files.22:28
wgrantIt then sticks them in the file cache, at which point they can be retrieved by the buildd-manager simply by knowing the SHA1.22:29
barryjml: do you want me to take a crack at it?22:29
gary_postersinzui: I'm sorry to bother you, but I'd like your thoughts.  I'm triaging and wondering what the heck to do with https://bugs.edge.launchpad.net/launchpad-foundations/+bug/70416 .  It seems like a legitimate, important bug, and even importantly tied to our 6-month theme.  Do you know of some already-present feature or initiative that would address the problem?  If not, I think I'll bring this up on the mailing list as an im22:30
gary_posterconsider.22:30
mupBug #70416: Gnome menu names not linked to packages <Launchpad Foundations:New> <https://launchpad.net/bugs/70416>22:30
jmlbarry, yes please, or at least give me some guidance on how to fix it22:30
jmlbarry, my last comment on the bug report has a lot of details.22:31
mwhudsonwgrant: i guess "sbuild does the chrooting" wasn't what i wanted to hear22:31
mwhudsonwgrant: you know why i'm asking about this?22:31
lifelessmwhudson: is this about building source packages?22:31
wgrantmwhudson: BFB, I presume.22:31
lifelessmwhudson: if so, I have that happening in a schroot for another project, using bzr-builder22:32
sinzuigary_poster: I cannot comprehend what is being asked for22:32
mwhudsonwgrant, lifeless: more about running jobs where we don't trust the code running22:32
mwhudsonof which BFB is a particular case yes22:32
gary_postersinzui: you don't know what I am asking of you, or what the bug report describes?22:32
lifelessmwhudson: schroot can do sessions22:32
lifelessits very useful22:32
sinzuigary_poster: Ubuntu does *not* want users to report bugs via launchpad. they should use their desktop22:33
wgrantIt's already secure in the VM, but it's probably still good to run it in a chroot inside that.22:33
wgrantBut for build cleanliness reasons.22:33
gary_postersinzui: right, so I can close this and say "you should use apport now"?22:33
gary_posterthat's just crash reports, so not quite the same22:34
lifelessmwhudson: I've sent you a mail22:34
lifelesswith some helpers I put together22:34
wgrantI'm not sure there's much point using schroot, since we don't need sessions and need to grab tarballs dynamically. But lifeless' work could well be useful.22:34
sinzuigary_poster: Oh, yes I think it should be closed, but if you hesitate, target to launchpad bugs, because that is only launchpad app involved i this use case22:34
gary_postersinzui: ok, cool.  thank you.22:34
sinzuigary_poster: I stole 180 bugs from you a few weeks ago22:35
sinzuiI hope you don't miss them22:35
gary_postersinzui: I know and appreciate :-)22:35
wgrantmwhudson: I imagine it will be pretty similar to the current sbuild setup, except without a few thousand lines of Perl.22:35
wgrantAlthough... hmmm. We need to manage build-deps somehow.22:35
wgrantAnd that is messy.22:35
wgrant:(22:36
lifelesswgrant: schroot with root user permitted22:37
lifelessor sudo permission in the chroot for a separate user to run apt-get22:38
lifelessmwhudson: you'll also want to see my bugs on bzr-builder filed recently22:38
wgrantlifeless: Permissions are not the problem, sadly.22:38
lifelesswhile its not bzr-builddeb, I was solving/facing the same issues you're thinking about, I suspect.22:38
lifelesswgrant: oh?22:38
mwhudsonlifeless: i think first it probably makes sense to focus on rosetta's needs as i think they're a bit less exciting than BDB22:39
wgrantlifeless: Resolving build-deps is a difficult problem.22:39
mwhudsonBFB22:39
mwhudsonbut maybe that's just because i don't really know what they are22:39
wgrantAlthough... it's unclear at this point how bzr-bp-time dependencies will be specified.22:39
wgrantdata and even you are a LP admin (Foo Bar) you, that field would be read-only.22:40
lifelessdpkg-checkbuilddeps22:40
wgrantUm.22:40
wgrantOops22:40
wgrantlifeless: That checks. Does not help too much with installing.22:40
wgrantsbuild has its own magic to do this.22:40
barryjml: i added some ideas as a comment.  i can try them fairly quickly on your branch...22:40
jmlbarry, cool. thanks.22:41
lifelesswgrant: its trivial - you run dpkg-checkbuilddeps, apt-get install the resulting list22:41
wgrantHmm.22:41
barryjml: i don't see a linked branch.  are you sure you pushed it?22:41
jmlbarry, harumph....22:42
lifelesswgrant: its not as simple as apt-get install `dpkg-checkbuilddeps`, but its not much more, really.22:42
lifelesswgrant: you use a chroot session for efficiency22:42
jmlbarry, I pushed it, but apparently the branch linking UI failed me22:42
barry;)22:42
lifelessand thats why I talked about permissions ;)22:42
wgrantIs there a spec for the Rosetta stuff?22:42
jmlbarry, lp:~jml/launchpad/ml-links-bug-39413322:42
mwhudsonwgrant: i have the very vague notion that the initial plan is "if you have funny bzr-lp-build time deps your build will fail"22:43
barrythx22:43
mwhudsonjames_w would be a better person to ask that though22:43
wgrantmwhudson: That seems unlikely.22:43
wgrantmwhudson: But would make the initial implementation much much easier.22:44
james_wif you have funny deps for the construction of a source package then your package is buggy22:46
james_wit's a requirement to specify then in Build-Depends22:46
james_wso installing those would work22:46
mwhudsonah ok22:46
wgrantAh, so that's how it's working.22:46
wgrantI see.22:46
* wgrant cries.22:46
jmlthere there22:47
wgrantSo.22:47
thumperrockstar: it seems that the pretty overlay doesn't have an easy way to replace the content22:59
wgrantThe slave should be pretty simple:23:00
wgrant1) Unpack chroot (with existing code)23:00
wgrant2) Mount chroot (also existing)23:00
wgrant3) Check out branch23:00
wgrant4) pbuilder-satisfydepends (or equivalent)23:00
wgrant5) bzr-buildpackage23:00
wgrant6) Find changes file23:00
wgrant7) Done23:00
wgrantMost of the code can be extracted from the existing Debian slave.23:01
thumperrockstar: or perhaps I'm looking in the wrong place23:01
wgrantExcept for like three commands.23:01
mwhudsonwgrant: the code for steps 1-2 is in perl though, right?23:07
mwhudsonit doesn't sound too scary though really23:07
wgrantmwhudson: No. Those two bits are lp-buildd-specific shell scripts (mount-chroot and unpack-chroot)23:07
mwhudsonah ok23:07
mwhudsonshell, way better than perl!23:07
* mwhudson coughs23:07
wgrantThey're also only 80 lines in total, not 400023:08
mwhudsonwgrant: i don't suppose you know this for sure, but i guess the lp-buildd inside the vm is started by an @reboot crontab entry or similar?23:09
wgrantmwhudson: The package has an init script.23:09
wgrantI don't know if that's used in production, but I presume so.23:09
mwhudsonoh right23:10
* wgrant disappears for a while.23:10
mwhudsonwgrant: thanks for the input23:11
rockstarthumper, yea, you may have to create it.23:26
thumperrockstar: working prototype lp:~thumper/launchpad/popup-diff23:26
thumperrockstar: very ugly right now23:27
rockstarthumper, javascript is pretty ugly.  :)23:27
thumperrockstar: but it has colours, dynamic loading on demand, and only load once23:27
thumperrockstar: what I want is to have nice scrolling when diff appears, and limiting the visible size of the overlay23:27
thumperrockstar: ideas?23:27
thumperrockstar: although, I'll have to wait, I'm afk for a few hours23:29
rockstarthumper, okay.23:33
wgrantmwhudson: Anything else you want to know?23:55
mwhudsonwgrant: not right now thanks23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!