Closed rottegift closed 10 years ago
Ah some are in range after all...
0xffffff8002c22fa9
list_remove (in spl) (spl-list.c:111)
tsd_set (in spl) (spl-tsd.c:88)
arc_hdr_destroy (in zfs) (arc.c:1879)
arc_read (in zfs) (arc.c:3674)
zfs_remove (in zfs) (zfs_vnops.c:2072)
ddi_strtoul (in zfs) (sunddi.h:89)
zil_open (in zfs) (zil.c:1880)
0xffffff8002dfdb31[zfs_log_write as above]
[sorry if i'm making errors, i'm dead tired]
if ((fsync_cnt = (uintptr_t)tsd_get(zfs_fsyncer_key)) != 0) {
(void) tsd_set(zfs_fsyncer_key, (void *)(fsync_cnt - 1));
}
yeah tsd_set()
is brand spanking new, I wrote it last week while drunk. So entirely possible it is wrong. You must be on master.
I think now the tsd code is wrong, I remove nodes/values from the list at tsd_set( ,NULL)
when I should keep them all around, until tsd_destroy()
is called, then free.
I put master in the subject, probably should have put it in the text too. I'm likely always on master when reporting a bug.
Also FWIW I think that the Kernel Flags in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist were overriding what I put in via manual nvram(1). The mtime of the plist file was in 2012, which is too old to give me any hint about what might have caused it to be there.
I'll try your patch in 30ish minutes.
Yeah, it was just my deduction that you were on master, not a question. it was redundant :)
I believe the darkwake is set by hackintoshes, because with it on, they fail to wake from sleep. I assume you have a hackintosh, so you don't have nvram, and need to set it in the chameleon options.
if you don't have a hackintosh, then I have no idea, not heard of the option before today.
Nope, no hackintosh, it was probably a leftover from when this system was on an MBP with WOL vs sleep problems (it's now on a Mac Mini).
The problem wasn't so much that darkwake=0 was being set, but that it was unsetting keepsyms=y.
Can no longer reproduce. Thanks!
Sigh, something unknown (I don't even know if it's in user land) keeps changing nvram back to "-v darkwake=0" destroying the keepsyms keyword. :-(
I have mirrored log vdevs on three pools, there was probably substantial sync writes and memory pressure at the time of the panic.
However: