emacs-devel
[Top][All Lists]
Advanced

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

Re: 23.0.60; Still font problems


From: Stephen Berman
Subject: Re: 23.0.60; Still font problems
Date: Thu, 15 May 2008 15:36:52 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

On Thu, 15 May 2008 12:03:07 +0200 Stephen Berman <address@hidden> wrote:

> On Thu, 15 May 2008 09:40:20 +0100 Jason Rumney <address@hidden> wrote:
>
>> Stephen Berman wrote:
>>> (gdb) pr spec
>>> The history is empty.
>>>   
>>
>> You need to use "pp spec" here. "pr" prints the Lisp object
>> corresponding to the last "print" command, and does not take a
>> variable as an argument.
>
> Oh, thanks.  Here it is:
>
> (gdb) br xfont_list
> Breakpoint 3 at 0x81c9e11: file xfont.c, line 308.
> (gdb) run -Q -fn "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1"
> Starting program: /Users/steve/cvsroot/emacs/src/emacs -Q -fn 
> "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1"
> [Thread debugging using libthread_db enabled]
> [New Thread 0xb6dee8d0 (LWP 17590)]
> [Switching to Thread 0xb6dee8d0 (LWP 17590)]
>
> Breakpoint 3, xfont_list (frame=141326084, spec=138016964) at xfont.c:308
> 308       FRAME_PTR f = XFRAME (frame);
> (gdb) pp spec
> #<font-spec nil adobe fixed  iso8859-1 nil nil nil nil nil nil nil ((:name . 
> "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1"))>
>
> From her I single stepped through the program, but after many hundreds
> of iterations I gave up.  Then I tried again, this time using various
> combinations of `s 1000', `s 500', `s 100', etc. but still never reached
> the place where I could single step until the failure happens before my
> patience ran out.  A couple of times I overshot the mark, and gdb
> complained:
>
> Warning:
> Cannot insert breakpoint -495.
> Error accessing memory address 0x7b69477e: Input/output error.
>
> after which:
>
> (gdb) s
> Single stepping until exit from function siglongjmp,
> which has no line number information.
> Font `-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1' is not defined
>
> Program exited with code 0377.
>
> Is there any gdb command, or any advice, for stopping execution "close
> enough" to the point of failure so that I can single step up to it
> before my fingers go numb?

I have now managed to step through till the point of failure.  Since I
determined by trial and error that it was over 27000 steps after the
break point, I used `s 27000' and then single stepped.  Here's the
output of the latter; if it's not useful, I don't know what else to do
-- I can't take the time to single step through 27000 lines of code.

(gdb) br xfont_list
Breakpoint 3 at 0x81c9e11: file xfont.c, line 308.
(gdb) run -Q -fn "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1"
Starting program: /Users/steve/cvsroot/emacs/src/emacs -Q -fn 
"-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1"
[Thread debugging using libthread_db enabled]
[New Thread 0xb6e288d0 (LWP 26493)]
[Switching to Thread 0xb6e288d0 (LWP 26493)]

Breakpoint 3, xfont_list (frame=141326084, spec=138016964) at xfont.c:308
308       FRAME_PTR f = XFRAME (frame);
(gdb) s 27000
Single stepping until exit from function free,
which has no line number information.
Single stepping until exit from function free,
which has no line number information.
Single stepping until exit from function free,
which has no line number information.
Single stepping until exit from function free,
which has no line number information.
Single stepping until exit from function free,
which has no line number information.
206       if (TERMINALP (terminal))
(gdb) s 100
1404          list = XCDR (list);
(gdb) s
1405          if (!CONSP (list) || EQ (XCAR (list), elt))
(gdb) s
1408          list = XCDR (list);
(gdb) s
1409          QUIT;
(gdb) s
1397          if (!CONSP (list) || EQ (XCAR (list), elt))
(gdb) s
1400          list = XCDR (list);
(gdb) s
1401          if (!CONSP (list) || EQ (XCAR (list), elt))
(gdb) s
1412      CHECK_LIST (list);
(gdb) s
1414    }
(gdb) s
Fbyte_code (bytestr=136734851, vector=136734868, maxdepth=<value optimized out>)
    at bytecode.c:561
561                 AFTER_POTENTIAL_GC ();
(gdb) s
560                 TOP = Fmemq (TOP, v1);
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
697               op -= Bunbind;
(gdb) s
700               unbind_to (SPECPDL_INDEX () - op, Qnil);
(gdb) s
699               BEFORE_POTENTIAL_GC ();
(gdb) s
700               unbind_to (SPECPDL_INDEX () - op, Qnil);
(gdb) s
unbind_to (count=4, value=137771209) at eval.c:3367
3367      Lisp_Object quitf = Vquit_flag;
(gdb) s
3371      Vquit_flag = Qnil;
(gdb) s
3367      Lisp_Object quitf = Vquit_flag;
(gdb) s
3371      Vquit_flag = Qnil;
(gdb) s
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3382          this_binding = *--specpdl_ptr;
(gdb) s
3384          if (this_binding.func != 0)
(gdb) s
3393          else if (CONSP (this_binding.symbol))
(gdb) s
3412              if (!MISCP (SYMBOL_VALUE (this_binding.symbol)))
(gdb) s
3413                SET_SYMBOL_VALUE (this_binding.symbol, 
this_binding.old_value);
(gdb) s
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3419      if (NILP (Vquit_flag) && !NILP (quitf))
(gdb) s
3424    }
(gdb) s
Fbyte_code (bytestr=136734851, vector=136734868, maxdepth=<value optimized out>)
    at bytecode.c:701
701               AFTER_POTENTIAL_GC ();
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
736               MAYBE_GC ();
(gdb) s
737               op = FETCH2;
(gdb) s
738               if (NILP (TOP))
(gdb) s
740                   BYTE_CODE_QUIT;
(gdb) s
737               op = FETCH2;
(gdb) s
742                   stack.pc = stack.byte_string_start + op;
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
1665      byte_stack_list = byte_stack_list->next;
(gdb) s
816               result = POP;
(gdb) s
1665      byte_stack_list = byte_stack_list->next;
(gdb) s
1668      if (SPECPDL_INDEX () != count)
(gdb) s
1676    }
(gdb) s
funcall_lambda (fun=136734804, nargs=0, arg_vector=0xbf9927d4) at eval.c:3222
3222      return unbind_to (count, val);
(gdb) s
unbind_to (count=3, value=137771209) at eval.c:3367
3367      Lisp_Object quitf = Vquit_flag;
(gdb) s
3371      Vquit_flag = Qnil;
(gdb) s
3367      Lisp_Object quitf = Vquit_flag;
(gdb) s
3371      Vquit_flag = Qnil;
(gdb) s
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3382          this_binding = *--specpdl_ptr;
(gdb) s
3384          if (this_binding.func != 0)
(gdb) s
3393          else if (CONSP (this_binding.symbol))
(gdb) s
3412              if (!MISCP (SYMBOL_VALUE (this_binding.symbol)))
(gdb) s
3413                SET_SYMBOL_VALUE (this_binding.symbol, 
this_binding.old_value);
(gdb) s
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3419      if (NILP (Vquit_flag) && !NILP (quitf))
(gdb) s
3424    }
(gdb) s
funcall_lambda (fun=136734804, nargs=0, arg_vector=0xbf9927d4) at eval.c:3223
3223    }
(gdb) s
Ffuncall (nargs=1, args=0xbf9927d0) at eval.c:3099
3099      lisp_eval_depth--;
(gdb) s
3100      if (backtrace.debug_on_exit)
(gdb) s
3102      backtrace_list = backtrace.next;
(gdb) s
3104    }
(gdb) s
Fbyte_code (bytestr=136490859, vector=136490884, maxdepth=<value optimized out>)
    at bytecode.c:679
679                 AFTER_POTENTIAL_GC ();
(gdb) s
678                 TOP = Ffuncall (op + 1, &TOP);
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
527                 MAYBE_GC ();
(gdb) s
528                 op = FETCH2;
(gdb) s
529                 v1 = POP;
(gdb) s
530                 if (NILP (v1))
(gdb) s
532                     BYTE_CODE_QUIT;
(gdb) s
528                 op = FETCH2;
(gdb) s
534                     stack.pc = stack.byte_string_start + op;
(gdb) s
528                 op = FETCH2;
(gdb) s
534                     stack.pc = stack.byte_string_start + op;
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
1658              PUSH (vectorp[op - Bconstant]);
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
477           op = FETCH;
(gdb) s
480           switch (op)
(gdb) s
1665      byte_stack_list = byte_stack_list->next;
(gdb) s
816               result = POP;
(gdb) s
1665      byte_stack_list = byte_stack_list->next;
(gdb) s
1668      if (SPECPDL_INDEX () != count)
(gdb) s
1676    }
(gdb) s
Feval (form=136490845) at eval.c:2428
2428      lisp_eval_depth--;
(gdb) s
2429      if (backtrace.debug_on_exit)
(gdb) s
2431      backtrace_list = backtrace.next;
(gdb) s
2434    }
(gdb) s
Fprogn (args=136490837) at eval.c:450
450           args = XCDR (args);
(gdb) s
449           val = Feval (XCAR (args));
(gdb) s
447       while (CONSP (args))
(gdb) s
455     }
(gdb) s
unbind_to (count=32, value=137771209) at eval.c:3373
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3382          this_binding = *--specpdl_ptr;
(gdb) s
3384          if (this_binding.func != 0)
(gdb) s
3393          else if (CONSP (this_binding.symbol))
(gdb) s
3412              if (!MISCP (SYMBOL_VALUE (this_binding.symbol)))
(gdb) s
3413                SET_SYMBOL_VALUE (this_binding.symbol, 
this_binding.old_value);
(gdb) s
3373      while (specpdl_ptr != specpdl + count)
(gdb) s
3419      if (NILP (Vquit_flag) && !NILP (quitf))
(gdb) s
3424    }
(gdb) s
unwind_to_catch (catch=0xbf99337c, value=<value optimized out>) at eval.c:1281
1281          handlerlist = catchlist->handlerlist;
(gdb) s
1284      while (! last_time);
(gdb) s
1281          handlerlist = catchlist->handlerlist;
(gdb) s
1282          catchlist = catchlist->next;
(gdb) s
1284      while (! last_time);
(gdb) s
1296      byte_stack_list = catch->byte_stack;
(gdb) s
1307      _longjmp (catch->jmp, 1);
(gdb) s
1296      byte_stack_list = catch->byte_stack;
(gdb) s
1297      gcprolist = catch->gcpro;
(gdb) s
1304      backtrace_list = catch->backlist;
(gdb) s
1305      lisp_eval_depth = catch->lisp_eval_depth;
(gdb) s
1307      _longjmp (catch->jmp, 1);
(gdb) s
Warning:
Cannot insert breakpoint -248.
Error accessing memory address 0xfe120f84: Input/output error.

(gdb) s
Single stepping until exit from function siglongjmp,
which has no line number information.
Font `-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1' is not defined

Program exited with code 0377.


Steve Berman





reply via email to

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