The new /etc/devd/devmatch.conf has an action line for 'nomatch' in it that does not work correctly. Instead of passing a single argument containing embedded white space to the /etc/rc.d/devmatch script as parameter 2, the 'service' command strips off the single quote characters, which causes the parameter to be passed as multiple arguments to the 'devmatch' script, instead. This causes the devmatch program to receive '?' as the parameter following '-p' which gives you an error message similar to: devmatch: Malformed NOMATCH string: '' A simple workaround can be performed by using the following action string: action "/etc/rc.d/devmatch start '?$_'"; this avoids calling 'service' and invokes the rc script directly.
Is this related to: https://reviews.freebsd.org/D15784 --HPS
(In reply to Hans Petter Selasky from comment #1) base r335029 (which that review got committed as) made no difference. The proper behaviour existed prior to base r334982. This is also not architecture-specific, as I've hit this on amd64.
I've had several reports that r335029 fixes this issue. It works for me in my testing as well.
It would be helpful to know the exact NOMATCH line that's giving you grief. can you uncomment the devd lines in syslog.conf and log what it is for me please?
I will admit I don't have my entire hardware contingent to properly trigger this. Will need to return to my docking station later to actually check if base r335029 actually fixed things. The line itself was the generic NOMATCH line changed in base r334982, no local edits on my system.
I think I forgot to include the uname output in this one (it's r335007), sorry if it caused confusion. I'll attempt to repro with newer source, see what happens. This one seemed to be a work-in-progress as well but I'm glad it's (apparently) resolved now. D15748 appears to address the problem by fixing service (thanks for mentioning that - there is too much to follow it all).