[10:04] <alan_g> alf_: content with answer? https://code.launchpad.net/~kdub/mir/current-buffer-id-fix/+merge/275986
[10:06] <alf_> alan_g: yes
[11:14] <alan_g> alf_: my kms problem from yesterday. I find that DRM_MODE_DISCONNECTED gets set in reset() after the "connector = resources.connector(connector_id);". Any thoughts?
[12:05] <greyback_> RAOF: http://pastebin.ubuntu.com/13123486/
[12:10] <RAOF> Ta
[12:40] <alf_> alan_g: @kms, this seems normal, it gets the latest state from the hardware
[12:42] <alan_g> alf_: so we're aborting because the hardware state is unexpected?
[12:46] <alf_> alan_g: yes, but the thing is that we shouldn't be trying to set the crtc on a disconnected connector, so the problem may be at a higher level
[12:46] <alf_> alan_g: do the instructions for reproducing this still stand?
[12:47] <alf_> alan_g: (using the two branches over trunk)
[12:47] <alan_g> alf_: yes. Or use your fix-1511798 branch, in which case you also have to stop the nested server before seeing the crash
[12:48] <alan_g> BTW one of those branches has landed
[12:50] <alf_> alan_g: ok, I will give it a go
[12:51] <alan_g> alf_: thanks.
[12:58] <alan_g> alf_: I know this is "wrong" but it seems to workaround problems:
[12:58] <alan_g> -    connector = resources.connector(connector_id);
[12:58] <alan_g> +    if (!connector || (new_connector && new_connector->connection == DRM_MODE_CONNECTED))
[12:58] <alan_g> +        connector = std::move(new_connector);
[13:03] <alan_g> Hmm, missed a "+    auto new_connector = resources.connector(connector_id);"
[13:04] <alf_> alan_g: ack
[14:16] <alan_g> alf_: any thoughts on my kms problem?
[14:21] <alf_> alan_g: with the alternative fix I was able to reproduce only once, further attempts worked fine.
[14:24] <alan_g> Without the patch to reset() I've been getting it consistently.
[14:25] <alf_> alan_g: just to make sure, instructions are: sudo gdb --args bin/mir_demo_server --window-manager system-compositor --display-config sidebyside --vt 1 --arw-file --on-fatal-error-abort --display-report log
[14:25] <alf_> alan_g: plug in screen
[14:25] <alan_g> alf_: oh! I'm testing on V+, are you on Wily?
[14:26] <alf_> alan_g: yes
[14:26] <alf_> alan_g: wily
[14:27] <alf_> alan_g: 3. bin/mir_demo_server.bin --host /tmp/mir_socket --display-config sidebyside
[14:27] <alf_> alan_g: 4. bin/mir_demo_standalone_render_surfaces --no-file --host-socket /run/user/1000/mir_socket --display-config single
[14:27] <alf_> alan_g: Then ctrl-c (4) and (3)
[14:27] <alan_g> step 3 s/.bin//
[14:28] <alan_g> Otherwise yes
[14:31] <alan_g> So it could be specific hardware, or the OS drivers
[14:55] <alf_> alan_g: It's likely that this is HW/driver related problem, because getting DRM_MODE_DISCONNECTED for a screen that is clearly plugged in, is not something Mir could really affect or mess up (unless there is memory error somewhere).
[14:57] <alf_> alan_g: @alternative fix, your concern is that although it passes the tests it doesn't have the desired effect in the above scenario (ctrl-c render surfaces), correct?
[14:58] <alan_g> yes. At least my concern is I don't understand why (yet).
[14:58] <alf_> alan_g: so, I take it that you are investigating this?
[14:59] <alan_g> currently tracing through the code
[15:00] <alf_> alan_g: ok, then I will do something different for now, but let me know if you need me to try something
[15:01] <alan_g> alf_: thanks. You said you also saw the kms issue sometimes? Is it worth MPing my workaround?
[15:08] <alf_> alan_g: I think it may break monitor disconnects in some cases (it won't update the connector if the monitor has been really disconnected), so I am hesitant to include it
[15:09] <alan_g> yeah. I hate having Mir crash as a result though.
[15:21] <alf_> alan_g: We could try to be more forgiving of incorrect set_crtc() calls, e.g., log a warning instead of aborting
[15:21] <alf_> alan_g: (incorrect => failed)
[15:23] <alan_g> alf_: when I've finished handling interrupts and investigating your alternative fix I'll try to find something more plausible.
[15:25] <alf_> alan_g: ack, from a quick look I think 1. logging a warning + returning false in mgm::RealKMSOutput::set_crtc() and 2. not aborting in mgm::DisplayBuffer::set_crtc() should do the trick, but perhaps there are other points we need to update
[15:25] <alf_> alan_g: I would propose the changes myself, but I can't really test if it helps for your use case
[15:27] <alan_g> \o/ alf_: I understand the difference - AbstractShell::focus_next_session() is selecting the dying surface's titlebar. (And that doesn't exist in the core WM that gets tested.)
[15:31] <alf_> alan_g: great
[16:00] <alan_g> alf_: should I start another loop by taking your alternate fix and MPing the changes?
[16:01] <alf_> alan_g: fine with me
[18:32] <mcphail> bschaefer: ping
[18:32] <bschaefer> mcphail, pong
[18:32] <mcphail> Hi - are you still working on SDL2 for mir?
[18:33] <bschaefer> mcphail, when its needed, or when a bug comes up
[18:33] <bschaefer> mcphail, any bugs?
[18:33] <mcphail> do you have a link for a version which works with the current Mir libs on the phone?
[18:33] <bschaefer> mcphail, yeah: https://code.launchpad.net/~brandontschaefer/libsdl/update-mir-new-abi-api/+merge/276578
[18:33] <bschaefer> thats the patch
[18:33] <mcphail> Ta muchly!
[18:33] <bschaefer> for SDL2 to then new mir API
[18:33] <bschaefer> mcphail, here is the the actual branch:
[18:34] <bschaefer> https://code.launchpad.net/~brandontschaefer/+junk/SDL2-new-mir-ABI
[18:34] <bschaefer> so you dont have to apply the patch, its already applied
[18:34] <mcphail> slvn_: ^^
[18:34] <mcphail> bschaefer: you are a hero
[18:34] <bschaefer> np, poke me if theres any issues!
[18:34] <slvn_> thanks !
[18:34] <mcphail> bschaefer: will do
[18:35] <mcphail> bschaefer: slvn_ is going to bring us some new games!
[18:35] <bschaefer> sweet!
[18:35] <bschaefer> slvn_, if it works on arm you can post on that MP that you've tested it and all :)
[18:35]  * bschaefer needs to double check it works on the phone
[18:36] <bschaefer> IIRC it does...but i dont remember
[18:36] <slvn_> what is MP ?
[18:37] <slvn_> bschaefer, a few month ago my games where working with the SDL / mir backend
[18:37] <bschaefer> merge proposal
[18:37] <bschaefer> yup, until mir 0.14 and greater :)
[18:37] <bschaefer> all i did was move to the new API/ABI
[18:37] <bschaefer> https://code.launchpad.net/~brandontschaefer/libsdl/update-mir-new-abi-api/+merge/276578
[18:37] <bschaefer> the MP ^
[18:38] <mcphail> do we still need to --disable-shared-mir when building?
[18:38] <bschaefer> mcphail, you shouldnt
[18:38] <slvn_> Ok ! yes, we found out with mcphail that api function where missing / renamed because of the new api
[18:38] <bschaefer> the only reason that was needed, was because it was broken :)
[18:38] <mcphail> ha!
[18:38] <bschaefer> ie. functions didnt line up
[18:38] <bschaefer> (they kept changing MirBool to bool and back and forth)
[18:38] <bschaefer> and would keep the dynamic loading from not working