[00:51] <NEWTOUBUNTUINEED> HI ALL
[00:54] <NEWTOUBUNTUINEED> i was trying to use UNETBOOTING software and i have a problem with it it dont have the verison that i downloaded on the list it just goes up to UBUNTU 12.04 LIVE and not what i have UBUNTU 13.04 higest it is the UNBUNTU 12.04 LIVE
[00:56] <NEWTOUBUNTUINEED> do i choose the UBUNTU 12.04 LIVE
[00:56] <NEWTOUBUNTUINEED> IM TRYING TO BOOT IT FROM A
[00:56] <NEWTOUBUNTUINEED> opps caps
[00:56] <NEWTOUBUNTUINEED> USB  drive
[00:58] <NEWTOUBUNTUINEED> i trying to boot and install it from THE USB STICK and not a DVD CD
[00:59] <NEWTOUBUNTUINEED> can somone hep me please
[04:37] <pitti> good morning
[04:48] <didrocks> with the latest MIR acked, I think it's time to get unity 7 and touch to saucy!
[04:49] <didrocks> urgh, who relaunched the indicators /o\
[04:50] <didrocks> someone redeployed it :/
[05:06] <didrocks> session restart
[05:12]  * didrocks grumbles about the commit and rebuild from adding upstart session to unity
[05:12] <didrocks> "no best time than 12 hour before releasing and asking for a rebuild"
[05:27] <didrocks> ok, there is for an hour of test running, better to do my exercice meanwhile :)
[06:03] <m4n1sh> didrocks: can saucy be updated to latest zeitgeist version 0.9.14?
[06:11] <m4n1sh> sorry, I meant 0.9.13
[06:27] <didrocks> m4n1sh: not today, but you can ask for sponsoring :)
[06:28] <didrocks> jibel: I can't have the tests running anymore, not sure if it's a real regression or something else
[06:38]  * didrocks recreates a container due to the kernel upgrade, just in case with dkms…
[06:39] <didrocks> it seems to be latest ted's change
[06:39] <m4n1sh> didrocks: oh yeah. I wasn't asking you to do right away. Just wanted to know if anything else needs to be done from my side before it is fit to be accepted. Just wanted to make sure nothing is missing form my side
[06:40] <didrocks> m4n1sh: if you can propose a package for sponsoring, that would be awesome :)
[06:41] <maxiaojun> What's the future plan of Ubuntu's CJKV inputting stack?
[06:42] <m4n1sh> didrocks: it isn't in debian as I can see. will propose for sponsorship
[06:42] <didrocks> m4n1sh: thanks
[06:43] <didrocks> maxiaojun: more a question for #ubuntu-unity I guess
[06:43] <maxiaojun> didrocks: thanks
[06:47] <jibel> hey didrocks , which tests ?
[06:48] <didrocks> jibel: indicators and unity. I thought it could be a dmks issue when upgrading the kernel, but not. I think it's one of the very late ted's commit that was taken with latest build
[06:48] <didrocks> jibel: I just reverted it and relaunched an unity bulid
[06:49] <jibel> didrocks, unity died during the tests?
[06:49] <didrocks> jibel: I think it's the panel service
[06:49] <didrocks> and then, it's making unity dying
[06:50] <didrocks> jibel: 4 runs, reproduceable reliably
[06:50] <didrocks> jibel: tedg migrated the panel service to upstart
[06:50] <didrocks> and removed the .service file
[06:50] <didrocks> I'm sure there is something with the service not responding and unity goes to a bad trip :p
[06:51] <jibel> didrocks, i'll restart the machine to make sure the env is clean, and restart indicators
[06:51] <didrocks> jibel: I did that
[06:51] <jibel> ah
[06:51] <didrocks> jibel: and even reprovisionned after that
[06:51] <didrocks> jibel: so, let's see with the new unity
[06:52] <didrocks> jibel: I'm stopping the current check
[06:52] <didrocks> as soon as i386 is published
[06:52] <didrocks> I'll rerun the indicators
[06:52] <didrocks> with whole ppa
[06:52] <didrocks> (as the tests are quicker than unity)
[06:52] <jibel> didrocks, we can increase the memory allocation, this box has 8G but that'd just push the wall further
[06:52] <didrocks> jibel: doesn't seem to be linked to memory though
[06:53] <didrocks> jibel: when it was stuck, we only had 400MB taken
[06:53] <didrocks> and no swap
[06:54] <jibel> didrocks, right, after dropping the caches there's only 109MB used :/
[06:54] <didrocks> jibel: let's see and cross fingers that the upstart change is the guilty one
[06:55] <jibel> didrocks, did you watch on the KVM the state of the screen?
[06:56] <didrocks> jibel: no, I just relyied on logs, I need to setup KVM here I guess
[07:59] <Laney> hey there
[07:59] <Laney> f r i d a y !
[07:59] <hyperair> tgif
[08:00]  * hyperair feels fairly caffeine-deprived
[08:00] <pitti> merci dieu c'est vendredi
[08:00] <pitti> Zum Glück ist Freitag!
[08:00] <pitti> so what will we flame about today?
[08:01] <czajkowski> pitti: pick a default and change your mind and discuss :)
[08:12] <didrocks> pitti: don't tempt me :)
[08:12]  * czajkowski tempts didrocks with some cake 
[08:12] <didrocks> ahah ;)
[08:13] <Laney> we can't flame without seb128 anyway :P
[08:14] <czajkowski> we've done the default language should be french and people didn't see the joke there
[08:14] <didrocks> they really took it seriously
[08:14] <jibel> ah, was it a joke?
[08:14] <didrocks> that was hilarious :)
[08:15] <czajkowski> didrocks: oh yes indeed so many threads were started with OMG...
[08:15] <czajkowski> amusing really
[08:15] <seb128> hey didrocks Laney pitti czajkowski, happy friday!
[08:15] <pitti> seb128: bonjour seb128, bon vendredi !
[08:15] <czajkowski> whooo Friday \o/
[08:15]  * Laney gets down
[08:15] <didrocks> hey seb128
[08:15] <pitti> seb128: tbird sucks! let's get evo back in
[08:16]  * czajkowski hands pitti some soap to wash his mouth out :)
[08:16] <pitti> I'm really missing my appointments in the indicator
[08:16] <czajkowski> pretty thunderbird is pretty
[08:16] <pitti> yeah, well, I guess it's still too early, I'm not really in flamebait mood yet
[08:16]  * pitti pats his mutt
[08:17] <czajkowski> pine ftw!
[08:17] <seb128> pitti, appointements in the indicator work ... did you try to install evo to see if that makes it work for you?
[08:18] <pitti> wohoo, getting serious now :)
[08:18]  * pitti installs evo
[08:18] <Mirv> didrocks: some feedback from the raring SRU btw.. ugly changelogs like some entries with only the automatic messages. should we start to clean those for SRUs if they still happen? as another note, the fixes are not yet in saucy ;)
[08:19] <didrocks> Mirv: can we handle that on Monday? TBH, completely spawn with saucy ;)
[08:19] <didrocks> Mirv: but yeah, if you have cases with only empty changelog, would be interesting to have the test case exactly
[08:20] <pitti> seb128: so I installed evolution (killed ~/.config/evolution, .cache, .local etc. before); I see my gcal stuff there
[08:20] <pitti> $ killall indicator-datetime-service
[08:20] <Laney> My manually added calendar still works but the UOA one is busted of course
[08:20] <Mirv> didrocks: yes, let's continue then, to check eg. if those were already fixed or could still happen
[08:20] <pitti> now I indeed see the appointments in the indicator
[08:20] <didrocks> Mirv: right :)
[08:21] <pitti> seb128: I killed evo and evo-alarm-notify, appointments in indicator still work
[08:21] <pitti> so indeed, installing evolution does some magic to make that work
[08:25] <seb128> pitti, well, to me the issue was that calendar needs credentials
[08:25] <seb128> but the indicator doesn't have an UI to ask for your password
[08:25] <seb128> so auth would just fail
[08:25] <pitti> hm, but UOA already knows the account
[08:26] <seb128> but that was before the online account integration time
[08:26] <seb128> right
[08:26] <pitti> empathy and gnome-documents just work then
[08:26] <seb128> seems like buggy still
[10:37] <czajkowski> chrisccoulson: I have your rain and cloud, please come and collect and bring it back up north!
[10:38] <chrisccoulson> lol
[10:38] <chrisccoulson> czajkowski, it's beautiful sunshine here
[10:38] <czajkowski> chrisccoulson: https://twitter.com/Crustyfur/status/342935384298225664
[10:38] <czajkowski> I'm right under that flippin' cloud!
[10:38] <chrisccoulson> hah :)
[10:39] <chrisccoulson> czajkowski, is it thundering? i'm only interested in collecting your weather system if it has thunder in it
[10:39] <czajkowski> yes we've had thunder
[10:39] <czajkowski> it scared the hens
[10:39] <chrisccoulson> ooh
[10:39] <czajkowski> they were very much unimpressed
[10:39] <chrisccoulson> feel free to send that up to the midlands ;)
[10:40] <czajkowski> the hens or the weather :)
[10:40] <chrisccoulson> czajkowski, just the bits of the weather that are thundering :)
[10:40] <czajkowski> bah
[10:56] <mhr3> seb128, if gee-0.8 and gee-1.0 exports the same symbols and libunity links with 1.0 and some other app that also uses libunity links with 0.8, will the dl be able to resolve all that?
[10:56] <seb128> mhr3, that seems like a recipe for troubles
[10:56] <mhr3> orly? :)
[10:56] <seb128> mhr3, you are likely up for symbol clash
[10:57] <seb128> mhr3, don't do that :p
[10:57] <mhr3> it's being done as we speak
[10:57] <seb128> :-(
[10:58] <seb128> mhr3, where did you find gee-1.0?
[10:58] <ricotz> mhr3, hi, yeah, that won't work
[10:58] <ricotz> seb128, hi
[10:59] <seb128> ricotz, hey
[10:59] <mhr3> seb128, libgee2 vs libgee0.8
[10:59] <seb128> mhr3, ah, 0.6 and 0.8 then
[10:59] <mhr3> seb128, yea, 0.6 has gee-1.0 as pc name
[10:59] <ricotz> mhr3, the whole runtime stack needs to use the same gee
[11:00] <mhr3> :/ let's prepare for some weird gee crashes then
[11:00] <seb128> mhr3, what is having the issue? empathy?
[11:01] <mhr3> seb128, anything that will use folks + libunity on S
[11:01] <mhr3> so yes, empathy comes to mind first
[11:01] <mhr3> unless they dropped libunity stuff
[11:01] <seb128> shrug
[11:02] <seb128> mhr3, any plan to port libunity to gee 0.8 or 0.10? ,-)
[11:02] <mhr3> if it becomes a real problem for us...
[11:03] <mhr3> the two gees are largely compatible so it might be a simple thing of s/gee-1.0/gee-0.8/
[11:03] <seb128> we should maybe directly go for 0.10
[11:04] <mhr3> or we could remove any gee stuff from libunity and just use glib containers
[11:04] <mhr3> you can do everything with list array and hashtable, no? :)
[11:04] <ricotz> seb128, 0.10 doesnt change api and is 0.8
[11:04] <seb128> ricotz, ok
[11:11] <maxiaojun> Can someone review the patch attached to this bug? https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/920834
[11:11] <ubot2`> Ubuntu bug 920834 in ibus (Ubuntu) "ibus cannot show icon in panel without appindicator" [Low,Confirmed]
[11:19] <maxiaojun> Can someone review the patch attached to this bug? https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/920834
[11:19] <ubot2`> Ubuntu bug 920834 in ibus (Ubuntu) "ibus cannot show icon in panel without appindicator" [Low,Confirmed]
[12:31] <jbicha> seb128: could you rebuild gtk3 for the wayland transition?
[12:32] <seb128> jbicha, yes, I've an upload planned anyway
[12:32] <seb128> does it rebuild without change?
[12:34] <jbicha> I haven't tried yet but it's breaking my attempts to build against -proposed
[12:42] <seb128> can you try?
[12:48] <jbicha> trying
[12:58] <davmor2> hey seb128 you might be able to help me with a quick question.  For apps.ubuntu.com/cat with have  a basic apt script that is run each day, it's been breaking recently due to faulty .desktop files noodles has filed a bug against the app and fixed the script so it no longer breaks. if we got a log of the .desktop issues though would be useful to you guys?
[12:59] <seb128> davmor2, hey, what sort of errors?
[13:00] <davmor2> seb128: it would pick up on any error that apt throws up for an app basically,  I think the issue was with a universe app where the .desktop file was laid out incorrectly off the top of my head,  but we need to pull in every app from all the standard repos basically
[13:01] <seb128> well, if you find error in .desktop shipped by packages sure open bugs
[13:02] <davmor2> seb128: okay that's great, so if we store a log of the issues and can file a bug for each one that is the way to go then yes?
[13:03] <seb128> correct
[13:08] <davmor2> seb128: that's great then thanks for your time :)
[13:08] <seb128> yw
[13:15] <jbicha> seb128: yes, the GTK3 desktop branch builds ok
[13:15] <seb128> jbicha, great, thanks for confirming
[13:51] <xnox> seb128: Laney: are you two implementing system settings designs for touch as per mpt's designs?
[13:52] <Laney> xnox: that's the idea
[13:52] <Laney> why?
[13:53] <seb128> xnox, not only us but yes
[13:53] <seb128> xnox, see https://blueprints.launchpad.net/ubuntu/+spec/client-s-system-settings-panels
[13:53] <xnox> Laney: i think I am on the hook for OOBE (out of the box experience) the wizard portion of it, which helps the user setup the phone: name, U1, timezone, language, etc.
[13:54] <xnox> which all well, call into system settings to implement those.
[13:54] <xnox> I also wonder if any design can be shared between the two, or at least the backend logic.
[13:54] <seb128> xnox, system settings doesn't provide APIs in the current design
[13:54] <seb128> we should yes
[13:54] <seb128> those seems like dbus calls
[13:54] <seb128> we should do a qt plugin to share
[13:54] <xnox> seb128: hmmm.... ok.
[13:54] <seb128> or maybe a settings-backend
[13:55] <xnox> seb128: it's just, unlike the desktop. OOBE will stay installed, in case user resets the phone. I even ponder if we should just be a single app/source package doing it all.
[13:56] <Laney> the idea of the settings stuff is to make reusable widgets as much as possible
[13:56] <desrt> pitti: hey.  tedg and i wanted to talk to you yesterday
[13:57] <desrt> pitti: we want to make apport collect a stacktrace and file a bug whenever a program hits a g_critical()
[13:57] <pitti> hey desrt
[13:57] <tedg> seb128, Do you know why the debian introspection policy wants the dev package to depend on the gir package?  It seems a bit odd to me.
[13:57] <desrt> pitti: we have a few ideas for ways to do this but your input is very appreciated
[13:58] <desrt> pitti: one of the most obvious ways is to do «if (fork()==0)abort();» on each critical
[13:58] <desrt> so apport will see the spawned child crashing and record its stacktrace
[13:58] <desrt> (which will be the same as the parent that reached the critical)
[13:58] <pitti> ah, that should actually work
[13:58] <pitti> easier than calling apport in glib
[13:58] <seb128> tedg, they are part of doing dev with the lib?  not really sure, but before that we had to duplicate lib/gir in build-depends for most packages
[13:58] <desrt> pitti: so the one problem with this is that we lose the other threads
[13:58] <pitti> desrt: however, please don't just call abort()
[13:59] <pitti> desrt: it would be good if we could salvage the actual message, otherwise the reports will be mostly useless
[13:59] <desrt> pitti: which i guess isn't _too_ important
[13:59] <pitti> desrt: i. e. set teh __glib_abortmsg or whatever the name was, so that we can pry it out of the core dump and use as the title and dupe signature
[13:59] <desrt> sounds good
[14:00] <desrt> pitti: so another question: you know we have these cases where you start a program and get like 2000 criticals all at once
[14:00] <desrt> how is apport/lp going to like that?
[14:00] <pitti> apport has a rate limit
[14:00] <desrt> does it do deduping before filing bugs?
[14:00] <pitti> you can only have one unseen report per user and program
[14:00] <desrt> oh.  neat.
[14:01] <tedg> pitti, Actually ev is looking at fixing that.
[14:01] <pitti> and after you saw the report (i. e. in the apport popup), you can only have three reports per program and user and day
[14:01] <pitti> tedg: fixing what?
[14:01] <desrt> pitti: perfect
[14:01] <tedg> pitti, Making it per signature
[14:01] <pitti> urgh, no!
[14:02] <desrt> pitti: what is the absolute best way for me to crash the program in the fork?  abort() after setting that variable?
[14:02] <pitti> desrt: so at least for now we'd get them trickle in, instead of one huge blast
[14:02] <pitti> which is probably good, since often one has followup criticals
[14:03] <desrt> indeed -- and you always want the first one
[14:03] <desrt> although that is an interesting point....
[14:03] <pitti> desrt: abort() sounds nice, SIGABRT is more appropriate to this than a SIGSEGV or so
[14:03] <Guest52607> you guys do know that some of our programs spew a lot of criticals, right?
[14:03] <desrt> there is a possible race here if you fork() off a bunch of things all at once in response to a set of criticals
[14:03] <desrt> the second fork() may get to the abort() first
[14:04] <pitti> desrt: you could either re-use the g_assert() code of setting that variable and then fork and do the action that it would do as if it was fatal
[14:04]  * desrt wonders if abort() is signal-handler-safe
[14:04] <pitti> desrt: fork() and wait() ?
[14:04] <desrt> pitti: interesting.
[14:04] <pitti> desrt: I don't think you want to write a massive number of core files in parallel anyway, so serialization sounds safer to me
[14:05] <desrt> pitti: we already have an established convention that if (fork()) { wait() } else { exit() } is non-blocking
[14:05] <pitti> desrt: at least we should start small
[14:05] <desrt> since g_spawn_async_with_pipes() does exactly this
[14:05] <danwest> Bug 1173818: "Unable to set solid colors and gradients as desktop background" - anyone know a workaround or status on this bug?
[14:05] <ubot2`> Launchpad bug 1173818 in gnome-control-center-unity (Ubuntu) "Unable to set solid colors and gradients as desktop background in gnome-control-center" [Undecided,Confirmed] https://launchpad.net/bugs/1173818
[14:05] <desrt> (it creates an intermediate helper process and waits for it to quit in order to know if the exec() was successful)
[14:06] <desrt> also so it can preemtively reap...
[14:06] <desrt> pitti: another option is that we only fork/abort the first time
[14:06] <desrt> i like your wait idea, though
[14:06] <pitti> desrt: just thinking aloud, could the child set the fatal flag, and just call g_critical() again, with the same message?
[14:06] <desrt> pitti: definitely not
[14:06] <pitti> desrt: that would avoid copying the assert msg logic
[14:07] <pitti> ah, it woudl duplicate teh screen output
[14:07] <desrt> pitti: after fork() in a threaded program you are in a dangerous spot
[14:07] <desrt> when you fork() only the thread that made the syscall is brought into the new process image
[14:07] <desrt> and the other threads may have been holding locks
[14:07] <desrt> so you can't do anything that may try to acquire a lock
[14:07]  * ogra reads didrocks mail and wonders who cares about unity7 .... we want unity8 !
[14:07] <desrt> ie: you should limit yourself to syscalls and libc "signal-handler-safe" functions
[14:08] <didrocks> ogra: don't tell that I spent all those crazy hours for nothing :p
[14:08] <didrocks> ogra: but but, you have touch as well!
[14:08] <ogra> you mean unity8 ?
[14:08] <pitti> desrt: right; so poke the message into __glib_assert_msg and abort(), and the parent wait()s, that sounds feasible to me
[14:08] <desrt> pitti: great
[14:09] <desrt> tedg: since you brought this topic, do you want to write the patch?  this sounds like something we'd be happy to have upstream now...
[14:09] <desrt> i'm happy to do it as well, though
[14:09] <pitti> desrt: NB that each critical will incur a significant delay, though
[14:09] <pitti> as writing and compressing the core dump takes a while
[14:09] <desrt> pitti: and the parent doesn't get SIGCHLD until that is done?
[14:10] <pitti> desrt: apport fortunately already has this new class "RecoverableError" which we can use for this (as it's not really a crash)
[14:10] <desrt> pitti: ya... this is what ted was originally using
[14:10] <pitti> desrt: no, the child needs to hang in limbo until the kernel finished coredumping it
[14:10] <desrt> and spawning apport directly to report it
[14:10] <desrt> but it lacked a proper trace
[14:10] <desrt> so we're trying to figure out how to get that
[14:11] <desrt> pitti: hmmmmmm
[14:11] <pitti> we are going to get looots of those, though :)
[14:11] <tedg> So in my original patch I turned it on with an env var.
[14:11] <tedg> Basically so that we could ramp up slowly
[14:11] <desrt> i think that's a fairly reasonable idea
[14:11] <pitti> so maybe at first we should limit it to some packages, or never send these to LP, but only to errors
[14:11] <desrt> G_DEBUG=fork-criticals or so
[14:12] <pitti> ^ indeed
[14:12] <pitti> it's bad to decide it in apport, as at this point the overhead has already happened
[14:12] <tedg> desrt, In the short term I need to finish off some HUD stuff... so if you've got time now, go ahead.  Otherwise I'll get to it.
[14:12] <desrt> so another interesting idea may be to do an async wait for the child
[14:12] <desrt> by scheduling a task for it on the glib worker thread
[14:12] <desrt> and don't emit another one until the child has finished for the first
[14:12] <desrt> this would probably also implicitly rate-limit the case of 2000-criticals-on-start
[14:13] <desrt> it makes me a bit nervous to do all of this work from the critical handler (since something is probably wrong if we're at that point) but as long as we fork() off the crashing image _before_ we do this fancy stuff, we won't risk contaminating the trace
[14:14] <pitti> desrt: err, but you are going to get the child's core, not the uncontaminated parent's
[14:14] <desrt> correct.
[14:15] <desrt> i think we have a misunderstanding
[14:15] <desrt> i'm doing the comtaminating work in the parent
[14:15] <desrt> in order to keep track of when it's 'safe' to launch another child
[14:15] <pitti> oh, right, sorry
[14:15] <pitti> yes
[14:16] <desrt> okay.  sounds good
[14:16] <desrt> thanks for the infos
[14:16]  * desrt will probably have a patch for this today
[14:16] <desrt> it's actually pretty easy
[14:16] <tedg> desrt, You took out all the hard stuff by making apport do the stack trace ;-)
[14:17] <desrt> tedg: that was my plan all along
[14:17] <desrt> apport will be able to get a better stacktrace than we could ever get by introspecting ourselves
[14:17] <desrt> and it'll be able to retrace it as well
[14:20] <pitti> desrt: can we prefix the assertion message in some way?
[14:21] <Laney> tjaalton: Looks like your wayland sync isn't quite right
[14:21] <pitti> desrt: I'm thinking, with a glib assert msg and SIGABRT apport will usually treat it as a normal assertion violation and file it as a crash
[14:21] <Laney> file conflict :-)
[14:21]  * Laney fixes
[14:21] <pitti> desrt: so we need some way to tell these apart, perhaps with a string prefix (or does it already start with *-CRITICAL?) or perhaps we use a different signal
[14:21] <tjaalton> Laney: oh?
[14:22] <Laney> tjaalton: Check the version on the Conflicts/Replaces and what we had in Ubuntu before
[14:22] <tjaalton> ahh..
[14:23] <Laney> pitti: Did packagekit get rolled back alright? (i.e. can I remove that block?)
[14:23] <pitti> Laney: yes, it was
[14:23] <pitti> Laney: it was rather easy in the end, three removals and one rebuild
[14:24] <Laney> excellent
[14:24] <Laney> didn't think it would be too hard
[14:24] <Laney> proposed makes doing that kind of thing more feasible
[14:24] <pitti> OMGyes
[14:24] <pitti> I'm so happy we have this thing
[14:24] <pitti> (in a multitude of ways)
[14:25] <pitti> putting something in between dput, "ohsh**", and "why did that FTBFS not happen in my sbuild" :)
[14:25] <desrt> pitti: so you're going to have g_messages_fork_critical() in the backtrace
[14:25] <pitti> desrt: ah, good 'nuff
[14:26] <pitti> well
[14:26] <pitti> provided that the machine has glib debug symbols
[14:26] <pitti> so maybe not
[14:26] <desrt> pitti: explain this other variable to me
[14:26] <desrt> __glib_assert_msg
[14:26] <pitti> desrt: that is _the_ variable, what's the other one?
[14:26] <desrt> what is that and how do you get access to it if there are no debug symbols?
[14:27] <pitti> desrt: oh, see commit 3658727c; perhaps you saw __abort_msg
[14:27] <desrt> right.  interesting.
[14:27] <desrt> but it's not marked as exported
[14:27] <desrt> so... how does that work?
[14:28] <pitti> desrt: well, you can only set it from inside glib
[14:28] <desrt> pitti: i mean, how does apport find it?
[14:28] <pitti> call gdb with 'print __glib_assert_msg'
[14:28] <desrt> and that works with no debug symbols?
[14:28] <desrt> this confuses me because it's not on the dlsym table either
[14:28] <desrt> so i don't know how it would find it...
[14:29] <pitti> hm, good question; the retracer will of course figure it out, but maybe not the initial apport run on the client side, indeed
[14:29] <desrt> ahhh
[14:29] <pitti> ah, I wasn't actually aware of that -- apport's autopkgtest has a dependency on glib-dbg
[14:29] <desrt> right.. so good enough for the retracer
[14:29] <pitti> I guess for that very reason
[14:30] <desrt> so that means that you can't tell the difference at bug-filing time
[14:30] <pitti> that makes it kinda impossible for client-side duplicate detection, but at least we can do it on the server side
[14:30] <pitti> i. e. all that we see on the client is a SIGABRT and a core
[14:30] <desrt> we could also distropatch glib to export this symbol on the .so in ubuntu
[14:30] <desrt> or maybe even discuss doing that upstream
[14:30] <pitti> or install glib's -dbg by default (but not sure how well taht would go)
[14:31] <desrt> pitti: did you see this minidebug stuff?
[14:31] <pitti> desrt: minidump? yes, a few years ago at least
[14:31] <desrt> no.  minidebuginfo
[14:31] <desrt> http://fedoraproject.org/wiki/Features/MiniDebugInfo
[14:31] <desrt> it's this neat idea that alex had
[14:31] <pitti> no, I haven't seen that
[14:31] <desrt> turns out that you can include some basic debug info (symbols only) in the default install for a very very small size cost
[14:32] <desrt> like +0.5%
[14:33] <desrt> i think we should seriously consider doing this
[14:34] <pitti> at least for libc and glib that sounds interesting indeed
[14:34] <pitti> as these will appear pretty much everywhere
[14:34] <pitti> and qt
[14:34] <desrt> for those, i'd include even more data
[14:34] <desrt> i think maybe this doesn't impact us as much as it does fedora because we have a good retracer
[14:34] <desrt> but it would definitely improve our ability to do client-side matching
[14:35] <pitti> desrt: ^ perhaps not even that
[14:35] <pitti> we still have the address signature
[14:35] <pitti> which usually works well enough for the client-side
[14:35] <desrt> pitti: well... for __glib_assert_msg, for example :)
[14:35] <pitti> even though it's a "magic" abort, it's still an abort on a specific place in the code
[14:35] <pitti> so client-side dupling on SAS should still work
[14:36] <pitti> yeah, we cannot figure out the contents of the message on the client side, but we can tell that we know about it in errors/LP
[14:36] <pitti> and the retracers figure out the rest
[14:36] <desrt> fair enough
[14:36] <desrt> but you still have the problem that you want to know the difference between a real crash and a critical on the client side, right?
[14:37] <pitti> SAS is not an one-to-one mapping of course, as the addresses are different between architectures and builds, but the other day I did an analysis
[14:37] <pitti> and it turned out that the vast majority of crashes only have 3 to 5 SASes, with the topmost having 20 or so
[14:37] <pitti> desrt: right, that would be good, to know what to show to the user
[14:37] <desrt> SaS = stacktrace as-a service? :)
[14:37] <pitti> StacktraceAddressSignature
[14:38] <desrt> pitti: i guess you have some magic in there to derandomise the addresses based on the base address of the library
[14:38] <pitti> desrt: yes
[14:38] <desrt> like you match on libglib-2.0.so+0x2342
[14:39] <desrt> pitti: anyway... how would you like to find out about the nature of the crash?
[14:39] <desrt> i could SIGTRAP instead of SIGABRT
[14:40] <pitti> a different symbol would definitively help
[14:40] <desrt> afaik, sigtrap is still fatal and core-producing by default
[14:40] <pitti> or something in /proc
[14:40] <desrt> pitti: but we're back to the same problem about symbol visibility...
[14:41] <pitti> $ sh -c 'kill -TRAP $$'
[14:41] <pitti> yep, apport coming up
[14:41] <pitti> desrt: hm, if you set an environment variable that doesn't reflect in /proc/self/environ AFAIR, right?
[14:41] <desrt> i don't think so
[14:41] <desrt> and i don't want to manipulate the environment
[14:42] <desrt> this is _definitely_ not signal-handler-safe
[14:42] <desrt> i could open a file and that would show in /proc/self/fds/
[14:42] <desrt> but this is getting gross
[14:42] <pitti> hah
[14:42] <desrt> creat("/tmp/not-a-real-crash-kthx");
[14:43]  * pitti looks in /proc/self whether there's something else fungible
[14:44] <desrt> #if (defined (__i386__) || defined (__x86_64__)) && defined (__GNUC__) && __GNUC__ >= 2
[14:44] <desrt> #  define G_BREAKPOINT()        G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END
[14:44] <desrt> i like this.
[14:44] <desrt> #else   /* !__i386__ && !__alpha__ */
[14:44] <desrt> #  define G_BREAKPOINT()        G_STMT_START{ raise (SIGTRAP); }G_STMT_END
[14:45] <desrt> i consider that this is going to be ?@#$ annoying if you try to run under a debugger....
[14:45] <pitti> https://bugs.launchpad.net/bugs/+bugs?field.searchtext=SIGTRAP
[14:46] <pitti> wow, we actually have exactly one crash report with TRAP
[14:46] <pitti> no, two
[14:46] <desrt> the compiz ones?
[14:46] <pitti> and bug 178959
[14:46] <ubot2`> Launchpad bug 178959 in GtkHTML "evolution crashed with SIGTRAP (assertion failed)" [Critical,Confirmed] https://launchpad.net/bugs/178959
[14:46] <pitti>  (aaancient)
[14:47] <desrt> wtf
[14:47] <desrt> why would there be sigtrap in g_logv?
[14:47] <pitti> oh, that's not an apport report
[14:48] <pitti> let's consider this a human typo in the description
[14:48] <desrt> signal 5 (SIGTRAP)
[14:48] <desrt> that's one hell of a typo :)
[14:48] <pitti> and the compiz one is signal 5
[14:48] <desrt> 5 is trap
[14:48] <pitti> desrt: no, I mean the gtkhtml crash
[14:48] <desrt> 6 is abrt
[14:48] <desrt> ahh
[14:48] <desrt> my question stands
[14:48] <desrt> how the heck do we get signal 5 here?
[14:48] <pitti> right; no idea
[14:49] <desrt> so the code has
[14:49] <desrt> if (!(test_level & G_LOG_FLAG_RECURSION)) G_BREAKPOINT ();
[14:49] <desrt> ie: compiz probably installs a custom log message handler that, itself, is causing criticals to be emitted
[14:50] <desrt> no wait.  that's backwaqrds.
[14:50] <Laney> tjaalton: ok, uploaded that wayland fix. It's probably something we need to carry for a while unfortunately.
[14:50] <pitti> desrt: so, one in a million sounds like an acceptable false positive rate for determining that's a "recoverable error", but of course it's still a hack
[14:51] <desrt> pitti: anything we do is a hack short of defining some new symbol that the debugger will definitely see
[14:51] <pitti> hm, I guess we shouldn't set errno, that might be interesting in some cases
[14:51] <tjaalton> Laney: yeah.. thanks
[14:51] <pitti> desrt: yeah, I agree; if we want to see it without debug symbols we need to export it properly, right? or add a public function to return __glib_assert_msg
[14:52] <pitti> in which case we can just as well have a __glib_critical_msg and a function for that
[14:52] <pitti> to avoid the string/stack trace heuristics
[14:52] <desrt> i'd prefer variables to functions
[14:52] <desrt> and export them, but not put them in any header
[14:52] <pitti> variables are writable outside, though
[14:53] <pitti> or that, yes
[14:53] <pitti> so gdb can see them, but not C code
[14:53] <desrt> right
[14:53] <desrt> if someone wants to do something very evil from C, of course they could
[14:53] <desrt> but... srsly?
[14:53] <pitti> well, there is very little that you can't do from C :)
[14:53] <desrt> (although i shouldn't speak... glib was doing the same evil thing to lib until your patch)
[14:54] <desrt> *to libc
[14:55] <pitti> so, a new exported variable sounds like a clean solution to me; opening fds, defining a new signal number (424242) or messing in /proc/ all seem like gross hacks to me
[14:55] <desrt> okay.  i'll do that, then
[14:56] <desrt> i also need to figure out how we will handle being run under gdb in the future when we want this feature on-by-default
[14:56] <pitti> desrt: how would that be a probleM?
[14:56] <desrt> since fork()ing on a critical under gdb is .... not helpful
[14:56] <pitti> oh, right
[14:56] <desrt> maybe we can detect gdb somehow
[14:56] <desrt> we already have code to detect valgrind
[14:56] <pitti> I was going to say, gdb intercepts the signals, but I forgot about the fork
[14:57] <pitti> desrt: can you tell whether you are being ptraced?
[14:57] <desrt> i suppose we could try ptracing ourselves and see if that fails =)
[14:57] <desrt> although this is going to work very badly on ubuntu
[14:58] <desrt> since upstart does its cgroups-in-userspace by using ptrace to watch the fork() calls that the processes that it spawns are doing
[14:58] <desrt> so we may mistakenly conclude that we are under a debugger when we're not
[15:01] <pitti> hm, I wonder whether a process under gdb has prctl(PR_GET_DUMPABLE) == false, but I guess not
[15:01] <pitti> (as it's already being traced)
[15:01] <desrt> indeed
[15:01] <desrt> gdb can just intercept the signal at the ptrace level
[15:01] <desrt> and the process never gets a chance to dump
[15:01] <desrt> i wonder if upstart has any plans to move to using cgroups...
[15:02] <desrt> because checking if you're under ptrace is really the best way...
[15:02] <desrt> and what upstart is currently doing is a pretty bad hack
[15:02] <pitti> (gdb) call prctl(3,0,0,0,0)
[15:02] <pitti> $1 = 1
[15:02] <pitti> yep, so we can't use PR_GET_DUMPABLE
[15:03] <desrt> some discussion on the topic from scott: https://lists.ubuntu.com/archives/upstart-devel/2012-May/001877.html
[15:03] <desrt> doesn't look like it went anywhere, though
[15:03] <desrt> also a blueprint https://blueprints.launchpad.net/ubuntu/+spec/foundations-q-upstart-overcome-ptrace-limitations
[15:04] <bcurtiswx> hmm, why is my saucy box trying to install wayland ?
[15:04] <bcurtiswx> :P
[15:05] <bcurtiswx> well actually, it fails to install those
[15:05] <Laney> I bet it's trying to upgrade it
[15:05] <bcurtiswx> hrmm
[15:05] <Laney> and don't run with -proposed
[15:06] <Laney> (gtk already depended on libwayland in raring)
[15:07] <bcurtiswx> Laney, is using -proposed broken right now?
[15:07] <Laney> You shouldn't ever be using -proposed in the development release
[15:07] <Laney> it's for computers not people
[15:08] <bcurtiswx> Laney, interesting that i never knew that. thanks
[15:08] <pitti>  bcurtiswx: yeah; almost by definition, stuff in -proposed is guaranteed to be broken
[15:08] <Laney> (not that anything automatic would have caught that upgrade failure)
[15:09] <pitti> because as soon as it stops being broken, it moves to saucy
[15:09] <Laney> (luckily I /am/ running proposed in an lxc container so noticed it)
[15:11] <bcurtiswx> well, hopefully I keep that as my only oops moment for today :P
[15:17] <bcurtiswx> i see the changes in unity. but when i left click an icon after clicking my ubuntu icon on top it opens up the info instead of just loading the app
[15:18] <tedg> Anyone getting crashes in unity-panel-service?
[15:18] <Laney> bcurtiswx: same
[15:18] <Laney> please report it!
[15:18] <tedg> Looking at it now, but I had to rename the binary to make my machine usable.
[15:18] <bcurtiswx> ok will do
[15:18] <bcurtiswx> unity package right?
[15:20] <Laney> sounds like a good place to start
[15:20] <sil2100> tedg: crashes?
[15:20] <tedg> sil2100, Yes
[15:20] <sil2100> tedg: we noticed a crash in unity-panel-service when indicator-network was installed
[15:21] <sil2100> tedg: but it was a type of crash that 'was breaking the panel infinitely'
[15:22] <tedg> Hmm, I do have it installed.  perhaps removing it would make it usable for a bit.
[15:22] <bcurtiswx> Laney is that called the dash?
[15:23] <bcurtiswx> im not up on my official terms (i should be)
[15:23] <tedg> sil2100, Cool, that fixed it.  And shows where the error is :-)
[15:23] <Laney> bcurtiswx: yeah
[15:23] <sil2100> tedg: ;)
[15:23] <sil2100> tedg: could you take a look at that?
[15:24] <tedg> larsu, What's blocking the new .indicator loading?  I'm not sure fixing the old indicator-ng is worth it with updates in the pipe.
[15:25] <larsu> tedg: nothing. Didn't it get merged yet?
[15:25]  * larsu checks
[15:25] <larsu> jenkins complained, and you set it to approve but it didn't autoland
[15:26] <larsu> is libindicator not set up for that?
[15:26] <larsu> anyway, I'll merge it manually
[15:26] <bcurtiswx> Laney, bug #1188656
[15:26] <ubot2`> Launchpad bug 1188656 in unity (Ubuntu) "Left clicking on Unity dash icons acts the same as right clicking" [Undecided,New] https://launchpad.net/bugs/1188656
[15:26] <larsu> tedg: thanks for the reminder
[15:26] <tedg> larsu, Hmm, I thought it was...
[15:26] <tedg> larsu, Grab the ido branch as well :-)
[15:29] <larsu> tedg: that one was merged, no?
[15:29] <tedg> larsu, I was meaning call-ido-init in libindicator.
[15:29] <larsu> tedg: ah, right. Will do!
[15:33] <sil2100> cyphermox: ping
[15:34] <Laney> bcurtiswx: ty
[15:34] <Laney> keyboard works well btw
[15:34] <bcurtiswx> Laney, yw
[15:34] <cyphermox> sil2100: sup
[15:34] <Laney> ooh, my git svn clone of glib is getting close to finishing
[15:34] <Laney> only 2 days later
[15:34] <sil2100> cyphermox: hello! I have a question ;)
[15:34] <sil2100> cyphermox: siiince, hm, I checked the FAQ and I wanted to re-deploy a stack
[15:35] <cyphermox> sil2100: can you please get to the point?
[15:35] <sil2100> cyphermox: but besides using the cu2d-update-stack it is said there to ping some archive admin
[15:35] <cyphermox> oh right
[15:35] <sil2100> cyphermox: is that still required?
[15:35] <cyphermox> yeah, if you add a package, you need to ask someone to update some rsync file on lillypilly as far as I know
[15:36] <cyphermox> didrocks should have been well aware of the details :)
[15:36] <sil2100> Yes, he's gone now - since I think I need to redeploy the platform stack, as I need dbus-cpp-dev to get a merge in
[15:36] <sil2100> But that stack adds new packages right now
[15:37] <larsu> tedg: done
[15:38] <sil2100> cyphermox: so, should I wait for didrocks for the stack redeployment, or maybe you would be able to help in some way?
[15:38] <cyphermox> I'm not an archive admin ... I can't do it
[15:38] <cyphermox> seb128: ?
[15:39] <tedg> larsu, Great, hopefully that'll fix this indicator-network issue.
[15:39] <sil2100> On second thought
[15:39] <larsu> tedg: oops, test suite doesn't pass. I'll have a fix before the daily merge ;)
[15:39] <seb128> cyphermox, what do you need?
[15:39] <sil2100> I think I'll try getting it in somehow else, since once it's redeployed, it will automatically get auto-released daily
[15:40] <sil2100> cyphermox, seb128: so maybe for now let's leave things as they are
[15:40] <cyphermox> seb128: ... sil2100 needs some cu2d stuff fixed up
[15:40] <seb128> cyphermox, why do you need and archive admin for that?
[15:40] <cyphermox> sil2100: you shouldn't have to need any of this unless you add a project
[15:40] <cyphermox> seb128: ask didrocks, there is some file that needs to be updated apparently
[15:40] <sil2100> cyphermox: there are some projects added, since I see dbus-cpp added and location-service
[15:41] <sil2100> seb128: yes, at least the FAQ says so!
[15:41] <sil2100> https://wiki.ubuntu.com/DailyRelease/FAQ#Adding.2BAC8-removing_components_to_a_stack
[15:41] <sil2100> But for now I think I'll stay clear of that
[15:42] <seb128> ok
[16:06] <pitti> bonsoir tout le monde, profiter du week-end !
[16:09] <tedg> attente, So I've now got unity-gtk2-module from the repos and xchat-gnome isn't exporting its menus anymore.
[16:09] <tedg> attente, Is that known?
[16:11] <attente> tedg, not known, looking into it
[16:12] <attente> tedg, are you getting the double menu bar problem?
[16:12] <Laney> it's the same gtk2 problem isn't it?
[16:12] <attente> Laney, appears so
[16:12] <Laney> seb just uploaded for that
[16:13] <attente> ok, cool, thanks Laney
[16:15] <tedg> Ah, yes, I didn't check up top when it was in the app.
[16:16] <attente> tedg, yeah, sorry about that, that was a known problem after all
[16:23] <Bubbles> any way to get medibuntu to work on a fresh reload of lucid?
[16:30] <ogra> would probably be clever to ask this in a medibuntu channel somewhere :)
[16:47] <desrt> pitti, tedg: https://bugzilla.gnome.org/show_bug.cgi?id=701800
[16:47] <ubot2`> Gnome bug 701800 in general "a new approach to reporting critical errors" [Normal,New]
[16:49] <tedg> desrt, Probably should do it on LOG_LEVEL_ERROR as well.
[16:49] <desrt> tedg: error will always abort
[16:49] <desrt> so we don't need to
[16:50] <tedg> desrt, Ah, okay.
[16:53] <bschaefer> Sarvatt, hey, thanks for pushing new versions up of unity up to that ppa :)
[16:59] <bcurtiswx> mhr3, re: bug #1188656, why would people have to one-click the left bar icons to open them but double-click dash icons to open them? What was the rationale for making it double-click now?
[16:59] <ubot2`> Launchpad bug 1188656 in unity (Ubuntu) "Left clicking on Unity dash icons acts the same as right clicking" [Undecided,Confirmed] https://launchpad.net/bugs/1188656
[17:00] <mhr3> bcurtiswx, you're targetting your questions at wrong person
[17:00] <mhr3> bcurtiswx, design wanted, so we made it so
[17:01] <bcurtiswx> mhr3, interesting. thanks :)
[17:01] <mhr3> bcurtiswx, feel free to mail to unity-design :)
[17:02] <bcurtiswx> mhr3, would that be better than commenting in the bug?
[17:02] <bschaefer> bcurtiswx, hmm left clicking a launcher icon opens it if its not opened, or focuses the last focused window...
[17:03] <bschaefer> mhr3, o it was a design change?
[17:03] <bschaefer> geez
[17:04] <bcurtiswx> im in slight shock, actually, thats a pretty big change IMO
[17:05] <mhr3> bschaefer, yep
[17:05] <mhr3> anyway, /me out
[17:05] <bschaefer> mhr3, have a good weekend :)
[17:05] <bcurtiswx> good weekend mhr3
[17:05] <bschaefer> also yay for smart scopes :)