Open Source Meeting/2009-05-14

Category:Open Source Meeting
== Agenda ==
Open source meeting - Thursday, 2pm PT.
Teleport to the Linden Open Source Project headquarters.
* Download the latest SLDev Viewer (see Open Source Portal for links)
* Triage list of issues with this viewer
== Transcript ==
* [14:03] Morgaine Dinova: Still grey Rob
* [14:03] Rob Linden: hmmm....interesting
* [14:04] Merov Linden: sorry to be late, M was in the office
* [14:04] Robin Cornelius: its probably in the server bake cache now
* [14:04] Q Linden: He's an OLD MAN
* [14:04] Morgaine Dinova: Hiya Merov :-)
* [14:04] Rob Linden: well, I'm using build 2244, and we seem to have some avatar problems that we think might be inherited from 1.23
* [14:04] Morgaine Dinova: Is there a way to tell the sim "Hey sim, forget yer bakes" ?
* [14:04] Robin Cornelius: you can upload new ones
* [14:05] Robin Cornelius: bakes have very specific asset IDs related to some hash of your wearables
* [14:05] Q Linden: that's it, rob, point the fickle finger of fail at 1.23. See if I care.
* [14:05] Rob Linden: Here's the issue we suspect: 
* [14:05] Morgaine Dinova: lol
* [14:05] Rob Linden: Q: :-P
* [14:06] Morgaine Dinova: Q: you'll have a hard time living up to 1.22.11 :-)
* [14:06] Rob Linden: how many other folks here are running 2244?
* [14:06] Q Linden: morgaine, we're already below it on crash rate and above it on average frame rate
* [14:06] Rob Linden: get your (relatively) fresh bits here: https://wiki.secondlife.com/wiki/Open_Source_Portal
* [14:06] Merov Linden: not running it right this minute
* [14:06] Robin Cornelius: I was running latest svn, but tonight i'm on laptop with ond 1.21 build
* [14:06] Twisted Laws: not stable for me... i have the same issue that i reported in 
* [14:07] Rob Linden: ah...righto
* [14:07] Rob Linden: Twisted: is this something you think you'll be able to catch in the debugger, or do you need help?
* [14:07] Twisted Laws: i think i succeeded in sending in some crash logs by starting the rc to do the reporting tho.
* [14:07] Twisted Laws: should have at least 3 crash logs from me
* [14:07] Rob Linden: yeah, we do (thanks!)
* [14:08] Merov Linden: Saw some of yours Twisted
* [14:09] Twisted Laws: i haven't tried the debugger yet, but will i just got another system running that should be able to run debugger on
* [14:10] Rob Linden: interesting....I see reports in there for Twisted, but at least one of the ones I pulled up say "Call Stacks Not Available Yet"
* [14:10] Rob Linden: Twisted: are you running our provided binaries, or from source?
* [14:10] Twisted Laws: your provided binaries
* [14:11] Techwolf Lupindo: I found a command line trick to run SL cleint under gdb without having to edit files. export LL_WRAPPER; secondlife
* [14:11] Soft Linden: Wow, okay - no http-texture-10 for me. The tip is not happy on my Mac.
* [14:11] Techwolf Lupindo: ack...
* [14:11] Techwolf Lupindo: Lets try that again. export LL_WRAPPER='gdb --args'; secondlife
* [14:12] Twisted Laws: running on windows vista tho
* [14:12] Twisted Laws: i can attach to a running process so i should be able to find something hopefully
* [14:13] Rob Linden: Twisted: does it seem to be tied to a region you visit, or does it crash no matter where you are?
* [14:13] Twisted Laws: it happened in at least 4 places, sandboxes being most frequent but they aren't a good test as they change too much
* [14:14] Twisted Laws: it may be related to the minimap and i always have that open... i tried to figure out for sure but ran out of time yesterday
* [14:14] Twisted Laws: at least i can stay longer with the mini-map closed
* [14:14] Aimee Trescothick: ducks
* [14:14] Morgaine Dinova: Not exactly a "trick", I use that to activate "ldd" and "strace" prefixes to the bin/do-not-... commandline. :-)
* [14:15] Twisted Laws: the location in the jira was a definite repeatable place for me
* [14:16] Aimee Trescothick: would be very interested to know if happens with the minimap not open (hopefully ;)
* [14:17] Twisted Laws: i stayed at that location for 15 minutes with the mini map closed... i opened the minimap and locked up about 3 minutes later
* [14:17] Aimee Trescothick: hrm
* [14:17] Twisted Laws: not for sure with that kind of testing
* [14:17] Rob Linden: well, that's definitely an area to keep looking at
* [14:18] Rob Linden: so you're having to kill the viewer yourself?
* [14:18] Soft Linden: I'm still trying to catch this from context - which JIRA are we peeking at?
* [14:18] Twisted Laws: btw, it did always happen to me within 50m of a sim border, never in center of sim. yes Rob
* [14:18] Twisted Laws: 
* [14:18] Soft Linden: tnx
* [14:18] Rob Linden: Soft: we talked about this one earlier today
* [14:19] Soft Linden: yep!
* [14:19] Merov Linden: went to that region and coordinates myself, opened minimap, stayed there for a while but wasn't able to repro
* [14:19] Rob Linden: Anyone else know if there's a pref to make watchdog more sensitve?
* [14:20] Dzonatas Sol: A pic of "local chat" in gtk, and the sysem monitor showing the ui multithreading: 
* [14:20] Twisted Laws: also when i rotate it would sometimes "catch" and lock with a black screen for a few seconds but then come back
* [14:20] Soft Linden: Good question - I think the watchdog is just on and off right now. It could be changed to a debug setting.
* [14:20] Rob Linden: I'm wondering if the fact that Twisted is having to kill the viewer is related to the crash reports aren't useful
* [14:21] Soft Linden: I'd ping on sldev. I know the guy who "owns" the watchdog reads frequently - could nudge him toward the thread.
* [14:21] Rob Linden: cool, thanks
* [14:21] Aimee Trescothick: be interested to know what zoom level you have the minimap at too
* [14:21] Aimee Trescothick: value of the MiniMapScale debug setting
* [14:21] Robin Cornelius: if twisted could run from VS, shoud be able to hit break and get a VS stack trace
* [14:21] Twisted Laws: normal i think... not zoomed in or out, showing about 4 regions of space
* [14:21] Twisted Laws: ok, can try it
* [14:22] Rob Linden: cool!
* [14:22] Rob Linden: ok....so, should we talk about some of the other issues that are reported against this viewer?
* [14:22] Opensource Obscure: soft, do you mean WatchdogEnabled? that one is in 2244 debug settings
* [14:22] Rob Linden: see what else we can pin on 1.23 :)
* [14:22] Soft Linden: Ah cool
* [14:23] Opensource Obscure: disabled by default here
* [14:23] Opensource Obscure: "Controls whether the thread watchdog timer is activated. "
* [14:24] Rob Linden: Thanks Dzonatas
* [14:24] Rob Linden: Twisted: perhaps turning that pref on might help us narrow that down
* [14:24] Rob Linden: (and perhaps we should make sure that we enable that by default)
* [14:25] Twisted Laws: ok, will try that first before the debug attempt :)
* [14:25] Dzonatas Sol: was side tracked to early convo, for what the pic was about =)
* [14:25] Robin Cornelius: Wasn't there some silly issue that false watchdogs were firing which is why they are not on by default
* [14:25] Soft Linden: yes
* [14:26] Soft Linden: A few operations take a while, like high res snapshots on the Mac. And those were triggering.
* [14:26] Soft Linden: Worse, for a while the crash dump mechanism was taking long enough to execute that the watchdog would kick in and dump the crash dump, as I understand it :)
* [14:26] Soft Linden: I think the latter has been fixed
* [14:26] Rob Linden: well, that conversation may be a good one to take to the list
* [14:27] Rob Linden: in the meantime, let's take a look at this: 
* [14:27] Techwolf Lupindo: I get 1.5 to 2.5Gb core dumps, takes over a minute to work those to the harddrive.
* [14:27] Melinda Latynina: crash dumps and snapshts sound like potential fodder for separate threads
* [14:27] Rob Linden: First issue: 
* [14:27] Melinda Latynina: the watchdog would just watch the main thread
* [14:28] Rob Linden: argh...looks like I didn't finish off my comments from this morning
* [14:28] Merov Linden: How do people like Aimee's modif to the minimap BTW ? (I like them :) )
* [14:29] Twisted Laws: i like them
* [14:29] Rob Linden: re: VWR-13221 : I think that's a good one to lob out to sl-ux@ first.
* [14:29] Soft Linden: I could die happy if the space invaders icons went in.
* [14:29] Aimee Trescothick: ROFL
* [14:29] Rob Linden: :)
* [14:29] Techwolf Lupindo: I just added my vote for VWR-6918 I do photos and having a way to "freeze" flexes without the outlines showing up comes in handley.
* [14:30] Melinda Latynina: so long as the contract is that the glyphs never scale to cover more ground than a typical avatar, i approve.
* [14:31] Rob Linden: we discussed VWR-13221 earlier today; one initial impression was to not have a pref for the recentering behavior
* [14:31] Dzonatas Sol: a full freeze, hmm, maybe toggle gNoRender
* [14:31] Melinda Latynina: not counting when they're already at their smallest level that is.
* [14:31] Soft Linden: ie - have it always recenter
* [14:31] Aimee Trescothick: hrm, it's actually useful to be able to turn off the centering though
* [14:31] Soft Linden: A shift-drag temporary thing sounds good, but we probably don't want to get too close to just reimplementing the big map with lots of little options.
* [14:31] Soft Linden: Good sl-ux conversation though?
* [14:32] Melinda Latynina: seems t me that the esc key or something like it should snap the view back to centered on the avatar
* [14:32] Aimee Trescothick: you can place it so that your minimap shows only what is infront of you for example
* [14:32] Melinda Latynina: the mini-map view is the 2D equivalent of the 3D view and it might benefit from some of the same idioms
* [14:32] Aimee Trescothick: hmm, i'd have to redrag it every time I hit esc to reset the camera though then
* [14:32] Techwolf Lupindo: I like to find a hack to move the avatar center to off center on the client so I can have my windows cover two monitor and move the floater to there while the first monitor will still be centere.d
* [14:33] Rob Linden: well, at any rate, let's take this one to sl-ux@, and move to the next issue
* [14:33] Aimee Trescothick: ok
* [14:33] Melinda Latynina: techwolf: the best way to do that would be to render the 3D view in a floater
* [14:33] Rob Linden: next up: 
* [14:33] Rob Linden: oops
* [14:33] Aimee Trescothick: deja vu
* [14:33] Rob Linden: 
* [14:34] Melinda Latynina: by default the 3D view would be maximized, but u could put it in windowed mode and put it anywhere in the frame
* [14:34] Morgaine Dinova: Hehe
* [14:34] Techwolf Lupindo: has deja vu
* [14:34] Soft Linden: I'd sure assume this was an access violation. unfortunately the crash reporter doesn't relay what signal came up
* [14:35] Rob Linden: Merov: I don't recall seeing VWR-13066 in the crash logs recently....maybe this was fixed in 1.23
* [14:35] Rob Linden: ?
* [14:35] Rob Linden: after all, if we're going to pin bugs on 1.23, we might as well pin some fixes on it too :)
* [14:35] Merov Linden: checks what 13066 is all about
* [14:35] Morgaine Dinova: lol
* [14:36] Morgaine Dinova: hands Q a cookie
* [14:36] Rob Linden: for you latecomers (/me waves at Philip), here's the agenda: https://wiki.secondlife.com/wiki/Open_Source_Meeting/Agenda
* [14:36] Q Linden: inspects its expiration date
* [14:36] Merov Linden: right, I haven't seen that one in logs recently
* [14:36] Rob Linden: going through this list: 
* [14:36] Techwolf Lupindo: I like to have an option to have the crashlogger call up gdb and send in a really usefull crash report to you guys.
* [14:36] Merov Linden: not even on my own crash exploration (and I did some this morning...)
* [14:37] Rob Linden: I say we mark this one resolved (fixed?)
* [14:37] Rob Linden: (or maybe cant' repro)
* [14:38] Soft Linden: Yeah, can't repro. I'm not finding any recent ones
* [14:38] Rob Linden: done
* [14:38] Merov Linden: I actually think there was a specific fix for that one
* [14:38] Rob Linden: I'd say the same thing about the next one too: VWR-13065
* [14:39] Soft Linden: We might want to skip past these stacks
* [14:39] Rob Linden: actually, I think the next few are like that
* [14:39] Rob Linden: yup Soft
* [14:39] Morgaine Dinova: Generic crash log, not saying anything
* [14:39] Dzonatas Sol: For the questions that came up on sldev today about OpenJPEG, is there a jira you want us to follow-up on. Several were listed.
* [14:39] Rob Linden: I'll bulk mark them "cannot repro" unless there's objection
* [14:40] Soft Linden: If we've got a few people here running http-texture-10, we can breeze through any that can be confirmed with quick tests
* [14:40] Soft Linden: Do we have some 1.23 people here too, so we can find what's in both vs just http-texture?
* [14:40] Rob Linden: Dzonatas: that might be a good issue to cover since you're here
* [14:41] Rob Linden: so: we are still getting OpenJPEG crashers....I don't believe we have a JIRA yet, but we can file a placeholder now
* [14:41] Rob Linden: (unless someone tells me that there's already an issue, I'll do that now)
* [14:41] Dzonatas Sol: Ok. That works.
* [14:41] Merov Linden: I logged one a week or 2 ago
* [14:41] Merov Linden: gets the number
* [14:41] Rob Linden: thanks Merov
* [14:42] Rob Linden: Dzonatas: what's the prognosis on getting a 1.3.1 version of OpenJPEG?
* [14:42] Dzonatas Sol: Robin did follow-up on sldev, and there is a few patches I posted to OpenJPEG list to cover some obvious fixes for crashes. I'm not sure if it will fix those crashes, but it seems like they may.
* [14:43] Dzonatas Sol: 2.0.... I'll forward the e-mail I wrote so I don't have to repeat everything.
* [14:43] Robin Cornelius: the opj_calloc fxes the most common crash
* [14:43] Rob Linden: cool
* [14:43] Rob Linden: Dzonatas: you're forwarding a mail to sldev@?
* [14:44] Dzonatas Sol: my mailhop is controlled by techs that think e-mail and the internet is the same thing... so long story short... its a pain for me to get e-mail out right now
* [14:44] Dzonatas Sol: =)
* [14:44] Rob Linden: k. no worries
* [14:46] Morgaine Dinova: In the quiet spot .... is "the SLdev viewer" going to get a name?
* [14:46] Merov Linden: rob: I lied, I didn't log that OpenJPEG record in JIRA (logged a bunch of others though)
* [14:46] Rob Linden: :) ok, I'll file somethign after the meeting
* [14:47] Rob Linden: anyway,
* [14:47] Aimee Trescothick: "Fred"
* [14:47] Merov Linden: really thought he did log that one
* [14:47] Opensource Obscure: I'm using Fred right now.
* [14:47] Merov Linden: "Fred"?
* [14:47] Rob Linden: regarding OpenJPEG...is there somethign we're using OpenJPEG for even when KDU is available?
* [14:47] Aimee Trescothick: "John Doe Viewer"
* [14:48] Merov Linden: jpg tiles for the map
* [14:48] Rob Linden: ok....that's what I was kind of suspecting
* [14:48] Morgaine Dinova: Well some name would be handy. Nobody seems to know how to refer to it atm :-)
* [14:48] Rob Linden: Merov: why is that?
* [14:48] Dzonatas Sol: KDU, don't think there is a deb package for KDU, so OpenJPEG is the main option
* [14:48] Merov Linden: why is that? we use jpeg images?
* [14:48] Robin Cornelius: can't distribute KDU
* [14:49] Rob Linden: Merov: but I guess I'm confused: we normally just use the LLImage interface for JPEG2000 stuff
* [14:49] Philip Linden: we need openjpg to get fast enough to be a candidate for replacing kdu with jpg2000 decodes, right?
* [14:50] Philip Linden: i was just asking this on sldev list
* [14:50] Merov Linden: yes, but the tiles coming from the Amazon S3 repository are not jpeg 2000, they are plain jpeg images
* [14:50] Techwolf Lupindo: What is the current benchmark between KDU and OpenJpeg?
* [14:50] Merov Linden: the same ones that are used in the web SLURL site
* [14:50] Philip Linden: merov: i think kdu does not offer decode of regular jpg.
* [14:50] Philip Linden: the 'jpeg2000' name is a bit confusing.
* [14:51] Merov Linden: correct, at least, we're not trying to open those .jpg with KDU
* [14:51] Rob Linden: so....here's the part that's still confusing me: we have OpenJPEG and KDU as two functionally equivalent implementations of JPEG2000...
* [14:51] Merov Linden: 'jpeg2000' was a marketing ploy for "wavelet multires images" :)
* [14:51] Morgaine Dinova: Ew
* [14:52] Dzonatas Sol: OpenJPEG 2.0 addresses the performance that 1.3 has in being able to read streams faster. It does not handle truncated images at this time.
* [14:52] Rob Linden: ....and the version that reports "Second Life OSS" in the channel string is the binaries we provide, which have KDU
* [14:52] Soft Linden: truncated images as in what we use for discard levels?
* [14:52] Merov Linden: Rob: we are using KDU for j2c
* [14:52] Philip Linden: it would be very cool if someone here could simply benchmark kdu versus openjpeg for some decodes.
* [14:52] Merov Linden: and OpenJPEG for jpg
* [14:53] Rob Linden: ok...OpenJPEG is being used for plain ol' JPEG decode.....got it
* [14:53] Philip Linden: right rob.
* [14:53] Techwolf Lupindo: Is there any benchmark tools that I can use? Some samples? I like to give a crack at this.
* [14:53] Merov Linden: exactly
* [14:53] Rob Linden: cool, ok....little slow over here, but I eventually catch on
* [14:53] Philip Linden: just time the decode in msecs between the two.
* [14:53] Soft Linden: ah - we have a texture loading torture test island that's Linden-only right now
* [14:53] Soft Linden: We could get that moved out to public space, I expect
* [14:54] Dzonatas Sol: Soft, only part of the streams are sent, first 600 bytes, then more. Normally jpeg2000 streams can be truncated anytime, and the decoder will figure out how to get whatever it can.
* [14:54] Robin Cornelius: Phillip its not as simple as just flat out 100% decodes
* [14:54] Philip Linden: very simple. different images won't exhibit much variance in speed.
* [14:54] Robin Cornelius: KDU has an advantage in that it does not need to redecode the entire image when a discard updates
* [14:54] Robin Cornelius: just the new data
* [14:54] Philip Linden: oh man that is a bummer. didn't know that.
* [14:54] Philip Linden: so that means openjpeg is much much slower in SL.
* [14:55] Philip Linden: since we are constantly doing progressive updates.
* [14:55] Dzonatas Sol: Yes, 1.3 decodes all resolutions found.
* [14:55] Techwolf Lupindo: Philip, any way to set the SL client to not-decode untill all data is finished? This is help prevent re-decoding all the time.
* [14:55] Morgaine Dinova: I think Philip's call for actual measurement is important. You don't really know what you don't measure. The slowdown may not be significant."
* [14:56] Philip Linden: techwolf that would make most of the world gray.
* [14:56] Techwolf Lupindo: then a de-bug setting would do. We like to test. :-)
* [14:56] Rob Linden: well, back on the issue of solving these OpenJPEG crashers, sounds like we need to upgrade to 1.3+ in order to fix them
* [14:57] Merov Linden: sounds like a good call Rob
* [14:57] Dzonatas Sol: When I benchmarked OpenJPEG to KDU on single resolution image, 2k by 3k in size, i found OpenJPEG was 20% slower. However, that is with full optimization. OpenJPEG is not being compiled with full optimization as it is being distributed now.
* [14:58] Rob Linden: here's the placeholder I just filed for people that want to track this problem: 
* [14:58] Rob Linden: (it really needs better text than that, but at least we have a number reserved)
* [14:58] Techwolf Lupindo: Dzonatas, what optimizations? It is just a plain -march=athlong in gcc or something different?
* [14:58] Dzonatas Sol: with tree vectorization enabled
* [14:59] Merov Linden: thanks Rob
* [15:00] Soft Linden: We're also overdue to update to a newer kdu, and the authors claim it's tens of percent faster than the current kdu. Is our only gauge the benchmark, or at some point is the speed "good enough?"
* [15:00] Rob Linden: well....before we go: on the name front, we're still jumping through some legal hoops before we announce the name
* [15:00] Morgaine Dinova: So are we saying that we're totally stuck, as KDU is the only lib that handles progressive updates?
* [15:01] Morgaine Dinova: Rob: aha, good to know :-)
* [15:01] Rob Linden: (we want to make sure we don't run into the situation that Mozilla's "Firebird" project ran into....)
* [15:01] Soft Linden: we do have the source to openjpeg - hard to be "stuck"
* [15:01] Philip Linden: we could also only use openjpeg for jpeg2000 and try a different decoder for jpg
* [15:01] Philip Linden: looks like there are a few out there.
* [15:02] Merov Linden: as long as we're using few jpg images, that's a possibility
* [15:02] Dzonatas Sol: I thought libpng is being used to decode regular jpg files now
* [15:02] Morgaine Dinova: Yeah, but forking ain't nice. Aren't the OpenJPEG peeps interested in adding progressive decode?
* [15:02] Philip Linden: conventional jpg is very simple - browsing onlinr right now it looks like there are numerous C implementations out there.
* [15:03] Rob Linden: Philip: yeah, that's what I was originally confused about. I think we've got 2-3 different JPEG decoders that we ship in the viewer already (other than KDU/OpenJPEG)
* [15:03] Dzonatas Sol: Morgaine, given one OpenJPEG guy was in the Artic for the last half year...
* [15:03] Morgaine Dinova: Hehe
* [15:03] Techwolf Lupindo: Forked only when needed. Just forking for the sack of forking is bad.
* [15:03] Philip Linden: i think jpg decode is going to be only a few hundred lines. so yeah i bet we have several.
* [15:04] Philip Linden: merov perhaps we can just call a different decode routine and get done with this problem.
* [15:04] Merov Linden: yeap, just took a note on that
* [15:04] Rob Linden: cool...well, we're running a little over. anything urgent we still need to cover?
* [15:05] Rob Linden: if not, I'd encourage everyone here to keep reading through the full list of issues reported against http-texture
* [15:05] Aimee Trescothick: I posted an updated patch on VWR-8008 if you wouldn't mind having a look when you have time Merov?
* [15:05] Rob Linden: ...and we can call the official part of these meeting over
* [15:06] Merov Linden: Aimee: ok, will look into that one
* [15:06] Aimee Trescothick: adds in the extra bounds checking for aspect ratios we talked about
* [15:06] Aimee Trescothick: and there's a test plan there also
* [15:06] Merov Linden: nice :)
* [15:06] Rob Linden: yay :)
* [15:07] Rob Linden: alighty...thanks everyone for coming!
* [15:07] Morgaine Dinova: Thanks Rob, and all :-)
* [15:07] Dzonatas Sol: ty
* [15:08] Philip Linden: take care you guys.
* [15:08] Aimee Trescothick: bye :)
* [15:08] Morgaine Dinova: PS. Just don't call the new viewer "AO" and we'll be fine :P
* [15:08] Twisted Laws: thanks, bye
* [15:08] Merov Linden: checks Aimee's test plan
* [15:09] Merov Linden: Aimee: I'll look at the new patch and get back to you before tonight (PST)
* [15:09] Morgaine Dinova: Uh oh, UXIG meeting, we're late
* [15:09] Opensource Obscure: nice work on VWR-8008 Aimee
* [15:09] Merov Linden: but that looks pretty good for what I can tell
* [15:09] Aimee Trescothick: :)
* [15:09] Opensource Obscure: bye everybody
* [15:09] Aimee Trescothick: great, I'm off to bed in an hour or so probably
* [15:09] Morgaine Dinova: See you OO
* [15:09] Aimee Trescothick: :)
* [15:09] Merov Linden: bye everybody!
* [15:09] Melinda Latynina: ciao all
* [15:10] Aimee Trescothick: bye :)
* [15:10] Morgaine Dinova: waves and heads to UXIG
* [15:10] Rob Linden: bye!