From owner-freebsd-current Fri Apr 12 20:28:34 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id UAA14256 for current-outgoing; Fri, 12 Apr 1996 20:28:34 -0700 (PDT) Received: from ki.net (root@ki.net [205.150.102.1]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id UAA14250 for ; Fri, 12 Apr 1996 20:28:28 -0700 (PDT) Received: from freebsd.ki.net (root@freebsd.ki.net [205.150.102.51]) by ki.net (8.7.4/8.7.4) with ESMTP id XAA00662 for ; Fri, 12 Apr 1996 23:28:28 -0400 (EDT) Received: from localhost (scrappy@localhost) by freebsd.ki.net (8.7.5/8.7.5) with SMTP id XAA00263 for ; Fri, 12 Apr 1996 23:28:40 -0400 (EDT) X-Authentication-Warning: freebsd.ki.net: scrappy owned process doing -bs Date: Fri, 12 Apr 1996 23:28:39 -0400 (EDT) From: "Marc G. Fournier" To: current@freebsd.org Subject: ed_start() panic revisited Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi... Just had an ed_start() panic tonight, after compiling a new kernel and forgetting to recompile the if_ed.c module without -O enabled (as per Julian's suggestion) Got a core dump out of it, but can't seem to analyze this one: (kgdb) where #17 0xf01a945f in trap (frame={tf_es = 16, tf_ds = -258146288, tf_edi = -267583330, tf_esi = -266426340, tf_ebp = -1098649868, tf_isp = -272631304, tf_ebx = 656, tf_edx = 662, tf_ecx = 662, tf_eax = -267583357, tf_trapno = 12, tf_err = -266665984, tf_eip = -266641783, tf_cs = -267583480, tf_eflags = 66179, tf_esp = -1073610752, tf_ss = -258101888}) at ../../i386/i386/trap.c:319 #18 0xf01a2301 in calltrap () Cannot access memory at address 0xbe83eef4. (kgdb) up 17 #17 0xf01a945f in trap (frame={tf_es = 16, tf_ds = -258146288, tf_edi = -267583330, tf_esi = -266426340, tf_ebp = -1098649868, tf_isp = -272631304, tf_ebx = 656, tf_edx = 662, tf_ecx = 662, tf_eax = -267583357, tf_trapno = 12, tf_err = -266665984, tf_eip = -266641783, tf_cs = -267583480, tf_eflags = 66179, tf_esp = -1073610752, tf_ss = -258101888}) at ../../i386/i386/trap.c:319 319 (void) trap_pfault(&frame, FALSE); (kgdb) frame frame->tf_ebp frame->tf_eip Cannot access memory at address 0xbe83eef4. (kgdb) list 314 } else { 315 /* kernel trap */ 316 317 switch (type) { 318 case T_PAGEFLT: /* page fault */ 319 (void) trap_pfault(&frame, FALSE); 320 return; 321 322 case T_PROTFLT: /* general protection fault */ 323 case T_SEGNPFLT: /* segment not present fault */ Julian had suggested recompiling the if_ed.c module seperately from the rest, without -O enabled, to see if that made a difference, as the original core dump seemed to show everything was okay. Without -O enabled, the system seems to run okay (well, other then the rlist panics, of course), but with -O enabled, it dies after several hours. Is there anything i can do on my end to figure out the difference between the optimized vs non-optimized if_ed.o module in order to correct this problem? Some sort of 'diff' between the object files maybe? As ppl keep reminding me about workarounds vs fixes, disabling optimization for that one module is a workaround to the problem, not a fix :( Thanks... Marc G. Fournier | POP Mail Telnet Acct DNS Hosting System | WWW Services Database Services | Knowledge, Administrator | | Information and scrappy@ki.net | WWW: http://www.ki.net | Communications, Inc