Re: panic running include/t_paths

2015-05-05 Thread Paul Goyette

On Tue, 5 May 2015, Manuel Bouyer wrote:


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.  :)


this is likely to be the problem. Xen kernels are not MODULAR.


Hmmm. I might have to re-insert the various xxx_init() calls back into 
kern/init_main.c for the non-MODULAR systems.


BTW, why do we have a completely separate /stand/{amd64,i386}-xen 
directory structure to hold the xen modules, if xen kernels are not 
capable of loading them?


:)



-
| 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  |
-


Re: panic running include/t_paths

2015-05-05 Thread Manuel Bouyer
On Tue, May 05, 2015 at 04:39:26PM +0800, Paul Goyette wrote:
 On Tue, 5 May 2015, Manuel Bouyer wrote:
 
 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.  :)
 
 this is likely to be the problem. Xen kernels are not MODULAR.
 
 Hmmm. I might have to re-insert the various xxx_init() calls back into
 kern/init_main.c for the non-MODULAR systems.

Yes, please keep non-MODULAR systems working.

 
 BTW, why do we have a completely separate /stand/{amd64,i386}-xen directory
 structure to hold the xen modules, if xen kernels are not capable of loading
 them?

No idea, I didn't add these directories

-- 
Manuel Bouyer bou...@antioche.eu.org
 NetBSD: 26 ans d'experience feront toujours la difference
--


Re: panic running include/t_paths

2015-05-04 Thread Paul Goyette

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
cpu0: Begin traceback...
vpanic(c04f0421,cdb5ac58,cdb5acdc,c03d4c06,c04f0421,cdb5ace8,cdb5ace8,1,cdb582c0,10246)
 at netbsd:vpanic+0x11a
panic(c04f0421,cdb5ace8,cdb5ace8,1,cdb582c0,10246,0,0,4300,cdb5ace8) at 
netbsd:panic+0x18
trap() at netbsd:trap+0xbe6
--- trap (number 6) ---
sysmonopen(4300,0,1,2000,c17d1a80,0,c11e8e50,c11f18f0,43,c0d8a780) at 
netbsd:sysmonopen+0x8a
spec_open(cdb5adb8,cdb5aea4,cdb5aecc,c04b9874,c11f18f0,1,c0d8a780,c104c000,cdb5ae80,c04522c5)
 at netbsd:spec_open+0x1ec
VOP_OPEN(c11f18f0,1,c0d8a780,c0d8fcc0,cdb5ae08,c0d8a780,c0596f80,cdb5ae18,c023626d,c1766d00)
 at netbsd:VOP_OPEN+0x32
vn_open(cdb5aea4,1,160,cdb5aeb8,c0edc1c0,c1755200,3,0,c1879200,c1075400) at 
netbsd:vn_open+0x1f5
do_open(c17d1a80,0,c1879200,0,8049362,cdb5af38,0,c1879200,c17d1a80,cdb5afa8) at 
netbsd:do_open+0xc0
do_sys_openat(0,8049362,cdb5af38,c057fbcc,cdb5af9c,c03aade3,c17d1a80,cdb5af68,cdb5af60,c159881c)
 at netbsd:do_sys_openat+0x6f
sys_open(c17d1a80,cdb5af68,cdb5af60,c159881c,cdb5afa0,c0586964,cdb5af68,0,0,8049362)
 at netbsd:sys_open+0x2c
syscall() at netbsd:syscall+0x83
--- syscall (number 5) ---
bb683b07:
cpu0: End traceback...

This showed up between -04-23 09:30 UTC and 2015-04-24 13:10 UTC

The sysmonopen() in the stack trace could point to sysmon; could the
recent work on sysmon be the cause of this ?


Quite likely.  Let me see if I can figure out what it happening, and how 
the xen test environment differs from the qemu environment.




-
| 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  |
-


Re: panic running include/t_paths

2015-05-04 Thread Paul Goyette

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  |
-