#instantbird log on 11 17 2012

All times are UTC.

00:04:50 --> Optimizer has joined #instantbird
00:10:54 <-- Optimizer has quit (Ping timeout)
01:03:43 --> Optimizer has joined #instantbird
01:07:18 <-- Optimizer has quit (Ping timeout)
01:28:17 --> groovecoder has joined #instantbird
01:58:38 <-- Mook_as has quit (Quit: Mook_as)
03:23:34 --> Mook has joined #instantbird
03:30:08 <-- skeledrew has quit (Ping timeout)
03:30:18 --> skeledrew has joined #instantbird
03:39:18 <-- meh has quit (Quit: The point is: don't lose your dinosaur.)
04:51:51 --> Optimizer has joined #instantbird
05:01:03 <-- Optimizer has quit (Connection reset by peer)
05:33:43 --> clokep has joined #instantbird
05:33:43 * ChanServ sets mode +o clokep 
06:03:54 <-- clokep has quit (Quit: Instantbird 1.3a1pre -- http://www.instantbird.com)
06:10:45 <-- Mook has quit (Quit: Mook)
07:20:27 --> Optimizer has joined #instantbird
07:28:48 --> jb has joined #instantbird
07:32:23 <-- DGMurdockIII has quit (Quit: ChatZilla 0.9.89 [Firefox 17.0/20121113065533])
07:53:41 <-- Optimizer has quit (Ping timeout)
07:55:58 <-- jb has quit (Ping timeout)
08:01:13 --> jb has joined #instantbird
08:07:12 --> deltafalcon has joined #instantbird
08:45:58 --> Optimizer has joined #instantbird
08:50:28 <-- Optimizer has quit (Ping timeout)
08:57:30 <-- jb has quit (Ping timeout)
09:08:27 --> Optimizer has joined #instantbird
09:08:45 <-- Kaishi has quit (Quit: Kaishi)
09:21:51 <-- Optimizer has quit (Ping timeout)
09:23:36 <-- deltafalcon has quit (Quit: Instantbird 1.2 -- http://www.instantbird.com)
09:25:00 --> Optimizer has joined #instantbird
09:37:34 <-- Optimizer has quit (Ping timeout)
10:03:21 --> rosonline has joined #instantbird
10:10:59 --> rosonlin1 has joined #instantbird
10:11:01 <-- rosonline has quit (Ping timeout)
10:11:04 --> jb has joined #instantbird
10:11:40 <-- rosonlin1 has quit (Quit: Experimentem Instantbird 1.2 -- http://www.instantbird.com)
10:11:44 --> rosonline has joined #instantbird
10:43:38 <-- jb has quit (Ping timeout)
10:50:01 --> jb has joined #instantbird
10:58:36 <-- rosonline has quit (Quit: Experimentem Instantbird 1.3 -- http://www.instantbird.com)
10:58:42 --> rosonline has joined #instantbird
11:18:03 <-- rosonline has quit (Quit: Experimentem Instantbird 1.3 -- http://www.instantbird.com)
11:18:06 --> rosonline has joined #instantbird
11:39:55 <-- rosonline has quit (Ping timeout)
11:43:32 <-- jb has quit (Ping timeout)
11:47:08 --> rosonline has joined #instantbird
11:53:19 <-- rosonline has quit (Ping timeout)
12:00:39 --> rosonline has joined #instantbird
12:23:39 --> clokep has joined #instantbird
12:23:39 * ChanServ sets mode +o clokep 
12:45:47 <clokep> Hello. :)
13:01:51 --> deltafalcon has joined #instantbird
13:46:04 <-- clokep has quit (Quit: Instantbird 1.3a1pre -- http://www.instantbird.com)
13:48:07 --> jb has joined #instantbird
13:48:31 --> clokep has joined #instantbird
13:48:31 * ChanServ sets mode +o clokep 
13:59:36 <-- jb has quit (Ping timeout)
14:00:17 --> Mic has joined #instantbird
14:00:17 * ChanServ sets mode +h Mic 
14:10:22 --> flo has joined #instantbird
14:10:23 * ChanServ sets mode +qo flo flo 
14:14:38 <flo> I have an add-on that was flagged as incompatible with Fx17 by the AMO add-on compatibility checker
14:14:47 <flo> the error message is "The `toString` implementation for function objects have changed. If you are using `eval` or `Function` to change the behavior of 'native' functions, it is probably not working correctly in Firefox 17 and above. Erreur: See https://bugzilla.mozilla.org/show_bug.cgi?id=761723 for details."
14:14:58 <flo> but the source code of the add-on doesn't contain the string "toString" at all.
14:15:55 <flo> the location information given for the error is just the name of the .jar file (not helpful at all...)
14:32:08 <instantbot> benediktp@ymail.com set the Resolution field on bug 1801 to WONTFIX.
14:32:10 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1801 nor, --, ---, nobody, RESO WONTFIX, Logon failure when password contains russian (unicode?) symbols
14:39:38 --> Optimizer has joined #instantbird
14:52:37 <-- clokep has quit (Ping timeout)
15:12:46 <-- Mic has quit (Quit: Instantbird 1.3a1pre -- http://www.instantbird.com)
15:28:54 <-- Tonnes has quit (Ping timeout)
15:38:42 <-- rosonline has quit (Ping timeout)
15:39:19 --> rosonline has joined #instantbird
15:44:43 --> Kaishi has joined #instantbird
16:04:14 --> aleth has joined #instantbird
16:04:14 * ChanServ sets mode +h aleth 
16:08:58 <aleth> heh https://twitter.com/automatonically/status/269715959034568705
16:13:36 <-- Optimizer has quit (Ping timeout)
16:16:03 --> jb has joined #instantbird
16:16:18 --> jb1 has joined #instantbird
16:17:02 <aleth> https://twitter.com/tokasimnet/status/269799121148321792 translates as: "the fine sprinkling of being updated" :)
16:17:53 <-- jb has quit (Ping timeout)
16:19:11 --> Tonnes has joined #instantbird
16:22:28 <-- jb1 has quit (Ping timeout)
16:28:45 --> jb has joined #instantbird
16:34:40 --> unghost has joined #instantbird
16:38:29 <aleth> Can someone with the rights bump all the emoticon add-ons? I can't see any reason why they should lose compatibility.
16:46:48 <-- aleth has quit (Quit: Au revoir)
16:49:09 --> aleth has joined #instantbird
16:49:09 * ChanServ sets mode +h aleth 
16:59:23 --> meh has joined #instantbird
16:59:54 <instantbot> New Websites - www.instantbird.com bug 1802 filed by unghost@gmail.com.
16:59:56 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1802 enh, --, ---, nobody, UNCO, Sort languages by alphabetical order on download-all.html
17:24:03 <aleth> a little mary lou williams https://www.youtube.com/watch?v=BgeB031_vHc
17:24:30 <aleth> oops, wrong tab ;)
17:37:27 <-- jb has quit (Ping timeout)
17:37:50 <-- deltafalcon has quit (Connection reset by peer)
17:50:47 --> flo-retina has joined #instantbird
17:50:47 * ChanServ sets mode +qo flo-retina flo-retina 
18:03:40 <flo-retina> those blog posts about twitter's 100k limit seem annoying (more for Tb than Ib for now ^^)
18:03:58 <flo-retina> I wonder how many keys we would be allowed to have
18:04:37 <flo-retina> (and obvious workaround would be to have the application download a "currently ok" key from one of our websites before starting the oauth process...)
18:05:17 <aleth> I suspect the 100k is defined as "big enough to be noticed by twitter", so I'm not sure that workaround would work in practice
18:06:26 <aleth> Is there even a way to find out how many users a key currently has?
18:06:30 <aleth> (for us I mean)
18:21:50 <flo> no way to know.
18:22:11 <flo> and it's not even the number of users the key currently has, it's the number of authorizations that have ever been granted for that key
18:22:23 <flo> if the user allows usage of his account and then revokes it, it's still counted
18:22:55 <aleth> yes, which is a potential problem for tb, all the people who set it up just to try the feature out once
18:24:11 <aleth> It's a really shortsighted approach they are taking, maybe it won't last.
18:27:20 <flo> it seems they are just making it pointless to create new twitter apps
18:32:31 <dew> yeah what's the point of the limit again?
18:32:41 <dew> to stop spam I'm assuming?
18:39:11 <flo> dew: I don't think so.
18:39:57 <flo> dew: they limit applications that offer a UX "similar to the current or future official twitter experience"
18:40:15 <flo> dew: it seems to just be a way of slowly killing the API without saying so
18:40:47 <flo> people will still be able to use the API for cool demo, but creating a serious business using twitter won't be possible any more
18:41:42 <-- rosonline has quit (Ping timeout)
18:47:21 --> rosonline has joined #instantbird
18:49:27 --> Mook has joined #instantbird
19:09:55 --> clokep has joined #instantbird
19:09:55 * ChanServ sets mode +o clokep 
19:10:39 <flo-retina> aleth: I'm tracking down another [JavaScript Error: "this.target is undefined" {file: "file:///Users/florian/buildhg/obj-instantbird-dbg/mozilla/dist/InstantbirdDebug.app/Contents/MacOS/components/imConversations.js" line: 272}] shutdown error that causes (I think) a shutdown leak
19:11:36 <flo-retina> the blamed line in the stack for that call is http://lxr.instantbird.org/instantbird/source/instantbird/content/conversation.xml#750
19:12:40 <flo-retina> it seems that pressing Command+Q when the conversation window is active causes us to start a setTimeout with a function that .bind() the conversation.xml binding (keeping that binding/the window alive longer than it should)
19:14:30 <flo-retina> I don't understand why we don't return early at http://lxr.instantbird.org/instantbird/source/instantbird/content/conversation.xml#745
19:14:43 <aleth> Where is Command+Q handled? Maybe an event.preventDefault is missing there?
19:15:34 <flo-retina> ah, that's another approach :)
19:15:49 <flo-retina> I was thinking maybe replacing setTimeout with executeSoon would clean up that mess
19:15:51 <aleth> We probably don't return early there because the _conv exists but the target account does not 
19:16:11 <flo-retina> well, if the target conversation no longer exists, we should have destroyed the conversation binding
19:16:24 <flo-retina> but maybe we don't, because the .bind() keeps the binding alive
19:16:27 <aleth> I'm not sure that always happens quickly enough
19:16:56 <aleth> That's also possible
19:18:43 <flo-retina> we seem to handle the key at http://lxr.instantbird.org/instantbird/source/instantbird/content/menus.xul#37
19:20:35 <flo-retina> so at "<command id="cmd_quitApplication" oncommand="goQuitApplication()"/>" (line 28), and I suspect we can't reach the event object from there
19:20:55 <aleth> Hmm, I've seen "this.target undefined" in other situations before (but without STR), so it's better to fix the underlying issue anyway, if we can spot it.
19:23:53 <flo-retina> I think any bug causing us to keep something related to the conversation binding longer than it should is likely to cause that error message
19:24:01 <flo-retina> there may be several different underlying issues
19:25:41 --> Optimizer has joined #instantbird
19:25:47 <flo-retina> what about just listening for ui-conversation-closed in conversation.xml and deleting this._conv in that case?
19:26:12 <flo-retina> this may not fix all the JS errors, but at least the error messages will be related to where we are executing code that shouldn't run
19:26:34 <flo-retina> and that may be enough to break the cycle that the cycle collector couldn't get rid of in the case I'm interested in :)
19:27:15 <aleth> Try it?
19:27:22 <flo-retina> I will! :)
19:27:43 <flo-retina> I'm tired of seeing shutdown leaks ;)
19:27:46 <aleth> Doesn't that set up a potential race condition with the speed of the account closing though?
19:27:54 <flo-retina> I thought I had fixed them for 1.3, but it's definitely not the case for all of them
19:28:28 <flo-retina> aleth: it will just ensure that we don't call the imConversations service for already destroyed conversations; it may not fix all the races
19:28:34 <aleth> I suppose your new listener can just check if conv.account still exists
19:28:43 <flo-retina> no new listener
19:28:55 <flo-retina> we already have a conv listener in conversation.xml ;)
19:29:00 <aleth> even better :)
19:29:07 <aleth> I guess there had to be one :D
19:29:22 <flo-retina> just 2 more lines in an already long switch case
19:29:37 <flo-retina> 3 actually, with a "break;" statement
19:30:16 <flo-retina> and I think we should try to get rid of all the setTimeout(..., 0) we have in the UI, as they are generally a cause for race conditions
19:31:03 <aleth> I don't see a good reason why executeSoon wouldn't do just as well in the code you pointed at earlier
19:33:22 <aleth> But maybe there was some subtle issue...
19:35:49 <aleth> If you delete this._conv early you might have to do some of the things currently in the destroy and forgetConv methods too
19:39:36 <-- clokep has quit (Quit: Instantbird 1.3a1pre -- http://www.instantbird.com)
19:55:12 <-- rosonline has quit (Quit: Experimentem Instantbird 1.3 -- http://www.instantbird.com)
20:09:12 <-- groovecoder has quit (Quit: Instantbird 1.2 -- http://www.instantbird.com)
20:16:52 <-- Optimizer has quit (Ping timeout)
20:23:52 --> FeuerFliege has joined #instantbird
20:24:19 <FeuerFliege> hi
20:36:10 <-- Mook has quit (Quit: rebooting)
20:55:52 --> Mic has joined #instantbird
20:55:52 * ChanServ sets mode +h Mic 
21:03:55 <Mic> Hello
21:19:07 --> DGMurdockIII has joined #instantbird
21:19:45 <aleth> Mic: I tried parts of your patch and it worked. I assume problems you encountered might be due to specific accountEquals handlers
21:22:02 <flo-retina> aleth: I was thinking calling _forgetConv
21:25:14 <Mic> aleth: how did you try parts of it?
21:25:40 <Mic> Could you pastebin a diff, maybe, so I see what you did?
21:25:55 <aleth> By cut and pasting three snippets of code into place by hand ;)
21:26:07 <aleth> (I wanted to see at which point it would fail)
21:29:27 <aleth> Mic: http://pastebin.instantbird.com/103245
21:30:35 <-- meh has quit (Ping timeout)
21:30:58 <Mic> Thanks
21:40:46 <flo-retina> I'm so confused by these shutdown leaks :(
21:41:44 --> meh has joined #instantbird
21:52:27 --> mconley has joined #instantbird
21:59:58 <-- unghost has quit (Quit: Ухожу я от вас (xchat 2.4.5 или старше))
22:04:10 --> josefec has joined #instantbird
22:04:31 <-- josefec has quit (Quit: Instantbird 1.2 -- http://www.instantbird.com)
22:11:49 --> mconley_ has joined #instantbird
22:12:06 <-- mconley has quit (Ping timeout)
22:19:15 <-- Kaishi has quit (Quit: Kaishi)
22:33:47 <flo-retina> this avoids the JS error http://pastebin.instantbird.com/103258 but doesn't fix the leak :(
22:35:42 <aleth> more a workaround than a fix then? :-S
22:35:53 <aleth> or 2 unconnected issues...
22:35:58 <flo> I still suspect the timeouts
22:36:09 <flo> as if I close the conversation window before the shutdown, there's no shutdown leak
22:37:27 <-- FeuerFliege has quit (Ping timeout)
22:38:56 <flo> aleth: well, I think it's a real fix for the JS error, but now we just return at http://lxr.instantbird.org/instantbird/source/instantbird/content/conversation.xml#746 instead of causing the error
22:39:02 <flo> the closure with bind is still there
22:39:58 <aleth> save the timer and clear it in forgetconv? (a bit hackish but...)
22:40:13 <aleth> ^^ for testing the hypothesis it should do
22:40:14 <flo-retina> I'll comment it out first
22:40:26 <flo-retina> I'm really not sure fixing the timer will be enough to get rid of the leak
22:40:37 <flo-retina> as the leak happens even if the conversation window doesn't have focus
22:41:42 <flo-retina> the leak log is http://pastebin.instantbird.com/103259
22:41:51 <aleth> shame no js debugger can list all the items curently referring an object
22:42:15 <flo-retina> a cycle collector log can
22:42:54 <flo-retina> I think BackstagePass is typically caused by keeping a reference to the result of a bind() call
22:43:01 <flo-retina> but it's also possible to have it in other cases
22:43:37 <flo-retina> btw, this is when testing with the #test channel on freenode (so JS-IRC). With nullprpl I have much larger leaks.
22:44:20 <aleth> Because that protocol destructs quicker? ;)
22:48:29 --> FeuerFliege has joined #instantbird
22:51:50 <aleth> Could it be it's not the conversation binding, it's the tab? And this timer not being cleared? http://lxr.instantbird.org/instantbird/source/instantbird/content/tabbrowser.xml#2080
22:52:26 <aleth> I had assumed that when the conversation loses focus, that would get called.
22:52:40 <flo-retina> maybe
22:52:59 <flo-retina> but I think closing the window is supposed to cancel all the timers that are in that window
22:54:09 <flo-retina> "Setting the XPC_SHUTDOWN_HEAP_DUMP environment variable to a file name will cause XPConnect to, at shutdown, dump a log to that file explaining why all remaining JS objects are still alive." (from https://wiki.mozilla.org/Performance:Leak_Tools)
22:54:23 <flo-retina> it actually just causes a shutdown crash, and the file on the disk is 0 byte long...
22:55:29 <aleth> :(
22:56:20 * flo-retina rebuilds with const bool gAlwaysLogCCGraphs = true;
22:57:42 <-- mconley_ has quit (Input/output error)
22:59:25 --> jb has joined #instantbird
23:02:10 <-- DGMurdockIII has quit (Quit: ChatZilla 0.9.89 [Firefox 17.0/20121113065533])
23:06:19 <flo-retina> ahah!
23:06:43 <flo-retina> aleth: http://pastebin.instantbird.com/103262
23:07:02 <flo-retina> there seems to be some funny business with _chatRoomFields
23:07:37 <Mic> good night
23:07:39 <-- Mic has quit (Quit: Instantbird 1.3a1pre -- http://www.instantbird.com)
23:07:56 <aleth> Huh. That is unexpected! nice one
23:08:48 <flo-retina> but that problem occurs only if the conversation window hasn't been closed before shutdown.
23:09:04 <flo-retina> which surprises me (as the _chatRoomFields thing seems inside the IRC prpl code...)
23:09:20 <aleth> It's strange.
23:09:28 <flo-retina> indeed
23:09:40 <flo-retina> but it's probably worth checking how _chatRoomFields is handled
23:09:49 <aleth> There's no timers or anything either
23:10:05 <flo-retina> it's not about timers, it's about cycles
23:10:47 <flo-retina> and xpconnect wrappers
23:11:33 <flo-retina> for some reason _chatRoomFields owns a reference to an xpconnect wrapper around the object that owns _chatRoomFields
23:13:30 <aleth> Right.
23:15:36 * aleth was looking at http://lxr.instantbird.org/instantbird/source/chat/modules/jsProtoHelper.jsm#98 but is out of time :-(
23:15:51 <-- jb has quit (Ping timeout)
23:15:57 <flo-retina> http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#247
23:16:01 <flo-retina> I think that's the problem
23:16:01 <aleth> bus to catch...
23:16:17 <flo-retina> delete this._chatRoomFields; is in the part method that isn't called if the account is already disconnected
23:16:44 <flo-retina> ok, go catch that bus! :)
23:16:56 <aleth> sounds plausible! :)
23:17:03 <-- aleth has quit (Input/output error)
23:20:37 <flo-retina> ok, http://pastebin.instantbird.com/103269 fixes the leak! \o/
23:20:53 <flo-retina> well, the leak when quitting Instantbird while irc.freenode.net#test is displayed...
23:22:34 <flo-retina> I really would have had a very hard time finding that without the cycle collector dump
23:23:18 <-- FeuerFliege has quit (Ping timeout)
23:27:25 <flo-retina> I'm also interested in the large leak that happens when we have actually sent a message in the conversation.
23:28:47 <flo-retina> (we seem to be leaking a whole XUL window in that case)
23:29:06 <flo-retina> (I kinda assumed it was the conversation window, but my cycle collector dump seems to indicate it could be the hiddenWindow.xul one)
23:35:25 --> mconley has joined #instantbird
23:38:40 <instantbot> New Core - IRC bug 1803 filed by florian@instantbird.org.
23:38:41 <instantbot> florian@instantbird.org requested review from clokep@gmail.com for attachment 2094 on bug 1803.
23:38:43 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1803 nor, --, ---, nobody, NEW, Shutdown leak if there was an active IRC channel
23:50:12 --> rosonline has joined #instantbird
23:51:59 <instantbot> New Instantbird (UI) bug 1804 filed by florian@instantbird.org.
23:52:00 <instantbot> florian@instantbird.org requested review from aleth@instantbird.o rg for attachment 2095 on bug 1804.
23:52:01 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1804 nor, --, ---, nobody, NEW, JS error at shutdown when exiting with the Command+Q shortcut in a conversation window
23:57:30 <flo-retina> "(I kinda assumed it was the conversation window, but my cycle collector dump seems to indicate it could be the hiddenWindow.xul one)" that seems right! If I turn off sounds, my large leak when we have sent messages disappears!