emacs-devel
[Top][All Lists]
Advanced

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

Re: crash in cvs head


From: Richard Stallman
Subject: Re: crash in cvs head
Date: Fri, 30 Jun 2006 23:21:45 -0400

    (gdb) p dpyinfo
    $1 = (struct x_display_info *) 0x0
    (gdb) up
    #1  0x080cedf4 in unwind_create_frame (frame=193660300) at xfns.c:2968
    2968          x_free_frame_resources (f);
    (gdb) p f
    No symbol "f" in current context.

The variable f was apparently optimized away.
It was surely created from FRAME.  If you had examined the data inside
FRAME, you could have diagnosed more.

Nonetheless, I think I see the problem.  Does this fix it?


*** xfns.c      25 Jun 2006 12:16:32 -0400      1.668
--- xfns.c      30 Jun 2006 15:46:37 -0400      
***************
*** 3075,3081 ****
    f->output_data.x->scroll_bar_top_shadow_pixel = -1;
    f->output_data.x->scroll_bar_bottom_shadow_pixel = -1;
  #endif /* USE_TOOLKIT_SCROLL_BARS */
-   record_unwind_protect (unwind_create_frame, frame);
  
    f->icon_name
      = x_get_arg (dpyinfo, parms, Qicon_name, "iconName", "Title",
--- 3075,3080 ----
***************
*** 3084,3089 ****
--- 3083,3091 ----
      f->icon_name = Qnil;
  
    FRAME_X_DISPLAY_INFO (f) = dpyinfo;
+ 
+   /* With FRAME_X_DISPLAY_INFO set up, this unwind-protect is safe.  */
+   record_unwind_protect (unwind_create_frame, frame);
  #if GLYPH_DEBUG
    image_cache_refcount = FRAME_X_IMAGE_CACHE (f)->refcount;
    dpyinfo_refcount = dpyinfo->reference_count;




reply via email to

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