Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: panic running include/t_paths



On Mon, 4 May 2015, Manuel Bouyer wrote:

Hello,
since a few days, anita Xen tests of HEAD panics on
include/t_paths:
include/t_paths (42/618): 1 test cases
   paths: uvm_fault(0xc15ef0dc, 0, 1) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 0 eip c03ab50a cs 9 eflags 10246 cr2 0 ilevel 0 esp 4300
curlwp 0xc17d1a80 pid 24550 lid 1 lowest kstack 0xcdb582c0
panic: trap

<snip>

OK, I think I found this one!

It seems that when sysmonopen() is called, it might need to autoload the module that handles the specific sub-comopnent (envsys, power, or wdog). But if the autoload failed, the code blindly proceeded to call the sub-component's open routine anyway (indirectly through the sysmon_opvec table). Since autoload had failed, the opvec entry was never loaded and we jumped off into never-never land. :)

I've fixed the code to just return the error code ENODEV if autoload fails.

The include/t_paths test will likely still fail, since it won't be able to open /dev/{sysmon,power,wdog} paths. But at least it shouldn't panic any more.


-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org  |
-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index