06:20:35 [illumos-gate] 17903 loader: expose addresses of firmware tables in loader env -- Toomas Soome 10:50:52 Hello. I can't seem to find a way to get Illumos (Tribblix) to work with KVM/qemu on a Linux host. It always panics after the welcome message after loading the kernel. I've tried all kinds of combinations of virt-install options (--os-variant openindiana,solaris10/11, i440fx, q35... ) but nothing works. Information on this is extremely sparse on search engines. Is there a magic virt-install incantation and best practices to get it to work? 10:51:08 What goes furthest so far: https://privatebin.net/?521c6d0a57fcc3bc#D9cuz4xwpuBXMwCv8gPVyj7JP2srdjTwgjvGzXMt7rry 10:58:12 a better way is to share the panic info 11:01:00 Here is the panic info: https://privatebin.net/?cdae4f8181580a97#HYN4n71ZsNnUKoUDraMFixbFwg3H5i2XiG7xnYSkuBj1 11:08:39 you can boot with -kv flags, it will stop in kmdb instead of rebooting 11:12:23 somebody broke src.illumos.org, I got 502 bad gateway 11:13:29 denk: https://privatebin.net/?f5d740e028c4caa0#DtXkrgjhaZrq2fQywh3JSVJPQU14hQkqP6imRm1Bu4EY 11:15:09 Bad kernel fault at addr=0xfffffe0b8b006370 11:15:17 type 0xfffffe0b8b006370::whatis 11:16:00 or without 0x... 11:16:01 fffffe0b8b006370 is unknown 11:17:45 Can you show the output of "$C -vt" ? 11:17:49 (quotes are mine) 11:18:37 andyf: https://privatebin.net/?c3f300f88d996ef3#CS6Kr6oLT5yXKroycgorFRmk41zSpb44TtQituoFHHdE 11:19:53 and "::regs"? 11:20:47 https://privatebin.net/?44a0f14d375f5a37#65war9gmTuaWcmKMWPNaXFweXy4n3gXsKMpPNbSeNVUB 11:22:02 startup_modules+10a::dis 11:22:02 I would disassemble startup_modules near the point 0x10a to locate it in the source code 11:22:15 I think this is going to be the smbios_open() call 11:25:05 we don't see it in the backtrace, it is somewhere else 11:28:39 90% that is an unexpected field for the parser 11:47:49 Would you like me to type in more commands in the debugger? 11:48:02 Yes, please do "startup_modules+10a::dis" 11:50:06 https://privatebin.net/?c2824171dc9f625a#5pbE73JFshTjzuSaPCYYPKpQQnyRKLnjQM6mbMpkUPYU 11:54:13 indeed, the problem somewhere in smbios_open() 11:54:27 *is somewhere 11:58:12 there are 6 points with bcopy() inside the function 13:58:26 DptPirate - if qemu has options to control the smbios information presented to the guest I suggest playing with a few of them to see if you can get past this, but it is a bug that it panics. 14:08:51 does 'show' from loader oK prompt list smbios data? 14:35:28 tsoome: "kmdb: failed to dereference symbol: unknown symbol name" 14:35:50 andyf: I'll have to investigate this. 14:36:09 not from mdb but from loader ok prompt (press esc in boot menu) 14:40:09 tsoome: https://privatebin.net/?2e304b1880640bac#3UxeBPDZq3BwMoDukm5JG9kGDLLZezWAUBPMwhNWsJjj 14:40:58 It looks like there is smbios info in that dump 14:41:32 yes, its bios boot and you do have smbios. 14:42:49 Would using EFI instead help? 14:43:10 wont hurt to try. 14:43:31 ok I'll try that in a bit. 15:03:10 Unfortunately doesn't get to the boat loader (https://privatebin.net/?0726237e6e2439bd#37uszV9fgiaQKTbgSmkGqzuVfrhvtWAEq2KXL4RWh5Xa). And using EFI somehow hosed libvirtd. 17:24:06 7 is device error - device did report an error condition. 18:31:09 [illumos-gate] 18027 smbd: dereferencing freed memory -- Toomas Soome 18:34:16 it wouldn't be the first time virtualized media doesn't behave correctly 18:35:48 though i wonder if maybe the VM config is missing some parameters 18:40:19 though it does remind me... anyone want to review https://code.illumos.org/c/illumos-gate/+/4679/2/usr/src/uts/common/io/sata/adapters/ahci/ahci.c ? 18:40:20 → CODE REVIEW 4679: 18011 ahci could handle buggy emulators better (NEW) | https://www.illumos.org/issues/18011 18:55:02 ^^^ done 19:04:19 thanks 19:38:18 so I'm more stupid even than usual lately, and I have a question: Why is `ctrun nightly ...` insufficient to 1) catch the children of make(1) in nightly's contract, 2) keep the contract up until they all quit? 19:41:26 [illumos-gate] 18040 vtfontcvt: struct file_header needs __nonstring attribute -- Toomas Soome 20:30:04 [illumos-gate] 17992 libdevinfo: enable smatch and fix issues -- Andy Fiddaman 21:06:18 [illumos-gate] 13157 maxbw can kill link with hires tick -- Kyle Simpson 21:06:18 [illumos-gate] 18078 snoop should report drops when capturing to file -- Ryan Zezeski 21:16:33 I guess the person who approved 18078 didn't copy the list? 21:16:39 or is my mail fucking up? 21:17:04 No... turns out MY mail is fucking up. Engaging with my local mail-runners now. I'm super-pissed. 21:17:16 Four mails got gagged, the fourth was a test email. 21:57:23 richlowe: the ctrun thing is mystifying (as I don't see how children wouldn't get attached barring something in an intermediate process detaching them). Unless the newtask invocation does something weird to the contract.. 22:06:23 if there's a long enough running child, could you use ps to look at the contract ids of the children? 22:07:43 or maybe ptree -c[g] ? 22:13:39 i tripped over https://www.illumos.org/issues/18083 just now and i'm wondering what a good way to improve things would be. maybe just changing pbind -u output when a pid has >1 (bound?) lwp? 22:13:40 → BUG 18083: pbind -u is confusing with LWPs (New) 22:14:21 i struggle to imagine processor_bind() returning One Of The Previously Bound Processors to be useful if LWPs are bound in interesting ways, but going and just changing *that* feels pretty reckless :D 22:14:59 Specifically you didn't specify an lwp right? 22:15:05 right, just unbound the whole pid 22:15:36 I think it's probably impractical for it to report all unbindings. 22:15:47 Which doesn't answer the question. 22:15:54 But maybe reduces the state? 22:15:59 s/state/space 22:16:58 why do you think it's impractical? that's actually one of the options i was considering. it's just annoying to go through each lwp when we really want to unbind them all. that's what we'd do with something like pid/0- 22:17:28 that's just clumsy when we know we want P_PID and the old bindings aren't necessarily that interesting 22:17:53 Well, I assume you could have probably at least 10k+ threads with bindings. 22:18:00 And so that's a lot of data to copy out. 22:18:14 oh, yeah 22:18:17 And you don't even know how much memory to hold to get it all. 22:18:48 The other thing and the reason it's differnt with walking all threads is that you're able to do it in one atomic-ish action. 22:19:03 Where as the other mechanism allows the process reign to move and have others intervene. 22:19:05 yeah 22:19:24 i was wondering what happens if you unbind `pid/0-` while the process spawns more and binds them. don't love it 22:19:28 it's almost like being less specific there would at least let you not be confused 22:19:38 if it wasn't trying to help, you'd have been fine 22:19:41 I wonder if we could change add a return flag to basically say there was a lot. 22:20:08 Yeah. Basically it seems that what's more useful is being less helpful when there was more than one unbinding. 22:20:52 yeah. i'm happy to go have pbind just say "process id $PID: was bound, now not bound" when processor_bind() succeeds and returned an old binding 22:21:14 rmustacc: are you imagining a sentinel obind to say there was more than one processor unbound in the action? 22:22:08 Kind of yeah. 22:22:17 Some variant of none. 22:22:28 Dunno exactly. Just thinking out loud. 22:22:37 something like "threads were bound to multiple cpus, now not bound" 22:22:49 seems reasonable 22:23:22 In this case it'd be threads, but it'd be whatever the constinuents of the id type were.