Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Apr 1996 23:28:39 -0400 (EDT)
From:      "Marc G. Fournier" <scrappy@ki.net>
To:        current@freebsd.org
Subject:   ed_start() panic revisited
Message-ID:  <Pine.BSI.3.92.960412232310.206C-100000@freebsd.ki.net>

next in thread | raw e-mail | index | archive | help

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
<prior to this deleted for brevity>
#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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSI.3.92.960412232310.206C-100000>