/srv/irclogs.ubuntu.com/2013/07/11/#upstart.txt

=== erkules_ is now known as erkules
jodhxnox: hi - could you take a look at https://code.launchpad.net/~jamesodhunt/upstart/bug-1199778/+merge/174138 when you get a moment?12:51
xnoxjodh: reviewed. Slightly confused why we need those three asserts =) looks like a timebomb waiting to explode.13:25
jodhxnox: thanks. I disagree about the timebomb bit though :)14:30
xnoxjodh: so what are we asserting?14:31
jodhxnox: MP updated14:31
xnoxlooking14:31
xnoxjodh: so you are saying it is only valid to deserialise to a completely blank state? why would that be necessary?14:33
xnoxjodh: i can write a unit test that does 3 deserialise_all in a row and check that objects are correctly replaced?14:34
jodhxnox: yes, it's only valid to deserialise from a blank state.14:36
xnoxjodh: and if the state is not blank, state_from_string should return error code less than 0, error condition should run - write out state_write_file, and dumn re-exec should have been run.14:40
xnoxs/dumn/dump/14:40
xnoxmy understanding was that stateful re-exec should give up, under failure conditions.14:41
xnoxbut not assert.14:41
jodhxnox: I think it's probably best to raise a bug with these ideas so we can work on refining this as a separate project.14:42
xnoxok.14:42
jodhxnox: in terms of the bug at hand though, can you confirm the fix works based on my instructions on how to recreate?14:44
xnoxjodh: it should. But there are a couple things I want to try though first. I'm on my laptop in bluefin, will be back at my desktop in the evening.14:50
xnoxjodh: i think this bug can be caught by testing deserialisation with a dump from a system where sessions jobs are running.14:51
xnoxthus it should be added as a unit test.14:51
xnoxat the moment all of our files are without sessions.14:52
jodhxnox: agreed - we should add such a test.14:55
xnoxjodh: so, it still fails for me.16:12
xnoxnot sure if there is something wrong with my test.16:12
xnoxsee: https://code.launchpad.net/~xnox/upstart/bug-1199778/+merge/17423516:12
xnoxor just branch lp:~xnox/upstart/bug-1199778 and build/run the test_conf test.16:13
xnoxthis branch has your fix merged.16:13
jodhxnox: is it crashing in the same place? assert/backtrace?16:14
xnox...with unflushed data16:14
xnox(null): No ConfSources present in state data16:14
xnox(null): No ConfSources present in state data16:14
xnox(null): No ConfSources present in state data16:14
xnox(null): No ConfSources present in state data16:14
xnox(null): Failed to resolve deserialisation dependencies16:14
xnoxtest_state: tests/test_state.c:3371: test_session_upgrade: Assertion `(state_from_string (json_string)) == 0' failed.16:14
xnoxjodh: I wonder if the pastebin that I fetched from the VM was incomplete serialisation (well chopped off due to size)16:14
jodhxnox: well, is it valid json? what does "json_pp < file.json" do?16:16
xnoxjson_pp spins at 100%.....16:18
xnoxproduced formatted output, let me rerun again to see the exit status16:19
xnoxexited with 0, so it's all of it.16:19
jodhxnox: I think gdb may be required to establish where the failure is being indicated :)16:26
xnoxit's weird.16:27
xnoxso running without the silly automake runner.16:27
xnoxTesting upgrade tests16:27
xnox...with data file 'upstart-1.6.json'16:27
xnox(null): No ConfSources present in state data16:27
xnox...with data file 'upstart-1.8.json'16:27
xnox(null): No ConfSources present in state data16:27
xnox...with data file 'upstart-pre-security.json'16:27
xnox(null): No ConfSources present in state data16:27
xnox...with data file 'upstart-1.8+apparmor.json'16:27
xnox(null): No ConfSources present in state data16:27
xnox...with data file 'upstart-1.8+full_serialisation-apparmor.json'16:27
xnox...with data file 'upstart-1.8+full_serialisation+apparmor.json'16:27
xnox...with data file 'upstart-session.json'16:28
xnox(null): Failed to resolve deserialisation dependencies16:28
xnoxtest_state: tests/test_state.c:3371: test_session_upgrade: Assertion `(state_from_string (json_string)) == 0' failed.16:28
xnoxAborted (core dumped)16:28
xnoxSo all of them have no confsources present.... which is well totally not true.16:28
xnoxjodh: going back to before your fix also has "No ConfSources present in state data" messages printed....16:30
xnoxwhich I guess is correct, since only full_serialisation introduced thsoe.16:30
jodhxnox: correct.16:30
xnoxjodh: is it expected for chroot deserialisation to fail resolving dependencies...?16:31
jodhxnox: slightly bizarrely, chroot sessions are not deserialised - they are detected, then ignored with a warning (see my comments on bug 1200264).16:33
xnoxjodh: ok. Hm..... yet something later probs for them..... like the full deserialisation code?16:34
xnoxi'll debug it.16:35
xnoxjodh: have fun wherever you are off to =)16:35
xnoxI guess 1-to-1 mappings don't work, if you decide to skip a couple of items from the first set, and rely on positional mapping between the two sets.........22:27

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!