On Tue, 1 Jun 2004, Daniel Eischen wrote: > On Wed, 26 May 2004, Kent Hauser wrote: > > Hi, > > > > Thanks for the input. After disabling the "hotswap" interrupt via the Thinkpad > > PS2 command at the suggestion of "Nikolay Denev" <nike_d_at_cytexbg.com> > > (at least I think that's the interrupt I turned off...), I now sometimes get > > further in my boot. Now it only normally panics at startup -- an the message > > is as follows: > > > > ad0: 35293MB <HTS548040MAT00> [71707/16/63] at ata0-master UDMA100 > > ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt > > ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt > > acd0: CDRW <UJDA755zDVD/CDRW> at ata1-master UDMA33 > > Memory modified after free 0xc44d8a00(508) val=1ff01ff _at_ 0xc44d8a00 > > Has anyone figured this out yet? Here's a traceback from my > Thinkpad R40 (I get the same message above). I was able to > get the kernel to boot once by disabling atapicam, but even > that doesn't work any longer. The trace just moves from > xpt_foo() to g_conf_foo(). The trace from below is with > atapicam built into the kernel. > > This damn thing doesn't have a serial port on it from what > I can see, so the information below is hand-scribed. > > 5.2.1-release worked on this as long as ACPI was disabled. > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x1ff021f > fault code = supervisor read, page not present > instruction pointer = 0x8:0xc069c93a > stack pointer = 0x10:0xc0c21ba4 > frame pointer = 0x10:0xc0c21bc0 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 0 (swapper) > kernel: type 12 trap, code = 0 > Stoped at mtrash_ctor+0x3a: movl 0x20(%eax),%eax > db> trace > mtrash_ctor(c2398c00,200,0) at mtrash_ctor+0x3a > uma_zalloc_arg(c1045cc0,0,1) at uma_zalloc_arg+0x169 > malloc(1a0,c0774d60,1,c2393b80,c2395640) at malloc+0xb7 > xpt_alloc_device(c2393b80,c2395640,0) at xpt_alloc_device+0x3e > xpt_compile_path(c23942b0,c14f5b80,0,0,0) at xpt_compile_path+0x84 > xpt_create_path(c0c21ca4,c14f5b80,0,0,0) at xpt_create_path+0x49 > xpt_scan_bus(c14f5b80,c243d000,c0c21cf0,c0440749,c2393bc0) at xpt_scan_bus+0xea > xpt_action(c243d000,c243d000,c2393b80,c044025c,c0c21d14) at xpt_action+0x7e2 > xpt_finishconfig(c14f5b80,c243d000) at xpt_finishconfig+0x30 > xptconfigfunc(c2393b80,0,c0c21d40,c04400c3,c2393b80) at xptconfigfunc+0x10b > xptdefbusfunc(c2393b80,c0c21d54,0,c04437bc) at xptbustraverse+0x2b > xpt_for_all_busses(c04437bc,0) at xpt_for_all_busses+0x29 > xpt_config(0) at xpt_config+-x74 > run_interrupt_driven_config_hooks(0,c1ec00,c1e000,0,c043bd15) at > run_interrupt_driven_config_hooks+0x18 > mi_startup() at mi_startup+0x96 > begin() at begin+0x2c > db> I commented out the panic in uma_dbg.c:mtrash_ctor(): Index: vm/uma_dbg.c =================================================================== RCS file: /opt/FreeBSD/cvs/src/sys/vm/uma_dbg.c,v retrieving revision 1.14 diff -u -r1.14 uma_dbg.c --- vm/uma_dbg.c 31 May 2004 21:46:05 -0000 1.14 +++ vm/uma_dbg.c 2 Jun 2004 02:48:12 -0000 _at__at_ -134,8 +134,10 _at__at_ if (*p != uma_junk) { printf("Memory modified after free %p(%d) val=%x _at_ %p\n", mem, size, *p, p); +#if 0 panic("Most recently used by %s\n", (*ksp == NULL)? "none" : (*ksp)->ks_shortdesc); +#endif } } and was able to get the system to boot, although with a bunch of "Memory modified after free" messages. Also, the new problem of reboot hanging after syncing disks is now added. The verbose boot with the above patch applied is attached. I suspect ata is the culprit... -- Dan Eischen
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:55 UTC