... when built with optimize=n debug=y I get first a line like this one: (XEN) (file=extable.c, line=76) Pre-exception: ff105b48 -> 00000000 Then xen dies because of a page fault in IRQ context: [ ... ] (XEN) CPU0 FATAL TRAP 14 (page fault), ERROR_CODE 0002, IN INTERRUPT CONTEXT. ff105b48 is _not_ the start address of some instruction, it''s somewhere inbetween: ff105b45: f0 0f ab 02 lock bts %eax,(%edx) ff105b49: 19 c0 sbb %eax,%eax Without "debug=y" xen boots just fine. This is x86_32. Gerd -- -mm seems unusually stable at present. -- akpm about 2.6.12-rc3-mm3 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 19 May 2005, at 16:32, Gerd Knorr wrote:> ... when built with optimize=n debug=y > > I get first a line like this one: > > (XEN) (file=extable.c, line=76) Pre-exception: ff105b48 -> 00000000 > > Then xen dies because of a page fault in IRQ context:At what point during boot does this happen? I''ve just tried this on my test machine (dual opteron) but it didn''t crash for me. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Gerd Knorr wrote:> ... when built with optimize=n debug=y > > I get first a line like this one: > > (XEN) (file=extable.c, line=76) Pre-exception: ff105b48 -> 00000000 > > Then xen dies because of a page fault in IRQ context: > > [ ... ] > (XEN) CPU0 FATAL TRAP 14 (page fault), ERROR_CODE 0002, IN > INTERRUPT CONTEXT. > > ff105b48 is _not_ the start address of some instruction, it''s > somewhere inbetween: > > ff105b45: f0 0f ab 02 lock bts %eax,(%edx) > ff105b49: 19 c0 sbb %eax,%eax > > Without "debug=y" xen boots just fine. This is x86_32. >I also see "debuy=y" xen failing on x86-64. It used to be working for a while. I suspect recent changes broke it. Jun> Gerd_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> >Then xen dies because of a page fault in IRQ context: > > At what point during boot does this happen? I''ve just tried this on my > test machine (dual opteron) but it didn''t crash for me.With my current pae patches (but PAE disabled) right after loading and starting domain0, before some message from the xenlinux kernel appears. With a unmodified bk checkout it dies later on while xenlinux domain0 processes the init scripts, but it''s the same pattern. I''d guess it''s pure luck whenever you are hit by it or not. Maybe it is memory corruption. The faulting address not being in the extable and not even being a valid instruction looks like a random jump into nowhere ... Gerd -- -mm seems unusually stable at present. -- akpm about 2.6.12-rc3-mm3 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
* Gerd Knorr <kraxel@bytesex.org> [2005-05-19 10:34]:> ... when built with optimize=n debug=y > > I get first a line like this one: > > (XEN) (file=extable.c, line=76) Pre-exception: ff105b48 -> 00000000 > > Then xen dies because of a page fault in IRQ context: > > [ ... ] > (XEN) CPU0 FATAL TRAP 14 (page fault), ERROR_CODE 0002, IN INTERRUPT CONTEXT. > > ff105b48 is _not_ the start address of some instruction, it''s > somewhere inbetween: > > ff105b45: f0 0f ab 02 lock bts %eax,(%edx) > ff105b49: 19 c0 sbb %eax,%eax > > Without "debug=y" xen boots just fine. This is x86_32.Same here on x86_32 SMP. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 19 May 2005, at 17:08, Nakajima, Jun wrote:> I also see "debuy=y" xen failing on x86-64. It used to be working for a > while. I suspect recent changes broke it.It gets to domain0 boot for me. What compiler version are you using? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser wrote:> On 19 May 2005, at 17:08, Nakajima, Jun wrote: > >> I also see "debuy=y" xen failing on x86-64. It used to be working >> for a while. I suspect recent changes broke it. > > It gets to domain0 boot for me. What compiler version are you using? > > -- KeirIt''s gcc version 3.4.2. Jun _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 19 May 2005, at 18:07, Gerd Knorr wrote:>> STACK_SIZE is 2 pages (because STACK_ORDER is 1). So it''s not such a >> simple bug. :-( > > Ok, two pages. That makes the upper limit ff105000, whereas the > stack ptr was ff105<something>. Still outside the stack frame ;)Stupid me. And I see the bug. The macros in asm/current.h depend on a STACK_ORDER-aligned stack, or bad things happen. 0x103000 is not an even page boundary. x86/64 has the same problem. It all just works for non-boot cpus because the page allocator guarantees sufficient alignment. I''ll check in a fix, and add a bold comment.... thanks! -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel