[00:36:45] [19:08] [16:45:38] Do you know what caused filesort? [00:36:45] [19:08] [16:45:51] The performance-reasoned revision limit [00:36:49] #awesome [01:39:48] *jorm is watching "Predator" with Stacey since she hadn't ever seen any of them and we watched "Predators" this afternoon. [05:51:20] hey guillom [05:51:26] still up? [05:51:31] now's the time for those text changes? [09:00:56] Morning flipzagging [09:01:07] ahoy RoanKattouw [09:01:54] I sent you a couple of emails [09:02:32] Yeah just reading the first [09:02:36] how do you want to do this? I didn't add any time for you to review today's changes but I suppose that's a good idea too. [09:02:43] *flipzagging will let you catch up [09:03:04] If you could link (with !r revid so the bot magic-links) to the core revs involved [09:03:30] you mean here? [09:03:33] in channel? [09:03:33] Yeah [09:03:58] the changes to uploadwizard-deployment, or the more individual changes to trunk? [09:04:12] Whatever you need me to merge to wmf4 that's not in extensions/UW [09:04:28] well like I said there's two ways to do that [09:04:36] Oh look [09:04:39] Second e-mail :) [09:04:42] right :) [09:04:49] but those are omnibus changes [09:04:56] !r r77459 [09:04:56] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77459 [09:05:02] !r r77462 [09:05:02] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77462 [09:05:20] Ah yes [09:05:24] They're merges themselves [09:05:42] so, the comments to r77462 have individual changes. [09:05:49] Yes [09:05:54] !r r77239 [09:05:54] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77239 [09:06:01] !r r77240 [09:06:01] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77240 [09:06:08] !r r77451 [09:06:08] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77451 [09:06:16] !r r77453 [09:06:16] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77453 [09:06:20] !r r77454 [09:06:20] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77454 [09:06:26] !r r77455 [09:06:26] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/r77455 [09:06:29] 239 and 240 are already in [09:07:27] 451 is the meat, I see [09:08:38] huh, I already see a mistake [09:08:44] does PHP automatically invoke methods without () ? [09:09:43] It might [09:09:44] Aslo [09:09:49] I'll make the fix anyway. [09:09:50] The regex uses \Q$foo\E [09:09:54] yes. [09:10:02] It should just use preg_quote( $foo, '/' ) [09:10:35] it prepends a literal period. [09:11:26] although, I guess that's taken care of with preg_quote( ".$foo", '/' ) ? [09:11:31] er [09:11:40] Or just keep the literal period in the regex [09:11:41] no wait, actually the issue is the $ anchor at the end. [09:11:49] that's why I had to do all that. [09:11:49] Core point is, escape vars before putting them into the regex [09:11:55] $escFoo = preg_quote( $foo, '/' ) [09:12:11] preg_match( "/\\.$escFoo$" ) [09:12:17] eh. [09:12:38] Not sure that is dramatically better but I'll fix it if you like. [09:12:42] Ah, with a trailing / at the end of the regex of course [09:13:21] It's part of more demonstrable security; right now the only way you know this isn't gonna do nasty stuff is because $foo just happens to never contain strange things [09:13:33] ? [09:13:38] \Q \E fixes that [09:14:05] No, \Q \E just treats dots as literal AFAICT from Google search [09:14:17] let me double check this [09:14:34] *RoanKattouw looks it up in the PHP manual [09:17:09] \Q and \E can be used to ignore regexp metacharacters in the pattern. For example: \w+\Q.$.\E$ will match one or more word characters, followed by literals .$. and anchored at the end of the string. [09:17:22] http://www.php.net/manual/en/regexp.reference.escape.php (2nd to last paragraph) [09:17:51] Ah! [09:17:53] Never knew that [09:17:55] Ignore my comment then [09:18:01] I agree it is a relatively convoluted expression but everything else I tried was worse. :) [09:18:25] Although, it's not perfectly safe as there could be \E in arbitrary input [09:18:34] ooh [09:18:35] But I know this stuff is generated by your own code [09:18:37] hadn't thought of that. [09:18:50] Or, the input could end with \ [09:18:58] Producing \\E [09:18:58] I think that's just being pathological though. [09:19:04] Yeah [09:19:20] really, the extensions are never going to be outside \w, although they might have internal periods. [09:19:24] It's not arbitrary. user-supplied input. But when it is, \Q and \E shouldn't be used like that [09:19:57] ok how about this [09:20:07] change it so that we check that extension is all \w+ first. [09:20:14] then we know it's okay. [09:20:15] To clarify: it's fine by me as it stands [09:20:24] As long as these extensions are generated by your own code [09:20:25] but you have some good points [09:20:42] But ideally, code doesn't make such assumptions [09:21:33] - $key = $fileProps['sha1']; [09:21:34] + $key = $fileProps['sha1'] . "." . $extension; [09:21:45] *RoanKattouw casually wonders why that is and notes the code comments don't mention it and didn't change [09:21:52] Oooh wait [09:21:54] Never mind, I know [09:22:17] the key is now more like a filename, it's commented in the format at top. [09:22:30] Yeah [09:22:47] + $extensions = explode( ' ', MimeMagic::singleton()->getExtensionsForType( $mimeType ) ); [09:22:58] *RoanKattouw cringes at poorly defined function getExtensionsForType() [09:23:13] (Not your fault :) ) [09:23:14] I think it's just a reverse of magic [09:23:30] er [09:23:40] I'm talking about the fact that it return a space separated string that you have to build an array out of yourself [09:23:41] etc mime whatever. [09:23:44] right [09:23:49] that's kind of retarded. [09:23:52] but we move on. [09:25:35] FYI most of these wfDebug() statements get removed later. [09:27:13] OK [09:30:11] Oh look, more back compat fun [09:30:23] The HttpRequest -> MWHttpRequest rename happened this month IIRC [09:30:37] oh. I wondered about that. [09:31:11] btw, you may notice some bugs here with naming, which get fixed in subsequent commits. (outputFromContent / outputContents and mimeType / contentType ). [09:31:22] I'll rename the calls locally [09:31:26] (For MWHR) [09:31:44] oh I see what you mean. [09:31:46] sigh [09:31:52] ok, thanks [09:32:07] it seemed to work in uwd though. [09:32:14] uploadwizard-deployment I mean. [09:32:30] Hm [09:32:33] Well we'll see [09:32:37] oh wait [09:32:42] If test breaks for a few minutes, who cares [09:32:45] actually that has never been tested in deployment. [09:32:53] I tested the HTTP stuff in trunk only. [09:32:59] with a fake scaler [09:33:08] but not in uploadwizard-deployment [09:33:11] so it probably is borken. [09:34:18] We'll find out soon enough [09:34:21] OK I've reviewed it all [09:34:25] Let's merge and push to test :) [09:34:32] yay [09:44:30] Pff, I was getting lots of frivolous conflicts for some reason [09:45:02] odd [09:45:23] Probably whitespace and the like [09:45:59] Oh look [09:46:09] You forgot r77454, that explains my latest conflict [09:46:12] (but not the other ones) [09:46:56] ok [09:47:43] You mean, I forgot to merge it into uploadwizard-deployment, or I forgot to put it into the channel? [09:47:57] Forgot the latter [09:48:07] Oh I think I know where the conflicts came from [09:48:16] well it was in channel anyway [09:48:18] Probably dropped a whitespace or doc commit way back when merging this stuff the first time [09:48:20] but whatever [09:48:27] Oh you're right [09:48:36] I missed it then [09:48:38] np [09:48:42] Or it wasn't in the merge commit summary [09:48:51] Anyway, I got it [09:49:28] i think it's because I didn't call it out by name -- I said ...453 through ...455 [09:49:39] in the commit log [09:49:55] i guess you would prefer it more explicit there [09:50:13] Oh [09:50:16] Explicitness++ [09:50:19] Right, I missed 'through' then [09:50:27] No, no worries, that notation is acceptable [09:50:38] I read over it [09:50:46] !r 77463 [09:50:46] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/77463 [09:50:51] That's the wmf4 merge [09:51:51] frankly that diff is too clever :) [09:52:04] it's a total rewrite, there's not much point in interleaving [09:52:38] well, LGTM [09:53:23] LGTM = looks good to me. [09:54:48] Yeah it interleaves a lot, I hate that [09:54:54] OK so let's push that then [09:55:01] Or wait [09:55:05] Forgot s/MWHttpRequest/HttpRequest [09:55:18] I thought you just wanted to see if that broke [09:55:37] but if you're sure it will, be my guest and fix it. [09:55:41] I know it'll break [09:55:55] I tried new MWHttpRequest in eval.php and got a fatal [09:56:22] eval.php! [09:56:37] well, I learn something new every day. I guess that inits webrequest and gives you a repl? [09:58:23] php maintenance/eval.php [09:58:33] Gives you a sort of PHP command line with MW loaded up [09:58:45] "PHP lacks an interactive mode" [09:58:46] ... [09:58:50] php -a ? [09:59:35] Never knew php -a either [09:59:40] But eval.php has MW context, which is nice [10:00:18] php -a -f config.php :) [10:00:38] oh well. :) [10:01:18] Alright, we're live no test [10:01:19] *on [10:01:33] i.e. http://test.wikipedia.org/wiki/Special:UploadWizard ? [10:02:50] did you change LocalSettings.php ? [10:02:55] Oops no [10:03:10] see the email I sent, should be a cut & paste. [10:03:41] however, this "block on no thumbnail" thing is a little annoying in practice [10:03:50] I need to work out a better way to recover. [10:04:45] OK now I have [10:05:02] $wgUploadStashScalerBaseUrl = "http://upload.wikimedia.org/$site/$lang/thumb/temp"; [10:05:40] will that do the right thing? [10:05:51] With respect to $site and $lang, yes [10:06:27] ok, first strangeness, we had a "complete!" and then it un-completed. [10:06:47] maybe that's some latency issue. [10:07:03] Oh and I have to update UploadWizard probably [10:07:10] * THUNK * [10:07:25] sorry man, I have to laugh. :) [10:07:56] Realized this as I got the perpetual spinner bug [10:09:39] could we take another sync from trunk for UploadWizard only? This might take 10 minutes. [10:09:45] I just realized I forgot something. [10:09:57] extensions/UploadWizard I mean. [10:10:13] WTF: http://mediawiki.pastebin.com/yRj0iYtS [10:10:43] your point being [10:10:47] That's what I get after svn merge -r 77235:HEAD ~/mediawiki/trunk/extensions/UploadWizard ~/mediawiki/branches/wmf/1.16wmf4/extensions/UploadWizard [10:10:53] I'd have thought there'd be more changes [10:10:58] um [10:10:59] Well the i18n file has lots [10:11:14] But other than that, that file's it (plus combined, minified JS) [10:11:39] that's right [10:11:44] however, I want to make a last minute change. [10:11:50] OK [10:14:28] Are you making that last-minute change in SVN now? [10:18:20] working on it [10:21:03] OK [10:21:29] if this doesn't work immediately I'm going to stuff it though. [10:22:56] mediaWiki.msg is not a function [10:22:58] [Break on this error] var rlMsg=mediaWiki.msg(messageKey); [10:23:48] Problem is not with mediaWiki vs. mw but with .msg [10:23:58] And it's code *I* wrote, by the looks of it [10:24:40] I'm paying attention to you and to this code [10:30:59] RoanKattouw: you updated mw.Language.js, I see [10:31:18] Oh fail [10:31:24] I think I know what went wrong [10:31:33] addMessages() is /after/ combined.min.js [10:31:36] Or wait [10:31:39] It has to be [10:31:40] ... [10:32:10] That's not it [10:32:14] Somehow, messageCache is undefined [10:32:19] anyway my change is in [10:32:24] it's just one line [10:33:09] How the heck does this not work?!? [10:33:09] can you resync UploadWizard or is some other issue blocking you [10:33:17] I can resync [10:33:23] what's the issue? [10:33:25] But right now I'm being baffled here [10:33:27] Well [10:33:37] in mw.getMsg(), I'm getting messageCache is undefined [10:33:43] where? [10:33:48] or rather when [10:33:58] and how, because I don't get that [10:34:09] is it only in non-english? [10:34:15] Hmmm.... [10:34:18] I /am/ in non-English [10:34:41] But there's an addMessages call right there on the page [10:34:50] With messages in nl [10:36:32] Seriously though, based on reading the code this simply should not happen [10:36:56] uselang=en -> same [10:37:03] Does it work for you (on test.wp.o) ? [10:39:37] I am fiddling with uwd right now [10:41:06] ugh, my brain doesn't work right [10:42:47] huh, you're right. [10:43:03] Might be my fault [10:43:05] Trying to fix [10:43:07] but wait, now nothing works [10:43:37] Yay, fixed [10:43:39] Shift+Refresh [10:44:25] [mwe-upwiz-deeds-intro] [10:44:32] That's what it was crashing on before [10:44:34] That msg is not defined [10:44:48] "SITENAME requires you to provide copyright information for this work, to make sure everyone can legally reuse it." [10:45:09] oh you mean it's not defined in NL ? [10:45:21] why should that be an issue, it should fall through [10:45:26] No, en [10:45:28] Not defined at all [10:45:29] [10:45:32] Or not exported to JS [10:45:34] That one too [10:45:39] I seem to recall you killed some msgs [10:45:41] but what's the problem [10:45:58] if it's a missing message, it will get fixed as time passes [10:46:09] we don't need a string for every language to launch [10:46:14] That's not it [10:46:17] The ENTIRE message is gone [10:46:21] In EVERY language [10:46:21] ... [10:46:24] oh [10:46:45] For both deeds-intro and details-intro [10:46:53] I think you removed them from the .i18n.php file once [10:46:54] i did kill some "intro" messages. [10:47:04] but I didn't remove them from the .i18n file. [10:47:11] I just left them there, in case this sort of thing happened. [10:47:24] they're just not referenced in the interface at the moment. [10:47:30] Perhaps some script synchronized from where you deleted to the i18n file ? [10:47:31] I might have done some other things... [10:48:17] well raymond and siebrand did a crapload of stuff [10:48:23] some of it looks like batch [10:48:51] we last tried deploying on the 24th, it worked then [10:48:56] wait a minute [10:49:02] what problem are we solving? [10:49:10] lol [10:49:11] this works for me, and it works on uploadwizard-deployment [10:49:18] why are we seeing problems live only? [10:49:22] Oooh wait [10:49:23] or on testwiki I mean [10:49:27] I didn't sync the i18n file *facepalm* [10:49:46] can you just sync everything under extensions/UploadWizard ? [10:49:52] Unfortunately, no [10:50:12] why not? [10:50:51] Because our sync scripts suck [10:51:12] We would have accepted "because MediaWiki hates you". [10:51:52] No wait, it's not that [10:52:00] Try grepping deeds-into in the i18n file [10:52:06] You only get the German translation [10:52:23] And "SITENAME" still isn't substituted right [10:52:30] oh wait, I think I know what happened. [10:53:01] details-into is nowhere to be found [10:53:57] *intro [10:55:06] why is that a problem -- it seems to be cleanly gone [10:55:12] at least in trunk it is [10:55:49] Huh [10:55:53] It is in trunk but not in deployment [10:55:56] How the hell did that happen [10:56:08] Let's just rebranch the damn thing and be done with ti [10:59:02] Grrr [10:59:16] flipzagging: The spin-forever-on-duplicate bug is *still* there [10:59:23] yes. :( [10:59:28] I didn't have time to address it. [10:59:34] (Although to be fair this is a dupe of an archived file) [10:59:35] this release is deeply embarassing to me. [10:59:47] if it weren't for the grant conditions I would never do this. [10:59:59] http://mediawiki.pastebin.com/ATbHrPGT for reference [11:00:00] we're a week or two away from something awesomely solid. [11:00:59] I already have error code, I just have to tweak it THIS >< much for warnings. [11:02:34] also, I solved a crapload of design problems just in the last week. [11:02:47] you won't see "design" as a credit next to my name on this project though. [11:03:17] I am about to get into some serious rant so I'm going to wander off and trust you're going to fix the wmf branch. [11:03:27] back in 5/ [11:03:29] 5. [11:09:27] okay how's tricks? [11:09:30] RoanKattouw? [11:09:39] Almost done [11:09:48] Just testing simultaneous upload of 4 files, in the last step [11:09:56] After that, we can go live to commons [11:09:59] ok, I'll test at the same time [11:10:01] (That's the plan, right?) [11:12:10] Worked for me [11:12:42] 4/5 uploads succeeded [11:12:54] "Failed to load source for: http://test.wikipedia.org/w/api.php" [11:12:57] what does that mean? [11:13:05] that was the response to a POST [11:13:11] were you updating? [11:13:13] It means Firebug's being a bitch [11:13:15] No [11:13:22] Was it the last submit? [11:13:30] If so, type 'json' in the Firebug console [11:13:30] no, the 2nd [11:13:33] Oh [11:13:37] 2nd of 5 [11:13:53] So that one failed rather than hanging? [11:13:59] yes [11:14:02] ^ [11:14:03] or something went wrong [11:14:13] Well can you reproduce it with that file last? [11:14:23] Or, better, with only that file [11:14:28] I'll try again. [11:14:58] oh no I can't. [11:15:07] every five minutes, my temp files self-destruct. [11:15:11] Maybe that's what happened here. [11:16:06] hm, no, still errors, this time with different files. [11:17:18] Oh so this is local testing? [11:17:48] local? [11:17:54] I'm uploading local files... [11:18:04] I have a script that creates random abstract files every five minutes. [11:18:14] Occasionally the files get yanked before I can press submit. [11:18:21] but I don't think that's what happened here. [11:18:37] Okay well, it seems to actually work, and your remote thumbnailing is performing perfectly, thanks again. [11:18:56] this is far from being free of bugs, but it's about as good as it's going to get. [11:18:58] tonight. [11:19:12] I'm ready to pull the trigger if you are. [11:19:36] Alright, let's go then [11:22:47] Pushed the code to the cluster, waiting for the l10ncache rebuild load spike to subside [11:28:07] flipzagging: Enabled UW on Commons now, please test [11:30:24] I still get random failures. [11:30:27] This is very annoying. [11:30:56] Maybe my FF is a bit quirky having been open for a long period. [11:31:32] Random failures on Commons? [11:31:44] Yeah Firebug does strange things sometimes [11:34:23] flipzagging: Alright, anything else now? All looks calm to me [11:34:42] sorry just one more second. [11:34:50] or, how about a few more seconds. [11:36:26] unbelievable. [11:36:32] what do i have to do to get three uploads to complete?! [11:37:54] sorry roan, I just want to figure this out. [11:37:58] No worries [11:38:01] What's breaking? [11:38:15] if I do multiple uploads, the last one always fails. [11:38:16] (You're the one whose clock says 3:40am) [11:38:21] Lemme try [11:38:33] Where? [11:38:35] Commons? [11:38:36] Or, at least one always fails. [11:38:39] Commons. [11:39:33] Yeah one gets stuck in "Getting file info and previews" [11:39:58] Well whatever it is, it's not a fatal error. Logs are coming up blank [11:40:03] this is weird. [11:40:08] They are all isolated from each other. [11:40:19] how do they even know about each other? [11:40:34] might be that session blocking thing. [11:40:44] Oh wait [11:40:46] 3/3 now [11:40:56] session blocking? [11:41:29] Probably because I tried uploading the same group of 3 twice [11:41:31] well I was thinking about how php blocks new connections due to sessions. [11:41:47] so is it just that we're getting timeouts from the scalers? [11:42:01] No that can't be it [11:42:12] API calls don't hit the scalers in any way [11:42:18] The thumb might not come up [11:42:21] But that's it [11:42:35] but these API calls do a scaling call in the backend. [11:42:51] or rather not API calls, but http requests to Special:UploadStash. [11:43:18] I don't know, this is fairly serious IMO. [11:43:45] Nothing wrong with the JSON result from the API AFAICT [11:43:57] and it's always just one. [11:44:03] or it seems that way. [11:44:06] how does it know. [11:44:18] http://mediawiki.pastebin.com/bKcHKQCf [11:44:42] what is the significance of the thing you just posted? [11:45:02] ^^ RoanKattouw [11:45:26] It's the JSON response from the API call for the failed file [11:45:30] The one that keeps spinning [11:45:39] ok. [11:45:42] Or wait it's stuck in getting file info [11:45:46] So that's another API call [11:46:01] I see it always being stuck on the initial POST. [11:46:11] Aha! [11:46:12] But how does it know to just do one out of every group. [11:46:12] {"error":{"code":"siiinvalidsessiondata","info":"File not found: key 'ko2qp51d61mdc4bum9yu4os55ruba21.png' not found in stash"}} [11:46:27] And somehow there's no error handling [11:46:42] What is the API call that is associated with? [11:46:43] or URL? [11:47:19] http://commons.wikimedia.org/w/api.php?action=query&format=json&prop=stashimageinfo&siisessionkey=ko2qp51d61mdc4bum9yu4os55ruba21.png&siiurlwidth=32&siiurlheight=-1&siiprop=url [11:47:51] How the heck is that possible [11:48:00] The POST reply *gave* me that key [11:48:20] *RoanKattouw proceeds to inspect his $_SESSION with dark magic [11:49:19] *^demon casts a supporting spell [11:49:21] <^demon> Go Roan, go! [11:49:24] you're right I see the same issue [11:49:52] ok, the difference with session in the cluster is that it's memcached. [11:50:08] ...that should have no freaking effect [11:50:13] ? [11:50:39] OK here's the weird thing [11:50:50] I see three keys [11:50:53] And I have three uploads [11:50:58] right [11:51:02] One which failed with an unknown key [11:51:08] Lemme see if the third key is some previous upload [11:51:31] well no, the upload succeeded? and then a subsequent stashimageinfo call failed, right? [11:51:44] there is no chance in the universe the keys were reused :) [11:51:48] Yeah it's a previous upload [11:51:51] Nope [11:51:56] But it wasn't even *written* to the session [11:51:58] Hmm [11:52:02] but it happens to me on files that I know are always different. [11:52:03] I suspect parallel uploads [11:52:10] no, that's not it. [11:52:20] the session key is obtained, but it's just the sha1. [11:52:26] it doesn't mean that the write was a success. [11:52:31] so something is failing there. [11:52:35] semi-regularly. [11:52:42] ? [11:53:13] maybe we have never tried updating the session in rapid succession like this? [11:53:32] I don't know [11:53:40] although I don't know how to make it otherwise. [11:53:47] This is why I suspect parallel uploads might not go over nicely [11:53:56] what do you mean by parallel uploads [11:53:59] Is it easy to hack it so it does 1 parallel upload instead of 2? [11:54:03] yes. [11:54:05] config setting [11:54:16] What I mean is two files being stashed simultaneously on different servers [11:54:20] maxSimultaneousUploads in UploadWizardPage.js [11:54:29] Also [11:54:29] can you hack that? [11:54:32] Sure [11:54:34] Also, if you can [11:54:42] Look at the source for POSTs of such failed uploads [11:54:52] Maybe, just maybe, it always says "Served by srv255" [11:54:53] what am I looking for? [11:54:56] oh i see. [11:55:00] Comment at the bottom [11:55:14] My POST that returned a session key that thereafter was deemed invalid went to srv255 [11:55:27] The successful ones went to different servers [11:56:02] I don't know, I'm not seeing a pattern yet. [11:56:10] How many servers can respond to these? [11:56:34] furthermore stashing has always occurred, and session updating, we'd have noticed something by now if it was server config. [11:56:42] (I think, anyway). [11:56:53] 29 [11:57:10] anyway have you been able to hack maxSimultaneousUploads? [11:57:55] Nope you're right [11:58:02] ...? [11:58:05] Logged into srv255 and did the session reading trick [11:58:07] Same result [11:58:13] So I don't /think/ it's srv255's fault [11:58:27] ok I just had three succeed. [11:58:33] THEREFORE IT IS NOT BROKEN ANY MORE. [11:58:38] Will hack that simultaneous thing [11:58:40] :) [11:58:44] Yeah I got 3/3 once [11:58:56] except now the thumbnail call failed. [11:58:58] awesome. [11:59:57] I may be just overloading things here. I ask for three different thumbnails for each item in quick succession. But, it blocks until they complete, so I don't think it's a max connections issue. [12:00:13] The thumbnails are not at issue [12:00:24] Oh [12:00:26] Wait [12:00:28] The thumb call failed? [12:00:28] yes they are, I just had a situation where the API completed, but the thumbs failed. [12:00:36] empty response. [12:00:44] Probably NFS [12:00:53] File created but not yet filled [12:00:57] Although... [12:01:02] No that's not allowed to happen, is it [12:01:06] I figured NFS latency was going to kill us [12:01:14] It shouldn't, in theory [12:01:22] As no NFS latency is supposed to be involved [12:01:26] We stream right back from the scaler [12:01:43] so if I create the file and IMMEDIATELY go to a scaler, it should be there already? [12:01:48] for sure? [12:01:49] Although we only do that if the file hasn't been created yet. If it has been created and is empty... [12:01:56] Oh that [12:02:04] You mean the scaler's trying to scale something it hasn't received yet [12:02:06] Yeah that's a good one [12:02:08] maybe. [12:02:21] perhaps we just need to build in more tolerances. [12:02:31] OK so the order is upload then metadata then thumb, right? [12:02:36] With thumb only being fetched after metadata? [12:02:49] yes. they could be combined, but I was sort of lazy about that. [12:02:53] yes. [12:03:14] OK so that's some built-in back-off right there [12:03:27] I don't know what you mean by that [12:03:37] I mean that gives the scaler some time to receive the file [12:04:02] Because we're doing the metadata request back and forth between api.php?action=upload hit and the upload.wm.o hit [12:04:16] oh wait I think I'm wrong. The api image info calls are parallel to the thumbnailing. [12:04:24] Aha [12:05:05] you think if I serialized them it might go better. [12:05:37] did you set up that maxSimultaneousUploads yet [12:05:45] Yes, doing that now [12:06:20] Done [12:06:56] 3/3 first try. [12:07:53] I got to the use page but then it hid itself. [12:08:48] ? [12:10:51] I think I just hit the "next" button quickly or something. [12:13:08] RoanKattouw: have you successfully uploaded a file, all the way to the end of the process? [12:13:35] Not yet [12:13:38] Let me try that [12:13:42] I know :) [12:13:51] http://commons.wikimedia.org/wiki/Category:Uploaded_with_UploadWizard [12:14:01] that's the last minute change Guillom requested. [12:14:12] Whee [12:16:13] I have now [12:16:15] Memleak.png [12:18:48] flipzagging: Alright, anything more to be done? [12:19:05] I'm finishing up a for-reals upload of real photos :) [12:19:26] OK [12:19:34] We should delete our toy uploads too [12:20:57] sure [12:21:03] ok I guess... we're done [12:21:24] thank you again for all your help. Will this maxSimultaneousUploads hack stick, or is it in danger of disappearing [12:21:45] It's in SVN, it'll stick as long as no one touches it [12:22:00] i'll make a similar change in trunk. [12:22:05] It's in trunk already [12:22:11] oh, you're awesome [12:22:47] You need to do like 4 things to change it (change in trunk, merge to branch, sync JS, bump style version appendix) and three of them are restricted, so it's pretty safe [12:23:05] haha [12:23:19] yes. Our deployment branch is "safe" like that [12:23:48] well, thanks again Roan, once again going beyond the call of duty here. [12:24:03] If anyone is, it's you [12:24:11] It's, what, 4:25? [12:24:31] don't remind me [12:24:43] Dude, go to sleep [12:24:49] <^demon> flipzagging: Just fyi, the sun has come up on the other coast :p [12:25:13] I should've gotten lunch like an hour ago [12:25:14] I bet my bottom dollar that tomorrow [12:25:18] there'll be sun [12:25:36] <^demon> You really go for the risky bets, don't you? [12:26:03] Hey, it's not always a given in Canada [12:26:12] in certain latitudes [12:26:21] If you know what's good for you, the sun's bearing will be South to South-Southeast next time you see it :) [12:26:31] also, in Vancouver at this time of year, the daylight hours is like from 10:00am to 3:00pm [12:26:32] Or Alaska FTM [12:27:13] Yeah that got us in Sweden too. Sunset at 3:30ish, pitch black dark at 3:45 [12:28:01] Daylight hours here are like 8:30-4:30 now [12:28:29] <^demon> We're 7-4ish right now [12:28:55] <^demon> Not that it matters, with the crazy schedule I've been keeping. [12:38:57] the flip side is that in the summer, you have significant daylight until 10:00pm. [12:44:50] On June 21 (longest day) sunset here is around 10:20pm [12:45:14] hey Roan, re: the whole zip thing [12:45:18] Yes [12:45:22] why are we even talking about writing our own scanners [12:45:28] ClamAV exists [12:45:43] It doesn't do everything, but it does do some things. [12:45:54] Don't tell me, tell wikitech-l :) [12:46:12] <^demon> I need a new bag of popcorn for that thread :) [12:46:14] I sent an email to my former colleagues who work in mail security [12:46:24] Would ClamAV notice CSRF exploits? [12:46:29] of course not [12:46:35] but it would notice js [12:46:40] Part of the vuln here is that the applet runs in a wikimedia.org context [12:47:20] well, the thing is ClamAV is designed for antivirus and you guys are concerned about any sort of file format hackery via IE's mime brain damage. [12:47:31] so perhaps that is a slightly different twist. [12:47:43] hopefully I'll get a response soon [12:47:57] I just am not impressed with the mitigation ideas people have had [12:48:01] way too complex [12:48:30] good night folks. [19:08:22] Reedy: Meeting now in x2003 [19:13:26] "Comp days"? Is that the thing where you work a holiday and take another day off? [19:20:14] RoanKattouw, ta [19:20:29] That was you joining, I assume? [19:22:56] I've been in 3 minutes now [19:37:55] lmfao [19:39:33] Graduate faster! [19:40:34] Who, me, you? :P [19:40:51] Yes, us [19:40:53] heh [19:41:05] Indeed [19:41:07] Note that this is coming from a group where some people didn't even graduate [19:41:07] It' be nicer [19:41:30] Well 2/3 courses I'm in right now are pretty fun [19:41:43] Not sure how fun bachelor thesis is gonna be next semester [19:43:04] I find it amusing how different the courses are between universities etc [19:44:32] Me too [19:44:43] RoanKattouw: are you gonna be screwed by the new study scholorship limits btw ? [19:44:49] The reason I find it amusing is because, of the two of us, I seem to be in the better uni [19:45:03] thedj: Well I'm still on track for nominal, halfway my 3rd year of my BSc [19:45:12] I would be screwed a bit if I were to pursue an MSc [19:45:16] I get no free money :( [19:45:31] RoanKattouw: hmm. it's a shame. [19:45:40] Because I would start that MSc on the very date they're scrapping MSc scholarships in favor of loans [19:45:58] OTOH, I don't even get my scholarship half the year because of my income, so... :) [19:46:15] Mine depends on my parents income, not my income.. [19:46:22] RoanKattouw: in talking to friends here in Enschede, the effects are already becoming quite clear. [19:46:35] We can only get Masters funded if we do like I am (MEng, as undergraduate postgraduate course) [19:46:37] board positions for associations are impossible to fill already. [19:47:11] RoanKattouw, tbh, I think it's more atypical of university in the UK [19:47:20] The amount depends on parents' income, whether I get it depends on mine [19:47:27] o_0 [19:47:29] Weird [19:47:44] and there is a base scholorship as well [19:47:45] I get minimal loans, and no free money [19:48:27] I know people who get more in scholarships than I get in loans [19:49:36] as it is looking now, i know several people who are dropping their masters next year, in fear of it becoming too expensive for them. [19:53:43] I get my masters at the same cost as my undergraduate [19:53:46] just + interest [19:58:00] So do we [19:58:14] But the scholarship terms will be different starting in 11-12 [19:58:19] hmm [19:58:30] for a postgrad masters, it's like 4x more [19:58:38] Only loans, no more free money for master students [19:58:43] Whenever they change the funding stuff, people already in the system arent usually affected [19:59:55] Yeah that's being suggested for some of the current reforms too [20:00:11] Like, where slow students are charged higher tuition feees [20:00:36] Of course politicians don't realize "slow" students might have been sick, or in a committee, or abroad, or ... [20:04:12] Wheee [20:04:18] Querypages merge conflict [20:04:34] Of course [20:32:11] i hope y'all weren't waiting for me for lunch [20:32:38] sounds like a no [22:32:19] https://twitter.com/#!/sfslim/status/9735206579736577 [22:32:24] (for pdhanda) [22:49:59] *vvv tries to upload a file at commons.prototype and fails [22:50:06] It hangs while uploading