#instantbird log on 08 26 2014

All times are UTC.

00:22:02 --> clokep_work has joined #instantbird
00:22:02 * ChanServ sets mode +o clokep_work 
00:48:58 <-- GeekShadow has quit (Ping timeout)
01:03:21 <clokep_work> Mook_as: I gotta a C++ XPCOM question for you if youv'e got a second.
01:03:22 <instantbot> c++ sucks
01:03:26 <clokep_work> instantbot: shush
01:03:29 <instantbot> clokep_work: Sorry, I've no idea what 'shush' might be.
01:04:32 <Mook_as> clokep_work: what's up?
01:04:42 <Mook_as> (also... are you seriously at work?)
01:05:02 <clokep_work> Mook_as: I'm taking a look at bug 1057029, it means I need to add an nsISSLStatus to the account so I can access it in the account dialog.
01:05:06 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1057029 nor, --, ---, clokep, NEW, update certificate exception handling in chat to deal with bug 940506
01:05:08 <clokep_work> (And no, I'm just on my work computer.)
01:05:28 <clokep_work> Mook_as: How...do I create an unimplement version of that in C++?
01:05:38 <clokep_work>  /* readonly attribute nsISSLStatus sslStatus; */
01:05:38 <clokep_work> NS_IMETHODIMP purpleAccount::GetConnectionTarget(nsISSLStatus & aSslStatus)
01:05:38 <clokep_work> {
01:05:39 <clokep_work>   aSslStatus = nullptr;
01:05:39 <clokep_work>   return NS_OK;
01:05:40 <clokep_work> }
01:05:42 <clokep_work> Is what I currently have.
01:05:52 <Mook_as> one sec, my machine is being slow due to running 4 VMs
01:06:10 <clokep_work> 4?! PSH. I'm frequently running like 18. ;)
01:06:14 <Mook_as> clokep_work: do you have a xpidl.py-generated .h file?
01:06:30 <clokep_work> Ummm....no...how do I get that again?
01:06:32 <Mook_as> clokep_work: ah. can I start using your machine for work, then? :p
01:06:40 <Mook_as> clokep_work: run the build until it breaks :p
01:06:59 <clokep_work> Hah.
01:07:43 <clokep_work> Mook_as: OK so it broke on the idl. :( When do you #include vs. interface?
01:08:06 <Mook_as> Umm, you #include if you inherit from it, IIRC?
01:08:19 <clokep_work>  / is there magic I need to do to rebuild interfaces?
01:09:04 <Mook_as> Hmm, sorry, I haven't touched the mach-based c-c system enough to know
01:09:52 <clokep_work> No problem.
01:10:14 <clokep_work> BAH!
01:10:16 <clokep_work> I'm stupid. Sorry.
01:11:37 <clokep_work> I typed nsISSLError in one place and nsISSLStatus in another.
01:12:08 <clokep_work> Mook_as: OK so where's this header file? objdir/path/to/srcdir/?
01:12:22 <Mook_as> I think it's in there, under _xpidlgen or something
01:12:51 <clokep_work> The "source dir" being the place I have the component defined?
01:13:20 --> GeekShadow has joined #instantbird
01:13:32 <clokep_work> All I see is "Makefile" and "backend.mk" :-S
01:14:06 <Mook_as> huh
01:14:13 <clokep_work> Ah, mozilla/dist/include?
01:14:33 <Mook_as> ... I wouldn't expect it there unless your header is public, but can't hurt to look
01:14:51 <clokep_work> It is public.
01:15:05 <clokep_work> The interface is, right?
01:15:25 <Mook_as> If it's there, it is :p
01:17:35 <clokep_work> I see it in there. :)!
01:17:40 <Mook_as> yay!
01:17:43 <clokep_work> Mook_as: Is setting it to nullptr a "reasonable" thing?
01:18:06 <Mook_as> I'd consider raising NS_ERROR_NOT_IMPLEMENTED to be reasonable
01:18:13 <Mook_as> since, well, you didn't implement it? :p
01:18:43 <clokep_work> Hah, yeah...for some reason we /don't/ do that for connectionTarget, which is set at the same time.
01:18:54 <clokep_work> I think we want to silently fail in the libpurple case.
01:21:41 <clokep_work> Mook_as: Woot, thanks! It worked. :)
01:21:55 <Mook_as> yay!
01:23:26 <Mook_as> anyway, yeah, if you want a non-exception for some reason, null is probably the best you can get
01:23:41 <Mook_as> _mabye_ NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA... maybe.
01:23:56 * Mook_as -> home
01:24:08 <-- Mook_as has quit (Quit: Mook_as)
01:25:17 <clokep_work> Well that took approximately an hour less than I thought it would....
01:40:10 <clokep> qheaden: r?s for you!
01:46:28 --> mconley has joined #instantbird
01:50:09 <-- wnayes has quit (Ping timeout)
01:51:04 --> wnayes has joined #instantbird
01:52:20 <instantbot> New Chat Core - General bug 1058360 filed by clokep@gmail.com.
01:52:21 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058360 min, --, ---, nobody, NEW, JS test throwing errors
01:52:29 <qheaden> clokep: Okay cool. I'll check it out.
01:54:06 * clokep_work hopes you don't mind.
01:54:45 <qheaden> Of course not.
01:55:22 <qheaden> I probably won't be able to review it right now, because I need to run a build of Thunderbird, and get ready for my early class tomorrow. ;)
01:57:06 <clokep_work> "early", yeah. ;)
01:58:01 <clokep_work> And no rush.
01:58:09 <qheaden> Okay.
01:59:42 <-- clokep_work has quit (Ping timeout)
02:01:14 <-- clokep has quit (Ping timeout)
02:02:58 <-- mconley has quit (Input/output error)
02:03:26 --> mconley has joined #instantbird
02:05:05 <-- wnayes has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:05:09 <-- mconley has quit (Ping timeout)
02:11:00 <-- qheaden has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:34:22 <-- arlolra has quit (Quit: arlolra)
02:49:52 --> mconley has joined #instantbird
03:33:57 <instant-buildbot> build #2320 of macosx-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2320
03:34:55 <-- mconley has quit (Input/output error)
03:40:30 <-- nhnt12 has quit (Ping timeout)
03:49:07 <instant-buildbot> build #1140 of linux-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/1140
03:50:22 <instant-buildbot> build #35 of linux64-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/35
04:07:13 <instant-buildbot> build #1496 of win32-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1496
04:07:14 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
05:01:10 --> gerard-majax_ has joined #instantbird
05:42:13 <-- EionRobb has quit (Quit: Leaving.)
06:11:50 --> EionRobb has joined #instantbird
06:37:44 <-- gerard-majax_ has quit (Ping timeout)
06:42:11 --> jb has joined #instantbird
07:36:11 * Fallen|away is now known as Fallen
08:09:25 <flo-retina> oooh, nightlies! :)
08:12:03 <flo-retina> heh, I didn't know NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA
08:17:59 --> mpmc has joined #instantbird
08:40:08 --> gerard-majax_ has joined #instantbird
08:44:32 <-- gerard-majax_ has quit (Ping timeout)
08:47:14 --> gerard-majax_ has joined #instantbird
08:57:38 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:01:26 <-- gerard-majax_ has quit (Ping timeout)
09:02:24 --> gerard-majax_ has joined #instantbird
09:04:13 <-- gerard-majax_ has quit (Ping timeout)
09:08:57 --> Bollebib has joined #instantbird
09:22:55 <-- jb has quit (Quit: jb)
09:23:23 --> sonny has joined #instantbird
09:23:37 --> jb has joined #instantbird
09:29:21 --> chrisccoulson has joined #instantbird
09:32:27 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:48:23 --> gerard-majax_ has joined #instantbird
10:01:54 --> clokep has joined #instantbird
10:01:54 * ChanServ sets mode +o clokep 
10:02:34 --> flo-retina has joined #instantbird
10:02:34 * ChanServ sets mode +qo flo-retina flo-retina 
10:10:59 --> BWMerlin has joined #instantbird
10:23:09 <clokep> flo-retina: I purposefully did not put a line break to group sslStatus with connectionTarget.
10:23:34 <clokep> Frankly, does sslStatus / connectionTarget even NEED a getter? What's it doing in this situation?
10:23:43 <flo-retina> maybe that makes sense when looking at the whole file, when looking only at the context in the patch it looks odd
10:23:56 <flo-retina> no, they don't
10:23:58 <clokep> Also, should these be forwarded through the account to the prplAccount? We seem to do that with a lot of other properties...
10:24:15 <flo-retina> clokep: they only ensure the property is readonly if someone ever unwraps the xpconnect wrapper.
10:24:24 <clokep> Ah.
10:24:36 <flo-retina> which doesn't matter much ;)
10:27:37 <clokep> Right. :)
10:27:41 <clokep> Well I'll fix that stuff in a bit.
10:37:45 --> nhnt12 has joined #instantbird
10:45:30 <flo-retina> clokep: interesting new data: https://pastebin.mozilla.org/6159269
10:45:36 <flo-retina> nhnt12: ^^
10:45:59 * nhnt12 wonders why his nick is nhnt12
10:46:21 <nhnt12> clokep: I see you poked me yesterday
10:46:30 <flo-retina> I'm more interested in why the stats service is using 18MB of "Function" and 12MB of "Call" (whatever that is)
10:46:52 * nhnt12 is looking at the pastebin
10:47:03 <clokep> Yeah. That seems like a lot...
10:47:14 <flo-retina> clokep: do you have any idea what these 1.24MB of "Proxy" in irc.js could be?
10:47:55 <flo-retina> I'm also curious about what XPC_WN_NoMods_NoCall_Proto_JSClass is :-S
10:51:45 <clokep> flo-retina: No. I mean I know there's "Proxy" objects, but we don't use any of those directly in the IRC code.
10:51:52 <clokep> IRC has a lot of cross compartment wrappers too. :-\
10:51:56 <flo-retina> would be so nice to have the allocation places :-/
10:52:49 <flo-retina> clokep: maybe proxies and cross-compartment-table are related actually?
10:53:59 <clokep> Maybe? :-S
10:55:03 <clokep> Ask in #perf?
10:55:16 <clokep> allocation locations would be pretty nice, yes. :)
10:57:05 <flo-retina> I think that's more devtools folks who are working on that
10:57:41 <-- EionRobb has quit (Quit: Leaving.)
10:58:02 <clokep> You'd know better than me! :)
10:58:16 <flo-retina> bug 1001678 seemed promising, but I don't know any way to turn that on
10:58:18 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1001678 nor, --, mozilla34, nfitzgerald, RESO FIXED, [jsdbg2] Implement an allocation log for Debugger.Memory
10:58:20 <flo-retina> I think the whole thing is WIP
10:58:53 <flo-retina> I want to make time to talk to that engineer, to see if I can help him/if his stuff can already be useful to us
11:05:24 <-- clokep has quit (Ping timeout)
11:14:44 <-- nhnt12 has quit (Input/output error)
11:35:52 <-- gerard-majax_ has quit (Ping timeout)
11:38:18 --> CAKCy has joined #instantbird
11:38:32 <-- CAKCy has left #instantbird ()
11:41:32 --> clokep_work has joined #instantbird
11:41:32 * ChanServ sets mode +o clokep_work 
11:42:01 --> mpmc has joined #instantbird
11:43:41 * clokep_work sighs about qref vs qnew. :(
11:44:38 * Fallen is now known as Fallen|away
11:51:53 <clokep_work> flo-retina: It looks like we do group together some other fields in prplIAccount: http://mxr.mozilla.org/comm-central/source/chat/components/public/imIAccount.idl#76 (normalizedName vs. normalize, some of the joinChat stuff)
11:52:02 <clokep_work> I don't have a problem changing it, just let me know. :)
11:52:37 <flo-retina> clokep_work: whatever, do as you prefer :)
11:53:22 <clokep_work> flo-retina: So is calling getters expensive then?
11:53:39 <flo-retina> more than doing nothing
11:53:59 <flo-retina> it's like a function call
11:54:23 <flo-retina> in the prplAccount case, it traverses xpconnect
11:54:33 <flo-retina> in the this.sslStatus case, it's just a function call on the same object
11:55:09 <flo-retina> either way, in these 2 cases it's not expensive enough to make a significant difference
11:55:22 <flo-retina> it's more our coding style to avoid getting twice the same thing
12:04:41 <clokep_work> Fair enough.
12:17:11 * Fallen|away is now known as Fallen
12:21:51 --> gerard-majax_ has joined #instantbird
12:24:02 <-- gerard-majax_ has quit (Max SendQ exceeded)
12:24:12 --> aleth has joined #instantbird
12:24:12 * ChanServ sets mode +o aleth 
12:24:52 --> gerard-majax_ has joined #instantbird
12:25:00 <aleth> yay, a nightly :)
12:25:05 <-- aleth has quit (Quit: exit stage left)
12:25:09 --> aleth has joined #instantbird
12:25:09 * ChanServ sets mode +o aleth 
12:28:05 <-- GeekShadow has quit (Ping timeout)
12:28:05 <-- gerard-majax_ has quit (Ping timeout)
12:28:46 --> gerard-majax__ has joined #instantbird
12:29:33 <aleth> tbpl looks somewhat greener today too
12:30:09 <-- gerard-majax__ has quit (Max SendQ exceeded)
12:31:25 --> GeekShadow has joined #instantbird
12:35:32 --> gerard-majax__ has joined #instantbird
12:37:12 <-- BWMerlin has quit (Quit: BWMerlin)
12:37:27 <-- aleth has quit (Ping timeout)
12:37:40 --> aleth has joined #instantbird
12:37:40 * ChanServ sets mode +o aleth 
12:42:37 <clokep_work> aleth: Is that the right fix for bug 1058360 or is there a bigger problem?
12:42:39 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058360 min, --, ---, clokep, ASSI, JS Test protocol throwing errors due to normalizedName being incorrect
12:43:21 <aleth> clokep_work: If I understand it right, normalizedName used to be jstest and now without the change it is js test and so existing accounts run into trouble?
12:43:36 <clokep_work> aleth: Not just existing accounts.
12:43:41 <clokep_work> You can't even create a new one.
12:43:53 <clokep_work> I think the space messes it up.
12:44:09 <clokep_work> aleth: http://mxr.mozilla.org/comm-central/source/chat/protocols/jsTest/jsTestProtocol.manifest#3
12:44:10 <aleth> I guess that's possible, that protocol names can't contain spaces. I don't know.
12:44:54 <aleth> Ah, so an alternative fix would be to change the name to "JStest"
12:45:05 <aleth> I'm not sure what's better here.
12:45:32 <aleth> I didn't realize the normalized name related to the category name
12:45:58 <clokep_work> aleth: No. Another fix would be to change the normalization of the protocols to remove spaces as it used to do.
12:46:28 <aleth> Sure.
12:47:29 * aleth is trying to remember the discussion around that
12:48:28 --> CAKCy has joined #instantbird
12:48:43 <CAKCy> aleth: Hi! :)
12:49:28 <aleth> clokep_work: That may in fact be better, to change the default in jsProtoHelper for GenericProtocolPrototype.
12:49:31 <-- gerard-majax__ has quit (Ping timeout)
12:49:45 <flo-retina> clokep_work: btw, I'm surprised that JSTest isn't used during any of our xpcshell tests
12:49:49 <aleth> clokep_work: Just in case anyone else ever tries to use protocol names with spaces
12:49:59 <aleth> I don't think I've ever looked at JSTest before.
12:50:05 <aleth> CAKCy: hi
12:50:58 <CAKCy> aleth: I wanted to give you an update on my "sound" problem (if you remember the issue) :)
12:51:34 <clokep_work> aleth: Yeah, I was kind of thinking that too.
12:51:46 --> gerard-majax__ has joined #instantbird
12:52:09 <flo-retina> "in case anyone else ever tries to use protocol names with spaces" like "Facebook Chat"? ;)
12:52:55 <aleth> flo-retina: FB overrides explicitly
12:53:23 <aleth> CAKCy: I thought you had figured out it had nothing to do with IB?
12:53:33 <flo-retina> I was just giving an example of someone ever trying to use a protocal name with spaces :)
12:54:04 <flo-retina> aleth: so I think yesterday you wanted to commit a purple fix for non-unified builds, and said you had fixed a LIST leak, but I didn't see the patches for either.
12:54:30 <clokep_work> flo-retina: That was my thought too! :) But turns out we override it, yeah.
12:54:31 <flo-retina> aleth: btw, have you seen https://pastebin.mozilla.org/6159269 and the following short discussion?
12:54:37 <clokep_work> Or "Google Talk"? :-D
12:54:59 <clokep_work> flo-retina: Btw I'm also surprised we don't use it in any tests. :-\
12:55:36 <aleth> flo-retina: I didn't fix purple yet, and I need to file a bug for the LIST leak
12:55:59 <aleth> flo-retina: I agree with the short discussion :) Nice new feature, but not quite the one we need ;)
12:56:05 <-- gerard-majax__ has quit (Ping timeout)
12:56:13 <aleth> Proxy is puzzling.
12:56:56 <CAKCy> aleth: You do remember! :) OK... After a ton of reading... It seems that the PlaySound function causes a leak which keeps audiodg process not terminating well. It seems to be a Windows problem (there was a hotfix for it back in 2010 but it was never fixed well. Something that slows down the leak is to disable the Audio Enhancements (which is what I did back then and thought that the problem was solved.) 
12:57:06 <clokep_work> aleth: Pretty sure there's a LIST leak bug already.
12:57:33 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
12:58:10 <aleth> clokep_work: I can't find it
12:58:12 <flo-retina> aleth: well, I think it already gives us interesting data
12:58:25 <flo-retina> aleth: there's no reason for the stats service to take so much memory for functions
12:58:41 <flo-retina> aleth: so we know the problem isn't really the amount of data we are keeping in memory. It's just a bug somewhere.
12:58:43 <aleth> flo-retina: It's interesting but puzzling data. I wouldn't know what the next step is.
12:59:02 <flo-retina> aleth: next step is figuring it out ;)
12:59:18 <aleth> flo-retina: That's always a good next step :D
12:59:20 <-- Rym has quit (Ping timeout)
13:00:49 <flo-retina> aleth: interestingly now it's down to https://pastebin.mozilla.org/6160760
13:00:59 <flo-retina> (I've closed the awesometab)
13:01:11 <clokep_work> My guess is that it's creating a lot of functions that are bound to itself?
13:01:15 <aleth> I wonder if there's a lot of callbacks around?
13:01:44 <aleth> clokep_work: oh yeah, that could be too
13:01:48 <flo-retina> I would also like to figure out the meaning of XPC_WN_NoMods_NoCall_Proto_JSClass
13:01:58 --> Rym has joined #instantbird
13:02:14 <flo-retina> from a very quick googling session, it seems to be wrappers caused by modifying the default prototype of a builtin JS object.
13:02:24 <flo-retina> but I haven't really confirmed it
13:02:45 <clokep_work> flo-retina: That fits in with what I know of proxies.
13:03:01 <aleth> flo-retina: So that may wrap the original prototype?
13:03:12 <flo-retina> maybe :)
13:03:32 <clokep_work> aleth: I think you missed the point of my question. :-\ "Does this break having multiple things in auto-join or does the UI do a split(',') somewhere?" So the answer is that the UI does a split somewhere?
13:03:41 <aleth> clokep_work: but the proxies are in irc (!?) not in the stats service
13:03:44 <aleth> clokep_work: yes
13:04:01 <aleth> This is not done at the prpl level.
13:04:28 <aleth> My answer was "it can't possibly break autojoin" ;)
13:04:38 <clokep_work> aleth: I don't like that you're splitting on space and then just dropping the second part. :-S
13:04:52 <clokep_work> Do we raelly expect people to put a password there when there's a password box right below it?
13:05:19 <aleth> clokep_work: I don't expect that, the point of that patch is to stop things breaking.
13:05:47 <aleth> It's obviously not the right way to sanitize inputs at the UI level. But I'm not interested in rewriting the join chat dialog.
13:06:59 <aleth> The API around join chat is unfortunately terrible :-/
13:07:35 <clokep_work> aleth: Btw I understand taht the split gets rid of the spaces to the right, I just saw "trimLeft" and then spent a few minutes figuring out what everything did, I'd find "trim" clearer.
13:07:56 <aleth> clokep_work: I can put trim() there if you prefer, no problem.
13:08:37 <aleth> clokep_work: A better alternative might be to check that the channel name passed is a valid channel name. If you know a nice way to do that, we could use that instead.
13:08:53 <-- CAKCy has left #instantbird ()
13:09:12 <clokep_work> aleth: Hmm...you mean ensure it doesn't include symbols, etc?
13:09:18 <aleth> Right.
13:09:20 <clokep_work> I don't know a very nice way to do that ATM, no.
13:09:26 <clokep_work> And there's no way to give feedback to the form. :-\
13:09:37 <aleth> Yes that's the crappy API part :(
13:22:14 <instantbot> New Chat Core - IRC bug 1058584 filed by aleth@instantbird.org.
13:22:16 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058584 nor, --, ---, aleth, ASSI, LIST keeps too many long strings in memory
13:24:12 <-- aleth has quit (Ping timeout)
13:25:27 * flo-retina was hoping to see a patch in the bug :-]
13:26:53 * Fallen is now known as Fallen|away
13:28:10 --> aleth has joined #instantbird
13:28:10 * ChanServ sets mode +o aleth 
13:28:46 * Fallen|away is now known as Fallen
13:29:59 <-- aleth has quit (Ping timeout)
13:30:23 --> aleth has joined #instantbird
13:30:23 * ChanServ sets mode +o aleth 
13:39:59 * clokep_work needs nhnt11's log searching right now
13:43:16 <-- aleth has quit (Ping timeout)
13:44:34 --> iamjayakumars has joined #instantbird
13:45:25 --> aleth has joined #instantbird
13:45:25 * ChanServ sets mode +o aleth 
13:49:45 <-- aleth has quit (Ping timeout)
13:50:16 --> aleth has joined #instantbird
13:50:16 * ChanServ sets mode +o aleth 
13:53:41 <-- Rym has quit (Ping timeout)
13:54:35 <-- aleth has quit (Ping timeout)
13:54:56 --> aleth has joined #instantbird
13:54:56 * ChanServ sets mode +o aleth 
13:56:46 <-- aleth has quit (Ping timeout)
13:57:09 --> aleth has joined #instantbird
13:57:09 * ChanServ sets mode +o aleth 
14:00:16 --> mconley has joined #instantbird
14:03:11 <-- aleth has quit (Ping timeout)
14:05:39 --> aleth has joined #instantbird
14:05:39 * ChanServ sets mode +o aleth 
14:06:15 --> sherief has joined #instantbird
14:06:18 <-- iamjayakumars has quit (Client exited)
14:15:46 <-- aleth has quit (Ping timeout)
14:16:07 --> aleth has joined #instantbird
14:16:08 * ChanServ sets mode +o aleth 
14:17:30 --> Rym has joined #instantbird
14:25:52 <aleth> flo-retina: patch attached
14:25:59 <flo-retina> :)
14:28:50 <clokep_work> aleth: Gross. ;)
14:29:01 <aleth> Yes ;)
14:30:36 <flo-retina> aleth: what's a case where we don't have imAccount in the logger?
14:30:49 <flo-retina> ie. when are we logging stuff that's related to an account?
14:31:04 <aleth> flo-retina: I don't know, but the current if clause is clearly a bug.
14:31:11 <flo-retina> sure
14:31:40 <flo-retina> so I guess now you want to ask a JS engine guy how to force a new string to be created
14:32:47 <aleth> flo-retina: I think that if clause is there because scriptError() may be called from other places too
14:33:14 <aleth> flo-retina: yes (though suggestions I've received so far have not worked)
14:33:36 <flo-retina> suggestions from whom?
14:34:27 <aleth> froydnj on #memshrink
14:34:44 <aleth> Any ideas on who to ping?
14:36:26 <flo-retina> I would ask nbp (we were together at the university)
14:36:37 <flo-retina> or more generally, #jsapi is the place to find JS engine developers
14:37:10 <aleth> ok
14:40:31 <flo-retina> nbp doesn't seem online today (he's based in Paris, so he wouldn't be asleep now); I guess I would just ask #jsapi
14:40:50 * Fallen is now known as Fallen|away
14:51:19 * Fallen|away is now known as Fallen
14:52:35 <flo-retina> I think nbp gave me a way to do it at some point but that was in the kitchen of the Paris office, so no IRC log :-/
14:52:46 <flo-retina> possibly .trim() or += ""
14:54:06 <aleth> Tried both of those.
14:54:26 <aleth> The #memshrink suggestion was using slice()
14:54:47 <aleth> The JS engine is hard to trick ;)
14:56:02 <flo-retina> aleth: you can still JSON.parse(JSON.stringify()) :-D
14:56:26 <aleth> flo-retina: Not sure that's an improvement :D
14:56:47 <flo-retina> aleth: I think it only creates one pointless string, instead of one per character :-D
14:59:47 <flo-retina> aleth: have you tried .normalize() on the string?
14:59:54 <flo-retina> with a name like this, you should like that method :-D
15:00:18 <flo-retina> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
15:00:55 <aleth> flo-retina: JSON.parse/stringify actually works :) But interestingly leads to 0.10 MB (00.07%) ── string(length=0, copies=4204, "")/gc-heap/latin1 as a side effect :D
15:01:11 <aleth> flo-retina: It makes me want to avoid that method ;)
15:01:17 <flo-retina> really?
15:01:37 <flo-retina> is this something for the #memshrink guys?
15:02:01 <aleth> Could be.
15:02:27 * flo-retina wonders if it could be done in a loop to reach a larger number, or if there's a maximum
15:13:58 * Fallen is now known as Fallen|away
15:18:14 --> wnayes has joined #instantbird
15:18:50 <flo-retina> aleth: have you tried .normalize() ?
15:22:24 <-- aleth has quit (Ping timeout)
15:22:34 --> aleth has joined #instantbird
15:22:35 * ChanServ sets mode +o aleth 
15:24:09 <aleth> flo-retina: normalize() works, though I don't understand why
15:24:32 <aleth> flo-retina: It also produces O(4000) "" strings so that may be worth filing ;)
15:24:34 <flo-retina> why would it not work?
15:24:50 <flo-retina> is that only if you don't nullcheck the topic first?
15:24:51 <aleth> Why is it obvious it has to allocate a new string?
15:24:59 <aleth> flo-retina: Yes exactly
15:25:48 <flo-retina> aleth: I expect the .normalize method to pass the character data to ICU, and then create a new string from the result
15:26:29 <aleth> "17:25:39 - Ms2ger: I can't think of anything to fix that that we wouldn't try to break again" :D
15:26:35 <aleth> Makes sense...
15:26:42 <flo-retina> maybe we should suggest that they fix the original bug? ;)
15:27:31 <aleth> I don't think they consider it a bug. It's an edge case.
15:27:48 <flo-retina> do you know what QoI means?
15:27:58 <aleth> Quality of Implementation?
15:28:12 <flo-retina> aleth: well, I think it is a bug. If we keep a reference to 300bytes of a 32kB string and that keeps the 32kB alive...
15:28:52 <flo-retina> "I think the best approach is trying to improve SM's heuristics for this case" looks like they agree ;)
15:29:14 <aleth> I'm all for them agreeing :)
15:32:35 <-- aleth has quit (Ping timeout)
15:33:23 --> aleth has joined #instantbird
15:33:23 * ChanServ sets mode +o aleth 
15:41:22 <flo-retina> " I'm pretty sure that there are use cases that cause stuff like this. Parsers, say" exactly... we are talking about an IRC parser ;)
15:41:44 <aleth> indeed
15:52:37 * aleth wonders how many c-c patches are waiting for checkin by now
15:52:42 <aleth> Must be quite a backlog...
15:55:09 --> arlolra has joined #instantbird
15:58:28 <flo-retina> aleth: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=kw%3Acheckin-needed&list_id=11060246 looks like 37 (there are 3 non-c-c bugs in that list)
15:59:05 <aleth> Plus all the ones where people have given up adding checkin-needed (I know clokep and me have a couple at least)
16:00:45 <-- aleth has quit (Ping timeout)
16:01:13 --> aleth has joined #instantbird
16:01:13 * ChanServ sets mode +o aleth 
16:11:14 <clokep_work> aleth: Good work. :)
16:12:21 <aleth> Thanks! It didn't turn out to be a big chunk of our memory usage though, unfortunately or fortunately...
16:16:20 <flo-retina> they are talking about dropping support for VS2010 already :-S
16:17:09 <flo-retina> aleth: well, if with each patch we remove 3-5MB of overhead, we will get into a reasonable state soon ;).
16:17:44 <clokep_work> flo-retina: Why? Is VS2013 that much better?
16:17:57 <flo-retina> clokep_work: there's 2012 in the middle
16:18:09 <flo-retina> so apparently still supporting 2012 is a good-enough excuse to drop 2010
16:18:49 <clokep_work> That sucks for people who use non-free ones.
16:21:17 <flo-retina> my nightly has now been running for long enough to have interesting data in the imConversations.js compartment
16:21:18 <flo-retina> https://pastebin.mozilla.org/6163043
16:21:35 <flo-retina> looks like we also waste a lot of memory in Function and other stuff
16:22:02 <flo-retina> clokep_work: I don't know if our slave uses the express version or not
16:22:18 <flo-retina> I remember that a long time ago having the "Professional" version of VS2005 was required for jemalloc
16:22:36 <aleth> .bind(this) considered harmful?
16:22:44 <flo-retina> aleth: it's always been ;)
16:23:03 <aleth> Yes, just interesting to see numbers ;)
16:23:06 <clokep_work> flo-retina: That's no longer necessary IIRC.
16:23:17 <flo-retina> yeah
16:23:26 <flo-retina> that's why I don't know what we are using :)
16:24:13 <clokep_work> We do .bind(this) a lot. :-\ DOes fat-arrow help w/ that?
16:24:30 <flo-retina> maybe?
16:24:32 <flo-retina> I'm not sure :)
16:24:35 <aleth> It might (you can't use it in all the cases where you can use bind() )
16:24:56 <aleth> => functions are lightweight, but that also means they can't do everything.
16:25:33 <flo-retina> it doesn't matter if we use .bind here and there
16:25:41 <flo-retina> it might be a problem if we are using it in hot code paths
16:25:43 <aleth> No prototype, no constructor, no call() or bind()
16:27:11 <clokep_work> flo-retina: And how long we're holding onto it, right?
16:27:37 <aleth> clokep_work: function leaks would be bad, right.
16:31:08 * clokep_work gets a bucket and puts on rainboots.
16:32:02 <flo-retina> aleth: I'm not sure why call() would be bad
16:32:40 <aleth> flo-retina: I'm not saying it's bad, I'm saying arrow functions don't have it.
16:37:44 <-- aleth has quit (Ping timeout)
16:38:56 <-- wnayes has quit (Ping timeout)
16:39:12 <clokep_work> flo-retina: Is there a "cool" way to get that data to a clipboard? Or just /about memory, measure and highlight + copy and paste?
16:39:41 --> wnayes has joined #instantbird
16:40:08 <flo-retina> clokep_work: do you mean "is there a way to automate it?" ?
16:40:27 <clokep_work> flo-retina: Getting the memory?
16:40:55 <flo-retina> clokep_work: I'm hoping we could write an xpcshell 'test' that would do some stuff and dump the about:memory output in a readable form
16:41:03 <flo-retina> and then we could test quickly the effect of changes.
16:41:33 <clokep_work> Sure, I was going to pastebin mine, although I'm unsure any of it is interesting.
16:42:06 <clokep_work> Oh boo, you can't search on that page.
16:47:05 --> Mook_as has joined #instantbird
16:49:25 <flo-retina> clokep_work: I usually just copy/paste and pastebin, yes
16:49:54 <flo-retina> clokep_work: also, pastebin.m.o instead of pastebin.i.o, as that about:memory output has some special characters that pastebin.i.o dislikes for some reason.
16:50:07 <clokep_work> :(
17:06:02 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
17:17:20 <-- jb has quit (Ping timeout)
17:19:07 <-- sherief has quit (Ping timeout)
17:35:06 --> flo-retina has joined #instantbird
17:35:06 * ChanServ sets mode +qo flo-retina flo-retina 
17:48:07 * Fallen|away is now known as Fallen
17:50:53 <-- micahg has quit (Ping timeout)
17:51:39 --> micahg has joined #instantbird
17:55:13 --> mpmc has joined #instantbird
18:00:42 <-- Rym has quit (Ping timeout)
18:01:07 --> Rym has joined #instantbird
18:08:03 --> mali has joined #instantbird
18:28:05 <-- flo-retina has quit (Input/output error)
18:30:03 --> flo-retina has joined #instantbird
18:30:03 * ChanServ sets mode +qo flo-retina flo-retina 
18:36:22 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
18:40:46 --> sherief has joined #instantbird
18:41:16 <-- sonny has quit (Ping timeout)
18:59:13 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
19:23:01 --> nhnt12 has joined #instantbird
19:32:15 --> aleth has joined #instantbird
19:32:16 * ChanServ sets mode +o aleth 
19:34:01 <-- aleth has quit (Ping timeout)
19:44:11 --> jb has joined #instantbird
20:29:40 <-- flo-retina has quit (Ping timeout)
20:32:08 --> flo-retina has joined #instantbird
20:32:09 * ChanServ sets mode +qo flo-retina flo-retina 
20:36:10 --> EionRobb has joined #instantbird
20:44:41 <-- Mook_as has quit (Quit: rebooting)
20:46:38 <clokep_work> flo-retina: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=product%3AInstantbird%2Cchat%20checkin-needed&list_id=11061933 is what I'm currently checking in, do we know of others?
20:47:58 <clokep_work> (Does nhnt12 have any?)
20:48:22 <flo-retina> bug 1057029?
20:48:26 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1057029 nor, --, ---, clokep, NEW, update certificate exception handling in chat to deal with bug 940506
20:49:38 <clokep_work> Yep, got that one. :)
20:50:02 <flo-retina> bug 1058584 ?
20:50:05 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058584 nor, --, ---, aleth, ASSI, LIST keeps too many long strings in memory
20:50:17 <flo-retina> I'm looking forward to looking at about:memory after that's fixed
20:50:33 <clokep_work> Want me to update the comment myself?
20:50:44 <flo-retina> ah
20:50:56 <flo-retina> if you feel like it
20:51:07 <clokep_work> I could do the r+ patch in bug 955133
20:51:10 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=955133 enh, --, ---, wnayes, ASSI, Implement the import wizard service and backend
20:51:15 <clokep_work> And bug 1035844 maybe.
20:51:17 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1035844 nor, --, ---, nhnt11, ASSI, logger.js should add its profileBeforeChange blocker on OS.File instead of AsyncShutdown
20:51:55 <flo-retina> clokep_work: I wouldn't take bug 955133 now until we've seen it working with the other patches
20:52:20 <flo-retina> clokep_work: bug 1035844 is a good idea
20:52:31 <nhnt12> clokep_work: No, I've got nothing to checkin :( (other than 1035844 maybe)
20:52:42 <nhnt12> What's up with smileys in the latest nightly?
20:52:46 <nhnt12> Completely blurred..
20:53:02 <nhnt12> http://puu.sh/b95Gv/b5cf1faafd.png
20:53:10 <nhnt12> This is on a non-retina screen..
20:53:44 <flo-retina> nhnt12: is it looking as usual on the retina one?
20:53:50 --> Mook_as has joined #instantbird
20:54:04 <nhnt12> Something is up with my system
20:54:13 <nhnt12> one minute..
20:54:38 <clokep_work> flo-retina: "Force the allocation of a new copy of the string so as to prevent the JS engine from retaining the whole original string from the socket (bug 1058584)."
20:54:40 <nhnt12> yeah, still blurry. flo-retina: looks normal on retina.
20:54:41 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058584 nor, --, ---, aleth, ASSI, LIST keeps too many long strings in memory
20:54:45 <clokep_work> Is that reasonable or was there more you were looking for in it?
20:54:59 <nhnt12> looks better on retina than non-retina actually
20:55:15 <flo-retina> the bug number I was thinking about was bug 1058653
20:55:17 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058653 nor, --, ---, nobody, NEW, Investigate memory wasted through dependent strings keeping large strings alive
20:55:37 * clokep_work added a "This hack can be removed when bug 1058653 is fixed." to that.
20:55:48 <flo-retina> :)
20:56:03 <nhnt12>  :S
20:56:05 <nhnt12> Everything looks fine again
20:56:15 <nhnt12> The window "glitched" for a second as I was dragging it..
20:56:19 <nhnt12> Weird
20:56:53 * nhnt12 suspects some issue dragging from one display to another
20:57:07 <nhnt12> (It fixed itself as I was dragging it /within/ a screen though btw)
20:57:56 <flo-retina> nhnt12: dragging a window from the retina to non-retina screen typically leaves glitches for me until I resize the window
20:58:18 <nhnt12> Yeah, the titlebar is a bit off usually right?
20:58:24 <flo-retina> right
20:58:37 <nhnt12> I always resize to get rid of that, so I don't think that was the issue
20:59:26 <flo-retina> nhnt12: I would like if you could look again at bug 1025522 before we forget the context ;)
20:59:28 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1025522 nor, --, ---, nhnt11, ASSI, Split log files to prevent them from growing too large
20:59:47 <nhnt12> Yeah, I got a reminder from bugzilla today (or yesterday)
21:00:40 <instantbot> clokep@gmail.com changed the Resolution on bug 1058584 from --- to FIXED.
21:00:42 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058584 nor, --, 1.6, aleth, RESO FIXED, LIST keeps too many long strings in memory
21:00:57 <nhnt12> Yay, new stuff for the next nightly :)
21:01:01 <instantbot> clokep@gmail.com changed the Resolution on bug 1035844 from --- to FIXED.
21:01:03 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1035844 nor, --, 1.6, nhnt11, RESO FIXED, logger.js should add its profileBeforeChange blocker on OS.File instead of AsyncShutdown
21:01:52 <instantbot> clokep@gmail.com changed the Resolution on bug 955742 from --- to FIXED.
21:01:54 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=955742 nor, --, 1.6, aleth, RESO FIXED, Joining multiple chats at once opens spurious MUC
21:02:03 <instantbot> clokep@gmail.com changed the Resolution on bug 1044172 from --- to FIXED.
21:02:04 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1044172 nor, --, 1.6, clokep, RESO FIXED, [Regression] Error "aJID.trim is not a function" when deleting XMPP account
21:02:33 <instantbot> clokep@gmail.com changed the Resolution on bug 1051510 from --- to FIXED.
21:02:36 <nhnt12> Aha, I should be able to delete some garbage accounts now :)
21:02:36 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1051510 min, --, 1.6, aleth, RESO FIXED, Show throbbers on existing conversations already while connecting
21:02:54 <instantbot> clokep@gmail.com changed the Resolution on bug 1048528 from --- to FIXED.
21:02:55 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1048528 nor, --, 1.6, aleth, RESO FIXED, "Reference to undefined property" in ircISUPPORT
21:03:14 <instantbot> clokep@gmail.com changed the Resolution on bug 1058360 from --- to FIXED.
21:03:16 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1058360 min, --, 1.6, clokep, RESO FIXED, JS Test protocol throwing errors due to normalizedName being incorrect
21:04:15 <instantbot> clokep@gmail.com changed the Resolution on bug 955677 from --- to FIXED.
21:04:16 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=955677 nor, --, 1.6, clokep, RESO FIXED, Nick truncated if already in use during connection registration
21:04:35 <instantbot> clokep@gmail.com changed the Resolution on bug 1048678 from --- to FIXED.
21:04:37 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1048678 min, --, 1.6, clokep, RESO FIXED, Implement CTCP Client Info command
21:05:06 <instantbot> clokep@gmail.com changed the Resolution on bug 955389 from --- to FIXED.
21:05:07 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=955389 maj, --, ---, clokep, RESO FIXED, Instantbird does not connect to irc.ppy.sh
21:06:07 <instantbot> clokep@gmail.com changed the Resolution on bug 1057029 from --- to FIXED.
21:06:08 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1057029 nor, --, 1.6, clokep, RESO FIXED, update certificate exception handling in chat to deal with bug 940506
21:07:07 <clokep_work> Well that was fun.
21:07:22 * clokep_work is slightly scared about the amount of IRC changes in that push.
21:09:24 <flo-retina> clokep_work++ for pushing all this forward! :)
21:09:40 <clokep_work> flo-retina: Sure thing. :)
21:09:46 * clokep_work hopes nothing explodes.
21:17:21 --> Guido has joined #instantbird
21:17:35 <Guido> Hello, someone online?
21:17:49 <flo-retina> 30 people ;)
21:19:09 <Mook_as> well, two of them are bots
21:19:16 <Guido> I had a list with all online contacts. there were no labels to be seen. Now several labels are shownn as well as all offline contacts. 
21:19:29 <flo-retina> Mook_as: maybe Mook_as is a bot too ;)
21:20:00 <Guido> I think it was a key combination which caused the change. how can i change it back?
21:20:50 <Mook_as> Guido: right click on an empty area, unselect the thing that says to show offline people? To start with, anyway.
21:22:46 <Guido> Mook_as: doesn't help
21:31:42 <-- Guido has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
21:32:01 --> Guido has joined #instantbird
21:36:41 <-- clokep_work has quit (Ping timeout)
21:38:50 <-- EionRobb has quit (Quit: Leaving.)
21:39:14 <flo-retina> bah, bug 954943 is in an undefined state :(
21:39:18 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=954943 nor, --, ---, benediktp, ASSI, Possible to add duplicate accounts
21:43:48 <-- Guido has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
21:49:48 <-- Rym has quit (Ping timeout)
22:03:41 --> EionRobb has joined #instantbird
22:10:20 <-- EionRobb has quit (Ping timeout)
22:11:14 --> EionRobb has joined #instantbird
22:14:40 <-- jb has quit (Ping timeout)
22:22:08 <-- mconley has quit (Input/output error)
22:23:47 --> clokep has joined #instantbird
22:23:48 * ChanServ sets mode +o clokep 
22:29:14 <clokep> flo-retina: What's undefined about it?
22:29:24 <flo-retina> If Mic intends to finish it
22:29:26 <clokep> I thought the patch just had to be finished?
22:29:35 <clokep> I think at this point someone else can pick it up and that's OK. :)
22:38:33 <-- EionRobb has quit (Quit: Leaving.)
22:59:33 <flo-retina> clokep: new unhandled IRC message from the test moznet server:
22:59:34 <flo-retina> Warning: Unhandled IRC message: :belew.allizom.org 396 flo-test moz-frdf7e.ip-37-59-48.eu :is now your displayed host
22:59:49 <clokep> That could actually be useful. :)
23:00:09 <flo-retina> what would we do with it?
23:00:32 <flo-retina> or is that full displayed host included in each message we send?
23:01:33 <clokep> It's included in each message that others receive.
23:01:49 <flo-retina> so that's the thing we need to count characters?
23:02:39 <clokep> Yes.
23:02:46 <clokep> We get it somehow right now.
23:24:44 <-- Bollebib has quit (Client exited)
23:25:41 * Fallen is now known as Fallen|away
23:55:40 --> EionRobb has joined #instantbird