On Wed, Feb 25, 2015 at 1:42 PM, Ryota Ozaki <[email protected]> wrote: > On Wed, Feb 25, 2015 at 12:35 PM, Ryota Ozaki <[email protected]> wrote: >> On Wed, Feb 25, 2015 at 4:10 AM, bch <[email protected]> wrote: >>> w/ latest -current: >>> >>> % dtrace -l >>> BEGIN >>> END >>> ERROR >>> % dtrace -n BEGIN >>> <fault/reboot> >>> >>> >>> This is w/o loading any kernel modules, but the probes are still >>> listed as available, but then fault. >> >> Autoloading modules is a feature of NetBSD. You can see solaris.kmod >> and dtrace.kmod are loaded after dtrace -l. Note that BEGIN, END, >> ERROR are 'dtrace' provider that is included in dtrace.kmod. >> >> OTOH, the fault should be a bug. I'm investigating it. > > Got it. NetBSD has also auto-unloading feature and it unloads > dtarce.kmod after kern.module.autotime sec since auto-loading. > Currently dtrace.kmod allows being unloaded without caring of users. > > A quick fix is: > > diff --git a/external/cddl/osnet/dev/dtrace/dtrace_modevent.c > b/external/cddl/osnet/dev/dtrace/dtrace_modevent.c > index 9df0cd1..40c8e7f 100644 > --- a/external/cddl/osnet/dev/dtrace/dtrace_modevent.c > +++ b/external/cddl/osnet/dev/dtrace/dtrace_modevent.c > @@ -38,6 +38,8 @@ dtrace_modcmd(modcmd_t cmd, void *data) > case MODULE_CMD_FINI: > dtrace_unload(); > return devsw_detach(NULL, &dtrace_cdevsw); > + case MODULE_CMD_AUTOUNLOAD: > + return EBUSY; > default: > return ENOTTY; > } > > It prevents auto-unloading. It should fix the problem.
...note that unloading dtrace.kmod by modunload with dtrace command running also causes panic. We need to fix dtrace unload procedures somehow :-/ ozaki-r
