all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Heerdegen <michael_heerdegen@web.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 17524@debbugs.gnu.org
Subject: bug#17524: 24.4.50; emacs_backtrace.txt
Date: Fri, 23 May 2014 00:46:45 +0200	[thread overview]
Message-ID: <87r43l5t4a.fsf@web.de> (raw)
In-Reply-To: <87lhtvceww.fsf@web.de> (Michael Heerdegen's message of "Wed, 21 May 2014 17:47:11 +0200")

[-- Attachment #1: Type: text/plain, Size: 59 bytes --]

Hello,

Hope I did what you meant.  This is what I tried:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: xfns.c.patch --]
[-- Type: text/x-diff, Size: 1674 bytes --]

*** /tmp/ediff3444YHS	2014-05-23 00:42:39.365203371 +0200
--- /home/micha/software/emacs/src/xfns.c	2014-05-23 00:17:59.787938756 +0200
***************
*** 2694,2699 ****
--- 2694,2710 ----
      {
  #if defined GLYPH_DEBUG && defined ENABLE_CHECKING
        struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f);
+       
+       /* If the frame's image cache refcount is still the same as our
+ 	 private shadow variable, it means we are unwinding a frame
+ 	 for which we didn't yet call init_frame_faces, where the
+ 	 refcount is incremented.  Therefore, we increment it here, so
+ 	 that free_frame_faces, called in x_free_frame_resources
+ 	 below, will not mistakenly decrement the counter that was not
+ 	 incremented yet to account for this new frame.  */
+       if (FRAME_IMAGE_CACHE (f) != NULL
+ 	  && FRAME_IMAGE_CACHE (f)->refcount == image_cache_refcount)
+ 	FRAME_IMAGE_CACHE (f)->refcount++;
  #endif
  
        x_free_frame_resources (f);
***************
*** 2702,2708 ****
  #if defined GLYPH_DEBUG && defined ENABLE_CHECKING
        /* Check that reference counts are indeed correct.  */
        eassert (dpyinfo->reference_count == dpyinfo_refcount);
!       eassert (dpyinfo->terminal->image_cache->refcount == image_cache_refcount);
  #endif
        return Qt;
      }
--- 2713,2720 ----
  #if defined GLYPH_DEBUG && defined ENABLE_CHECKING
        /* Check that reference counts are indeed correct.  */
        eassert (dpyinfo->reference_count == dpyinfo_refcount);
!       eassert (dpyinfo->terminal->image_cache != NULL
!                && dpyinfo->terminal->image_cache->refcount == image_cache_refcount);
  #endif
        return Qt;
      }

[-- Attachment #3: Type: text/plain, Size: 52 bytes --]


Was that correct?  In any case, it crashed again:


[-- Attachment #4: bt --]
[-- Type: application/octet-stream, Size: 8400 bytes --]

#0  cache_image (f=0x1127088, img=0x170fc00) at image.c:1782
#1  lookup_image (f=f@entry=0x1127088, spec=spec@entry=15464054) at image.c:1693
#2  0x00000000005bd9b0 in Fimage_mask_p (spec=15464054, frame=<optimized out>) at image.c:922
#3  0x0000000000551898 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2818
#4  0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=12065010, nargs=140737488338352, args=0x2) at bytecode.c:916
#5  0x000000000055136f in funcall_lambda (fun=10284757, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffbf48) at eval.c:3049
#6  0x00000000005516cb in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffbf40)
    at eval.c:2876
#7  0x00000000005519ea in call1 (fn=fn@entry=10284757, arg1=<optimized out>) at eval.c:2614
#8  0x0000000000558292 in mapcar1 (leni=leni@entry=14, vals=vals@entry=0x7fffffffbfb0, 
    fn=fn@entry=10284757, seq=seq@entry=19265750) at fns.c:2329
#9  0x0000000000558769 in Fmapcar (function=10284757, sequence=19265750) at fns.c:2399
#10 0x0000000000551898 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2818
#11 0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=12065010, nargs=0, args=0x3) at bytecode.c:916
#12 0x000000000055136f in funcall_lambda (fun=10284677, nargs=nargs@entry=0, 
    arg_vector=arg_vector@entry=0x7fffffffc280) at eval.c:3049
#13 0x00000000005516cb in Ffuncall (nargs=1, args=0x7fffffffc278) at eval.c:2876
#14 0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=12065010, nargs=18, args=0x1) at bytecode.c:916
#15 0x000000000055136f in funcall_lambda (fun=fun@entry=10284469, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffc390) at eval.c:3049
#16 0x0000000000550864 in apply_lambda (fun=10284469, args=<optimized out>) at eval.c:2924
#17 0x0000000000550bbb in eval_sub (form=form@entry=15464726) at eval.c:2260
#18 0x0000000000554161 in Feval (form=15464726, lexical=<optimized out>) at eval.c:2003
#19 0x000000000054fe76 in internal_condition_case_1 (bfun=bfun@entry=0x4e1920 <eval_dyn>, 
    arg=arg@entry=15464726, handlers=<optimized out>, 
    hfun=hfun@entry=0x4e1800 <menu_item_eval_property_1>) at eval.c:1378
#20 0x00000000004e9f17 in menu_item_eval_property (sexpr=15464726) at keyboard.c:7602
#21 0x00000000004f3917 in get_keyelt (object=<optimized out>, object@entry=19280358, 
    autoload=autoload@entry=true) at keymap.c:758
#22 0x00000000004f3c3f in access_keymap_1 (map=<optimized out>, idx=<optimized out>, 
    t_ok=t_ok@entry=true, noinherit=noinherit@entry=false, autoload=autoload@entry=true)
    at keymap.c:524
#23 0x00000000004f4ce3 in access_keymap (map=<optimized out>, idx=<optimized out>, 
    t_ok=t_ok@entry=true, noinherit=noinherit@entry=false, autoload=autoload@entry=true)
    at keymap.c:557
#24 0x00000000004eb186 in tool_bar_items (reuse=<optimized out>, nitems=nitems@entry=0x7fffffffc6ac)
    at keyboard.c:7993
#25 0x0000000000430c65 in update_tool_bar (f=f@entry=0x1127088, 
    save_match_data=save_match_data@entry=0) at xdisp.c:11875
#26 0x000000000044c385 in update_tool_bar (save_match_data=0, f=<optimized out>) at xdisp.c:11653
#27 prepare_menu_bars () at xdisp.c:11642
#28 redisplay_internal () at xdisp.c:13443
#29 0x000000000044da15 in redisplay () at xdisp.c:13062
#30 0x00000000004ebc51 in read_char (commandflag=1, map=map@entry=15385814, prev_event=12065010, 
    used_mouse_menu=used_mouse_menu@entry=0x7fffffffd7eb, end_time=end_time@entry=0x0)
    at keyboard.c:2570
#31 0x00000000004ed5c3 in read_key_sequence (keybuf=keybuf@entry=0x7fffffffd8c0, prompt=12065010, 
    dont_downcase_last=dont_downcase_last@entry=false, 
    can_return_switch_frame=can_return_switch_frame@entry=true, 
    fix_current_buffer=fix_current_buffer@entry=true, 
    prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at keyboard.c:9087
#32 0x00000000004ef1e0 in command_loop_1 () at keyboard.c:1452
#33 0x000000000054fd4e in internal_condition_case (bfun=bfun@entry=0x4eeff0 <command_loop_1>, 
    handlers=<optimized out>, hfun=hfun@entry=0x4e60a0 <cmd_error>) at eval.c:1354
#34 0x00000000004e186e in command_loop_2 (ignore=ignore@entry=12065010) at keyboard.c:1177
#35 0x000000000054fc5b in internal_catch (tag=12188274, func=func@entry=0x4e1850 <command_loop_2>, 
    arg=12065010) at eval.c:1118
#36 0x00000000004e5c53 in command_loop () at keyboard.c:1148
#37 recursive_edit_1 () at keyboard.c:777
#38 0x000000000050dc27 in read_minibuf (map=map@entry=15967254, initial=initial@entry=12065010, 
    prompt=<optimized out>, prompt@entry=19897681, expflag=<optimized out>, 
    histvar=histvar@entry=12228866, histpos=0, defalt=defalt@entry=12081489, allow_props=false, 
    inherit_input_method=false) at minibuf.c:674
#39 0x000000000050e28e in Fread_from_minibuffer (prompt=19897681, initial_contents=12065010, 
    keymap=15967254, read=12065010, hist=<optimized out>, default_value=12081489, 
    inherit_input_method=12065010) at minibuf.c:957
#40 0x0000000000551820 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2841
#41 0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=8200, nargs=140737488346104, args=0x8) at bytecode.c:916
#42 0x0000000000551407 in funcall_lambda (fun=9486809, nargs=nargs@entry=8, 
    arg_vector=0x90c200 <pure+882304>, arg_vector@entry=0x7fffffffdd48) at eval.c:2983
#43 0x00000000005516cb in Ffuncall (nargs=nargs@entry=9, args=args@entry=0x7fffffffdd40)
    at eval.c:2876
#44 0x000000000050bcd0 in Fcompleting_read (prompt=prompt@entry=19897681, collection=12230290, 
    predicate=predicate@entry=12065010, require_match=require_match@entry=16179410, 
    initial_input=initial_input@entry=12065010, hist=hist@entry=12228866, def=def@entry=12081489, 
    inherit_input_method=inherit_input_method@entry=12065010) at minibuf.c:1674
#45 0x000000000050bf06 in Fread_buffer (prompt=19897681, def=<optimized out>, require_match=16179410)
    at minibuf.c:1133
#46 0x0000000000551888 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2822
#47 0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=12065010, nargs=140737488346816, args=0x4) at bytecode.c:916
#48 0x000000000055136f in funcall_lambda (fun=fun@entry=8969997, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffdfd0) at eval.c:3049
#49 0x0000000000550864 in apply_lambda (fun=8969997, args=<optimized out>) at eval.c:2924
#50 0x0000000000550bbb in eval_sub (form=<optimized out>) at eval.c:2260
#51 0x0000000000550f64 in eval_sub (form=form@entry=8971238) at eval.c:2149
#52 0x0000000000554161 in Feval (form=form@entry=8971238, lexical=<optimized out>) at eval.c:2003
#53 0x000000000054d7c9 in Fcall_interactively (function=12377778, record_flag=12065010, keys=12099997)
    at callint.c:345
#54 0x0000000000551888 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2822
#55 0x0000000000585385 in exec_byte_code (bytestr=16204144, vector=12233266, maxdepth=12311458, 
    args_template=4100, nargs=140737488348064, args=0x4) at bytecode.c:916
#56 0x0000000000551407 in funcall_lambda (fun=9521153, nargs=nargs@entry=1, 
    arg_vector=0x914828 <pure+916648>, arg_vector@entry=0x7fffffffe4d8) at eval.c:2983
#57 0x00000000005516cb in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffe4d0)
    at eval.c:2876
#58 0x00000000005519ea in call1 (fn=<optimized out>, arg1=<optimized out>) at eval.c:2614
#59 0x00000000004ef37d in command_loop_1 () at keyboard.c:1559
#60 0x000000000054fd4e in internal_condition_case (bfun=bfun@entry=0x4eeff0 <command_loop_1>, 
    handlers=<optimized out>, hfun=hfun@entry=0x4e60a0 <cmd_error>) at eval.c:1354
#61 0x00000000004e186e in command_loop_2 (ignore=ignore@entry=12065010) at keyboard.c:1177
#62 0x000000000054fc5b in internal_catch (tag=12112514, func=func@entry=0x4e1850 <command_loop_2>, 
    arg=12065010) at eval.c:1118
#63 0x00000000004e5cc7 in command_loop () at keyboard.c:1156
#64 recursive_edit_1 () at keyboard.c:777
#65 0x00000000004e5fdd in Frecursive_edit () at keyboard.c:848
#66 0x0000000000415ec5 in main (argc=<optimized out>, argv=0x7fffffffe878) at emacs.c:1646

[-- Attachment #5: Type: text/plain, Size: 11 bytes --]



Michael.

  reply	other threads:[~2014-05-22 22:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-18 21:50 bug#17524: 24.4.50; emacs_backtrace.txt Drew Adams
2014-05-18 21:54 ` Drew Adams
2014-05-18 22:58   ` Michael Heerdegen
2014-05-18 23:42     ` Drew Adams
2014-05-20 16:31     ` Eli Zaretskii
2014-05-20 17:22       ` Michael Heerdegen
2014-05-20 20:00         ` Eli Zaretskii
2014-05-21 15:47           ` Michael Heerdegen
2014-05-22 22:46             ` Michael Heerdegen [this message]
2014-05-23  6:01               ` Eli Zaretskii
2014-05-20 16:30   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r43l5t4a.fsf@web.de \
    --to=michael_heerdegen@web.de \
    --cc=17524@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.