<samoht[m]>
There is also now a `mirage query` command which allows to query the dynamic parameters (just the list of libraries atm, but I'm adding the list of files for the configure and build steps today)
<samoht[m]>
(it also fork-exec to `./config.exe query <...>` so it needs to compile config.ml)
<mato[m]>
hannes_qubes: Working on the jackline packaging again (have now figured out how to make it work on Ubuntu)
<mato[m]>
hannes_qubes: However, due to mirage-crypto releases master does not build for me anymore. Do you have a "cheat sheet" of what I need to change in jackline to get it to work?
<hannes_qubes>
...and somehow the entire get_console/xenstore_start_page C code in mirage-xen is never executed, but it fails before
<hannes_qubes>
mato[m]: no cheat sheet, I intended to work on this later today (porting applications / figuring out what to do). reynir intended to work on some cheat sheet yesterday (not sure whether he did)
<mato[m]>
hannes_qubes: in the interim, is there something i can do in the jackline opam file to force it to depend on the old crypto?
<hannes_qubes>
mato[m]: i guess otr < 0.3.7 should do the trick (maybe x509 < 0.10.0 and tls < 0.11.0 is needed as well)
<mato[m]>
thanks, i'll try that
<hannes_qubes>
base is 0x65676172696d looks a bit suspicious (that's even ascii ;), and page fault at 0 looks like a null pointer.. but hannes doesn't know much C.
hannes_qubes has quit [Remote host closed the connection]
<mato[m]>
hannes: actually, adding a "conflicts:" for "mirage-crypto" does the trick (at least in terms of "opam install --deps-only ." doing the right thing)
talex5_ has joined #mirage
talex5 has quit [Quit: Saliendo]
<marmarek>
hannes: yes, this address is definitely suspicious
<marmarek>
hannes: do you have quick copy&paste instruction how to build this binary from your branches?
<marmarek>
the good think you have anything on the console, otherwise it would be much harder :)
<hannes>
I have not tested that, if you run into compilation issues, please complain
<hannes>
marmarek: and thanks to printk I figured the code in mirage-xen start_info_stubs is never executed.. I manually checked the initialisation sequence (from mini-os/kernel.c and mirage-xen/bindings/main.c -- this looks fine to me)
<talex5_>
I'm a bit surprised it picked 3.2.0 as the default version. Maybe you need to `opam update` first?
<marmarek>
maybe ocaml version? `opam switch list-available` doesn't list 4.08 for me
<talex5_>
Yeah, sounds like you need to "opam update".
Haudegen has joined #mirage
jnavila has joined #mirage
<marmarek>
better
talex5_ has quit [Ping timeout: 255 seconds]
<marmarek>
got the page fault
<tg>
and is anyone working on a QUIC impl in ocaml?
<tg>
mato: any idea about unikernels in rust?
<tg>
mato: have you looked into running that on solo5?
<hannes>
marmarek / talex5: my current suspicion is that nobody calls the get_xenbus () -- when the mirage-bootvar-xen still contained the xenstore lookup, it sometimes just halted without a page fault... but yeah, happy if any of you take it from here :) it is indeed very convenient to have printk around... it may as well be that some mirageos-minios patches are missing (but I went throug that list multiple times
<hannes>
(and didn't pick the arm related patches))
<hannes>
tg: i do not know. you could investigate by trying it out and reporting back whether it works.
<marmarek>
hannes: the PF seems to be on caml_start_program() _returning_
<marmarek>
so the actual error is somewhere earlier
<tg>
ok i'll check, thought you might know more since you committed something in there.. otherwise the repo looks not really active
<hannes>
h01ger: thanks, but tbh yes, we're reading the news as well. no, i don't see any reason to discuss this (at length) in this channel. yes, we're ok and we'll be ok.
<hannes>
marmarek: i remember we had a bootcode patch in our mini-os patch series, but upstream already had some .bootcode in their linker script (those under the ifdef CONFIG_PARAVIRT) -> i thought pvh may not need them
<marmarek>
hannes: interestingly, at the very beginning 0x0 is properly mapped and I see caml_program there
<marmarek>
but at the time caml_start_program() is called, it is unmapped
<talex5_>
Is it just zeroes there?
<h01ger>
hannes: fully agreed. i'm glad this channel is mostly technical and fun to watch!
mahmudov has joined #mirage
<marmarek>
no, nothing - looks like present=0 in respective page table entry
<marmarek>
(trying to access page tables through gdb now)
<talex5_>
I guess I'd expect something to map out page zero to detect null-pointer errors.
<marmarek>
that would be my guess too
<talex5_>
Hmm, mini-os doesn't compile with MM_DEBUG defined.
olle has quit [Quit: olle]
<hannes>
can we just start with some other address, not 0x0 somehow in the linker script, then?
<talex5_>
Hmm: /* Use first page as the CoW zero page */
<marmarek>
I've moved it at 0x1000
olle has joined #mirage
<marmarek>
and now got #GP
olle has quit [Client Quit]
<marmarek>
ok, instead of starting everything at 0x1000, I've added 0-filled page at 0x0
<marmarek>
that isn't nice method of doing it, because it adds all those zero-es literally to resulting binary
<marmarek>
I've reused the fact that .bootcode is placed at the beginning
<talex5_>
mini-os's gettimeofday was called and returned 1584285707 s + 662831 us, which looks sensible.
<talex5_>
But: Fatal error: exception Failure("unix_gettimeofday returned number of days outside int range")
* marmarek
will be away for some hours
<hannes>
i think we can handle 4k 0s ;)
<hannes>
good work, thanks
jnavila has joined #mirage
<mato[m]>
If you figure out what the problem(s) are, I can help massage the ldscript into a "better" version, BTDT
<mato[m]>
See e.g. Solo5 ldscripts which I have extensively commented (so as not to forget what I was doing and why)
adhux0x0f0x3f-- has quit [Remote host closed the connection]
<mato[m]>
hannes: By the way, you may have missed my earlier comment -- adding a "conflicts: [ mirage-crypto ]" is sufficient to get jackline to build in the presence of the new crypto releases. This may be useful for other packages in the interim.
<hannes>
mato[m]: cool, thanks. i also ported jackline to mirage-crypto, found an issue in otr, and re-released otr.
<hannes>
^ is merged to master now, so if you rebase you should not need any conflict anymore :)
<mato[m]>
hannes: will do in a bit. just cleaning up the work in progress commits I did earlier today.