emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[4]: Speedbar segv


From: Eric M. Ludlam
Subject: Re[4]: Speedbar segv
Date: Sun, 3 Jun 2001 12:57:04 -0400

>>> Gerd Moellmann <address@hidden> seems to think that:
>"Eric M. Ludlam" <address@hidden> writes:
  [ ... ]
>
>Very strange; a wild pointer maybe?
>
>Can you reproduce this at will?  If so, could you please set a 
>breakpoint on realize_basic_faces, and step through the code, 
>displaying the value of interrupt_input_blocked at each step?

Sorry about the long delay.  Here is some gdb output.  I updated my
machine (Now SMP), OS (Red Hat 7.1), and Emacs sources (this past
week), and the problem continued.

What I managed to find before getting lost in the stack is that in
realize_basic_faces, this code exists:

--------      
      if (menu_face_change_count)
        {
          --menu_face_change_count;
#ifdef USE_X_TOOLKIT
          x_update_menu_appearance (f);
#endif
        }
      success_p = 1;
    }

  unbind_to (count, Qnil);
  UNBLOCK_INPUT;
  return success_p;
}
-------


and after x_update_menu_appearace, GDB automatically started doing
some condition-case stuff, as though a menu error were being thrown.
EDE does dynamic menus so it's possible that something in my
filesystem (which EDE checks as it tries to build a menu) is causing
the condition-case to get thrown.

I tried Eli's watchpoint idea, but the value changes about 10000 times
and I could find a way to do conditional watch points from the info
manual.

Since updating my machine, OS, and sources I have seen other segv's
using Ediff, and Info.  I'll see if I can verify those with GDB in a
different email.

I hope this helps somehow.
Eric

---------------------------------------------------------------------

(gdb) p interrupt_input_blocked
$9 = 0
(gdb) n
6021      int count = BINDING_STACK_SIZE ();
(gdb) p interrupt_input_blocked
$10 = 0
(gdb) n
6026      specbind (Qscalable_fonts_allowed, Qt);
(gdb) p interrupt_input_blocked
$11 = 0
(gdb) n
6021      int count = BINDING_STACK_SIZE ();
(gdb) p interrupt_input_blocked
$12 = 0
(gdb) n
6019    {
(gdb) 
6025      BLOCK_INPUT;
(gdb) p interrupt_input_blocked
$13 = 0
(gdb) n
6026      specbind (Qscalable_fonts_allowed, Qt);
(gdb) p interrupt_input_blocked
$14 = 1
(gdb) n
6028      if (realize_default_face (f))
(gdb) p interrupt_input_blocked
$15 = 1
(gdb) n
6020      int success_p = 0;
(gdb) n
6021      int count = BINDING_STACK_SIZE ();
(gdb) p interrupt_input_blocked
$16 = 1
(gdb) n
6028      if (realize_default_face (f))
(gdb) p interrupt_input_blocked
$17 = 1
(gdb) n
6030          realize_named_face (f, Qmode_line, MODE_LINE_FACE_ID);
(gdb) p interrupt_input_blocked
$18 = 1
(gdb) n
6031          realize_named_face (f, Qtool_bar, TOOL_BAR_FACE_ID);
(gdb) p interrupt_input_blocked
$19 = 1
(gdb) n
6032          realize_named_face (f, Qfringe, BITMAP_AREA_FACE_ID);
(gdb) p interrupt_input_blocked
$20 = 1
(gdb) n
6033          realize_named_face (f, Qheader_line, HEADER_LINE_FACE_ID);
(gdb) p interrupt_input_blocked
$21 = 1
(gdb) n
6034          realize_named_face (f, Qscroll_bar, SCROLL_BAR_FACE_ID);
(gdb) p interrupt_input_blocked
$22 = 1
(gdb) n
6035          realize_named_face (f, Qborder, BORDER_FACE_ID);
(gdb) p interrupt_input_blocked
$23 = 1
(gdb) n
6036          realize_named_face (f, Qcursor, CURSOR_FACE_ID);
(gdb) p interrupt_input_blocked
$24 = 1
(gdb) n
6037          realize_named_face (f, Qmouse, MOUSE_FACE_ID);
(gdb) p interrupt_input_blocked
$25 = 1
(gdb) n
6038          realize_named_face (f, Qmenu, MENU_FACE_ID);
(gdb) p interrupt_input_blocked
$26 = 1
(gdb) n
6041          if (menu_face_change_count)
(gdb) p interrupt_input_blocked
$27 = 1
(gdb) n
6045              x_update_menu_appearance (f);
(gdb) p interrupt_input_blocked
$28 = 1
(gdb) n
6043              --menu_face_change_count;
(gdb) p interrupt_input_blocked
$29 = 1
(gdb) n
6045              x_update_menu_appearance (f);
(gdb) p interrupt_input_blocked
$30 = 1
(gdb) n
6043              --menu_face_change_count;
(gdb) p interrupt_input_blocked
$31 = 1
(gdb) n
6045              x_update_menu_appearance (f);
(gdb) p interrupt_input_blocked
$32 = 1
(gdb) n
Fcondition_case (args=1486754180) at eval.c:1192
1192          if (!NILP (h.var))
(gdb) p interrupt_input_blocked
$33 = 0
(gdb) n
1194          val = Fprogn (Fcdr (h.chosen_clause));
(gdb) p interrupt_input_blocked
$34 = 0
(gdb) n
1199          unbind_to (c.pdlcount, Qnil);
(gdb) p interrupt_input_blocked
$35 = 0
(gdb) n
1194          val = Fprogn (Fcdr (h.chosen_clause));
(gdb) p interrupt_input_blocked
$36 = 0
(gdb) n
1199          unbind_to (c.pdlcount, Qnil);
(gdb) p interrupt_input_blocked
$37 = 0
(gdb) n
1200          return val;
(gdb) p interrupt_input_blocked
$38 = 0
(gdb) n
1214      return val;
(gdb) p interrupt_input_blocked
$39 = 0
(gdb) n
1215    }
(gdb) p interrupt_input_blocked
$40 = 0
(gdb) n
Fbyte_code (bytestr=944094276, vector=1213363592, maxdepth=5) at bytecode.c:900
900                 break;
(gdb) p interrupt_input_blocked
$41 = 0
(gdb) n
1685              AFTER_POTENTIAL_GC ();
(gdb) p interrupt_input_blocked
$42 = 0
(gdb) n
1686              break;
(gdb) p interrupt_input_blocked
$43 = 0
(gdb) n
494           op = FETCH;
(gdb) p interrupt_input_blocked
$44 = 0
(gdb) n
497           switch (op)
(gdb) p interrupt_input_blocked
$45 = 0
(gdb) n
494           op = FETCH;
(gdb) p interrupt_input_blocked
$46 = 0
(gdb) n
497           switch (op)
(gdb) p interrupt_input_blocked
$47 = 0
(gdb) n
542               MAYBE_GC ();
(gdb) up
#1  0x08122b3e in funcall_lambda (fun=1210792096, nargs=3, 
    arg_vector=0xbfffd704) at eval.c:2847
2847          val = Fbyte_code (XVECTOR (fun)->contents[COMPILED_BYTECODE],
(gdb) up
#2  0x08122650 in Ffuncall (nargs=4, args=0xbfffd700) at eval.c:2703
2703        val = funcall_lambda (fun, numargs, args + 1);
(gdb) up
#3  0x08148814 in Fbyte_code (bytestr=944085404, vector=1213265968, maxdepth=6)
    at bytecode.c:716
716                 TOP = Ffuncall (op + 1, &TOP);
(gdb) where 30
#0  Fbyte_code (bytestr=944094276, vector=1213363592, maxdepth=5)
    at bytecode.c:542
#1  0x08122b3e in funcall_lambda (fun=1210792096, nargs=3, 
    arg_vector=0xbfffd704) at eval.c:2847
#2  0x08122650 in Ffuncall (nargs=4, args=0xbfffd700) at eval.c:2703
#3  0x08148814 in Fbyte_code (bytestr=944085404, vector=1213265968, maxdepth=6)
    at bytecode.c:716
#4  0x08122b3e in funcall_lambda (fun=1212248376, nargs=2, 
    arg_vector=0xbfffd7c0) at eval.c:2847
#5  0x08122829 in apply_lambda (fun=1212248376, args=1482278340, eval_flag=1)
    at eval.c:2766
#6  0x08121c46 in Feval (form=1482278332) at eval.c:2055
#7  0x0811fa6d in Fprogn (args=1482278300) at eval.c:431
#8  0x08122b0b in funcall_lambda (fun=1482278284, nargs=2, 
    arg_vector=0xbfffd9d4) at eval.c:2840
#9  0x081226b9 in Ffuncall (nargs=3, args=0xbfffd9d0) at eval.c:2712
#10 0x08148814 in Fbyte_code (bytestr=945314732, vector=1213729280, maxdepth=5)
    at bytecode.c:716
#11 0x08122b3e in funcall_lambda (fun=1213729424, nargs=1, 
    arg_vector=0xbfffdaf4) at eval.c:2847
#12 0x08122650 in Ffuncall (nargs=2, args=0xbfffdaf0) at eval.c:2703
#13 0x08148814 in Fbyte_code (bytestr=945314620, vector=1213810448, maxdepth=6)
    at bytecode.c:716
---Type <return> to continue, or q <return> to quit---
#14 0x08122b3e in funcall_lambda (fun=1213810680, nargs=1, 
    arg_vector=0xbfffdc14) at eval.c:2847
#15 0x08122650 in Ffuncall (nargs=2, args=0xbfffdc10) at eval.c:2703
#16 0x08148814 in Fbyte_code (bytestr=945314476, vector=1213492064, maxdepth=2)
    at bytecode.c:716
#17 0x08122b3e in funcall_lambda (fun=1213811240, nargs=0, 
    arg_vector=0xbfffdd30) at eval.c:2847
#18 0x08122650 in Ffuncall (nargs=1, args=0xbfffdd2c) at eval.c:2703
#19 0x08148814 in Fbyte_code (bytestr=945271684, vector=1213676920, 
    maxdepth=10) at bytecode.c:716
#20 0x08122b3e in funcall_lambda (fun=1212953952, nargs=1, 
    arg_vector=0xbfffddf0) at eval.c:2847
#21 0x08122829 in apply_lambda (fun=1212953952, args=1481632148, eval_flag=1)
    at eval.c:2766
#22 0x08121c46 in Feval (form=1482128252) at eval.c:2055
#23 0x081227dc in apply_lambda (fun=1212028800, args=1482128268, eval_flag=1)
    at eval.c:2753
#24 0x08121c46 in Feval (form=1482128276) at eval.c:2055
#25 0x0811fa6d in Fprogn (args=1482128284) at eval.c:431
#26 0x08122b0b in funcall_lambda (fun=1482127828, nargs=1, 
    arg_vector=0xbfffe0e0) at eval.c:2840
#27 0x08122829 in apply_lambda (fun=1482127828, args=1486754524, eval_flag=1)
    at eval.c:2766
---Type <return> to continue, or q <return> to quit---
#28 0x08121ce3 in Feval (form=1486754516) at eval.c:2071
#29 0x08120bb4 in internal_condition_case_1 (bfun=0x81217e8 <Feval>, 
    arg=1486754516, handlers=405276388, 
    hfun=0x80d6cec <menu_item_eval_property_1>) at eval.c:1307
(More stack frames follow...)
(gdb) 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]