all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#15475: 24.3.50; race condition in x_frame_rehighlight
@ 2013-09-27 23:47 Andreas Politz
  2013-09-29 10:22 ` Jan Djärv
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Politz @ 2013-09-27 23:47 UTC (permalink / raw)
  To: 15475

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


There is a race condition in x_frame_rehighlight regarding input
redirection, triggering a null-pointer access.  This kinds of
errors are usually difficult to reproduce.  I used the following
code, while simultaneously changing focus rapidly via the
window-manager.

(defun fn (&optional parms)
  (let* ((frame (make-frame parms)))
    (sit-for 1e-100)
    (redirect-frame-focus (selected-frame) frame)
    frame))

(while t
  (let ((f1 (fn
	     '((width . 20)
	       (height . 30))))
	(f2 (fn
	     '((width . 20)
	       (height . 30)
	       (top . 400)))))
    (sleep-for (/ (float (random 1000)) 5000))
    (delete-other-frames)))

Take a look at this part of the attached back-trace.

#0  0x00000000004f9b0e in frame_highlight (f=0x132b510) at xterm.c:3204
#4  0x00000000004fa4ae in x_detect_focus_change (dpyinfo=0x15ba800, frame=0x11c7e68, 
    event=0x7fffffffb300, bufp=0x7fffffffae50) at xterm.c:3522
#14 0x00000000004ff413 in XTread_socket (...) at xterm.c:7066
#19 0x00000000005409e7 in unblock_input () at keyboard.c:7116
#20 0x0000000000503f82 in x_free_frame_resources (f=0x132b510) at xterm.c:9383
#21 0x0000000000503fbf in x_destroy_window (f=0x132b510) at xterm.c:9397
#22 0x00000000004274b7 in delete_frame (frame=20100373, force=12634498) at frame.c:1362
#23 0x000000000042784e in Fdelete_frame (frame=20100373, force=12634498) at frame.c:1495

Note that the freed frame in #20 is the same as the one about to
be highlighted in #0.  delete_frame would later execute

    f->terminal = 0;             /* Now the frame is dead.  */

but won't, since x_destroy_window has not returned yet.  But
x_free_frame_resources has executed

    f->output_data.x = NULL;

, so FRAME_LIVE_P(f) is still true, but FRAME_X_DISPLAY is no
good at this moment.  Then in x_frame_rehighlight the deleted
frame becomes the x_highlight_frame.


(gdb) p /x dpyinfo->x_focus_frame
$30 = 0x11c7e68
(gdb) p /x dpyinfo->x_highlight_frame 
$27 = 0x132b510
(gdb) pp dpyinfo->x_focus_frame.focus_frame
#<frame emacs@luca 0x132b510>
(gdb) p /x dpyinfo->x_highlight_frame.output_data.x
$36 = 0x0
(gdb) p /x dpyinfo->x_highlight_frame.terminal
$37 = 0x110e398

The second if condition is false (FRAME_LIVE_P) and
frame_highlight gets called with the halfway deleted frame, calls
FRAME_X_DISPLAY and that's the end.

-ap


[-- Attachment #2: gdb.log --]
[-- Type: application/octet-stream, Size: 6087 bytes --]

#0  0x00000000004f9b0e in frame_highlight (f=0x132b510) at xterm.c:3204
#1  0x00000000004fa652 in x_frame_rehighlight (dpyinfo=0x15ba800) at xterm.c:3589
#2  0x00000000004f9ce7 in x_new_focus_frame (dpyinfo=0x15ba800, frame=0x11c7e68) at xterm.c:3257
#3  0x00000000004f9d35 in x_focus_changed (type=9, state=1, dpyinfo=0x15ba800, frame=0x11c7e68, 
    bufp=0x7fffffffae50) at xterm.c:3271
#4  0x00000000004fa4ae in x_detect_focus_change (dpyinfo=0x15ba800, frame=0x11c7e68, 
    event=0x7fffffffb300, bufp=0x7fffffffae50) at xterm.c:3522
#5  0x00000000004fe82e in handle_one_xevent (dpyinfo=0x15ba800, event=0x7fffffffb300, 
    finish=0xb9ea64, hold_quit=0x7fffffffb590) at xterm.c:6606
#6  0x00000000004fccba in event_handler_gdk (gxev=0x7fffffffb300, ev=0xf26240, data=0x0)
    at xterm.c:5759
#7  0x00007ffff660d70c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#8  0x00007ffff660efa8 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#9  0x00007ffff660f39e in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#10 0x00007ffff45e66f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#11 0x00007ffff45ea568 in ?? () from /lib/libglib-2.0.so.0
#12 0x00007ffff45ea71c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#13 0x00007ffff699b561 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x00000000004ff413 in XTread_socket (terminal=0x110e398, hold_quit=0x7fffffffb590)
    at xterm.c:7066
#15 0x000000000054054a in gobble_input () at keyboard.c:6834
#16 0x0000000000540977 in handle_async_input () at keyboard.c:7074
#17 0x0000000000540993 in process_pending_signals () at keyboard.c:7088
#18 0x00000000005409c4 in unblock_input_to (level=0) at keyboard.c:7102
#19 0x00000000005409e7 in unblock_input () at keyboard.c:7116
#20 0x0000000000503f82 in x_free_frame_resources (f=0x132b510) at xterm.c:9383
#21 0x0000000000503fbf in x_destroy_window (f=0x132b510) at xterm.c:9397
#22 0x00000000004274b7 in delete_frame (frame=20100373, force=12634498) at frame.c:1362
#23 0x000000000042784e in Fdelete_frame (frame=20100373, force=12634498) at frame.c:1495
#24 0x00000000005c8d63 in Ffuncall (nargs=2, args=0x7fffffffb888) at eval.c:2859
#25 0x00000000006091bb in exec_byte_code (bytestr=10374649, vector=10374685, maxdepth=24, 
    args_template=12634498, nargs=0, args=0x0) at bytecode.c:905
#26 0x00000000005c9738 in funcall_lambda (fun=10374597, nargs=0, arg_vector=0x9e4e1d)
    at eval.c:3090
#27 0x00000000005c9230 in apply_lambda (fun=10374597, args=12634498) at eval.c:2965
#28 0x00000000005c7af9 in eval_sub (form=20782790) at eval.c:2271
#29 0x00000000005c4306 in Fprogn (body=20782806) at eval.c:460
#30 0x00000000005c51e6 in Flet (args=20782614) at eval.c:968
#31 0x00000000005c758f in eval_sub (form=20782214) at eval.c:2174
#32 0x00000000005c4306 in Fprogn (body=20782822) at eval.c:460
#33 0x00000000005c529d in Fwhile (args=20782198) at eval.c:990
#34 0x00000000005c758f in eval_sub (form=20782182) at eval.c:2174
#35 0x00000000005f16fc in readevalloop (readcharfun=15261589, stream=0x0, sourcename=15313201, 
    printflag=false, unibyte=12634498, readfun=12634498, start=12634498, end=12634498)
    at lread.c:1876
#36 0x00000000005f19d8 in Feval_buffer (buffer=12634498, printflag=12634498, filename=23387121, 
    unibyte=12634498, do_allow_print=12634498) at lread.c:1937
#37 0x00000000005c8e0e in Ffuncall (nargs=1, args=0x7fffffffc610) at eval.c:2872
#38 0x00000000005c38c3 in Fcall_interactively (function=12800450, record_flag=16717394, 
    keys=12653549) at callint.c:836
#39 0x00000000005c8d96 in Ffuncall (nargs=4, args=0x7fffffffc908) at eval.c:2863
#40 0x00000000006091bb in exec_byte_code (bytestr=10107409, vector=10107445, maxdepth=52, 
    args_template=4100, nargs=2, args=0x7fffffffce00) at bytecode.c:905
#41 0x00000000005c943e in funcall_lambda (fun=10107365, nargs=2, arg_vector=0x7fffffffcdf0)
    at eval.c:3024
#42 0x00000000005c8f42 in Ffuncall (nargs=3, args=0x7fffffffcde8) at eval.c:2905
#43 0x00000000006091bb in exec_byte_code (bytestr=10106769, vector=10106805, maxdepth=60, 
    args_template=2052, nargs=2, args=0x7fffffffd2d8) at bytecode.c:905
#44 0x00000000005c943e in funcall_lambda (fun=10106717, nargs=2, arg_vector=0x7fffffffd2c8)
    at eval.c:3024
#45 0x00000000005c8f42 in Ffuncall (nargs=3, args=0x7fffffffd2c0) at eval.c:2905
#46 0x00000000005c8146 in Fapply (nargs=2, args=0x7fffffffd390) at eval.c:2395
#47 0x00000000005c8691 in apply1 (fn=12997266, arg=20788918) at eval.c:2629
#48 0x00000000005c1c35 in Fcall_interactively (function=12997266, record_flag=12634498, 
    keys=12653549) at callint.c:378
#49 0x00000000005c8d96 in Ffuncall (nargs=4, args=0x7fffffffd6b8) at eval.c:2863
#50 0x00000000006091bb in exec_byte_code (bytestr=10107409, vector=10107445, maxdepth=52, 
    args_template=4100, nargs=1, args=0x7fffffffdb90) at bytecode.c:905
#51 0x00000000005c943e in funcall_lambda (fun=10107365, nargs=1, arg_vector=0x7fffffffdb88)
    at eval.c:3024
#52 0x00000000005c8f42 in Ffuncall (nargs=2, args=0x7fffffffdb80) at eval.c:2905
#53 0x00000000005c86fb in call1 (fn=12686466, arg1=12997266) at eval.c:2655
#54 0x00000000005364c8 in command_loop_1 () at keyboard.c:1559
#55 0x00000000005c5af3 in internal_condition_case (bfun=0x535ce1 <command_loop_1>, 
    handlers=12694114, hfun=0x535647 <cmd_error>) at eval.c:1339
#56 0x0000000000535a3e in command_loop_2 (ignore=12634498) at keyboard.c:1160
#57 0x00000000005c553d in internal_catch (tag=12690002, func=0x535a18 <command_loop_2>, 
    arg=12634498) at eval.c:1113
#58 0x00000000005359f0 in command_loop () at keyboard.c:1139
#59 0x0000000000535242 in recursive_edit_1 () at keyboard.c:778
#60 0x00000000005353af in Frecursive_edit () at keyboard.c:842
#61 0x0000000000533549 in main (argc=3, argv=0x7fffffffe298) at emacs.c:1577

Lisp Backtrace:
"delete-frame" (0xffffb890)
"delete-other-frames" (0xffffbcc0)
"let" (0xffffc0c8)
"while" (0xffffc2d8)
"eval-buffer" (0xffffc618)
"call-interactively" (0xffffc910)
"command-execute" (0xffffcdf0)
"execute-extended-command" (0xffffd2c8)
"call-interactively" (0xffffd6c0)
"command-execute" (0xffffdb88)

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




In GNU Emacs 24.3.50.4 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.1)
 of 2013-09-27 on luca
Bzr revision: 114421 eliz@gnu.org-20130921114819-zvk3zil4jau4ucdd
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
System Description:	Debian GNU/Linux 6.0.7 (squeeze)

Important settings:
  value of $LC_COLLATE: C
  value of $LC_MESSAGES: C
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  workgroups-mode: t
  desktop-save-mode: t
  mimo-mode: t
  ispell-track-input-method: t
  recentf-mode: t
  show-paren-mode: t
  window-numbering-mode: t
  shell-dirtrack-mode: t
  scroll-other-window-mode: t
  savehist-mode: t
  ekey-mode: t
  winner-mode: t
  eldoc-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
i f SPC c o n d i M-/ SPC i s SPC f a l s e , SPC d 
u e SPC t o SPC M-h M-h DEL DEL SPC ( F R A M-/ M-/ 
M-/ M-/ ) SPC a n d SPC f r a m e M-/ M-/ M-h M-h h 
i M-/ SPC g e t s SPC c a l l e d SPC w i t h SPC M-q 
SPC t h e M-h a SPC f r a m e M-b DEL DEL C-p C-p C-p 
SPC < = = <backspace> <backspace> - - C-b C-b C-b C-k 
C-p C-p C-p C-n C-n C-n C-n C-n C-n M-f SPC d <backspace> 
M-SPC M-f C-p C-p C-p C-j C-y C-y C-p C-n C-n C-k M-f 
C-e C-n SPC M-b t h e SPC d e l e t e d SPC M-f , SPC 
c a l l s SPC C-x o C-u C-SPC C-SPC C-SPC C-c i f r 
M-p <return> C-s x _ C-s C-M-d C-M-SPC M-w C-x o C-y 
SPC a n d SPC M-q SPC t h a t ' s SPC t h e SPC e n 
d . C-x o C-x o M-q C-x o C-x b C-s C-s <return> M-< 
C-x C-w / t m p / g <backspace> <return> y y C-x o 
C-p M-f SPC h a l f w a y M-q C-n C-l C-j C-j - a p 
C-x C-w b u g <return> C-x h C-g M-x i s p e l l <return> 
a 0 a a a 1 a a a a a a a a a a C-x C-s C-x h M-w M-x 
r e p o r t - e m <tab> b u <tab> <return>

Recent messages:
Mark set [2 times]
Quit
Spell-checking bug using aspell with en dictionary...done
Saving file /tmp/bug...
Wrote /tmp/bug
Mark set [2 times]
Saved text until "RAME_X_DISPLAY and that's the end.

-ap
"

Load-path shadows:
/home/politza/.emacs.d/elpa/yasnippet-20130907.1855/yasnippet hides /home/politza/.emacs.d/plugins/yasnippet-0.6.1c/yasnippet
/home/politza/.emacs.d/plugins/tblc hides /home/politza/.emacs.d/plugins/tblc/tblc
/home/politza/.emacs.d/plugins/haskell/haskell-cabal hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-cabal
/home/politza/.emacs.d/plugins/haskell/haskell-doc hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-doc
/home/politza/.emacs.d/plugins/haskell/ghc-core hides /home/politza/.emacs.d/plugins/haskell-mode/ghc-core
/home/politza/.emacs.d/plugins/haskell/haskell-mode hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-mode
/home/politza/.emacs.d/plugins/haskell/haskell-c hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-c
/home/politza/.emacs.d/plugins/haskell/haskell-indentation hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-indentation
/home/politza/.emacs.d/plugins/haskell/haskell-site-file hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-site-file
/home/politza/.emacs.d/plugins/haskell/haskell-ghci hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-ghci
/home/politza/.emacs.d/plugins/haskell/inf-haskell hides /home/politza/.emacs.d/plugins/haskell-mode/inf-haskell
/home/politza/.emacs.d/plugins/haskell/haskell-hugs hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-hugs
/home/politza/.emacs.d/plugins/haskell/haskell-font-lock hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-font-lock
/home/politza/.emacs.d/plugins/haskell/haskell-simple-indent hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-simple-indent
/home/politza/.emacs.d/plugins/haskell/haskell-decl-scan hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-decl-scan
/home/politza/.emacs.d/plugins/haskell/haskell-indent hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-indent
/home/politza/.emacs.d/plugins/jedi/scratch hides /home/politza/.emacs.d/plugins/ewm/scratch
/home/politza/.emacs.d/elpa/company-20130923.513/.dir-locals hides /home/politza/.emacs.d/plugins/el-get/.dir-locals
/home/politza/.emacs.d/elpa/popup-20130708.2245/popup hides /home/politza/.emacs.d/plugins/auto-complete/popup
/home/politza/.emacs.d/elpa/auto-complete-20130724.1750/auto-complete-config hides /home/politza/.emacs.d/plugins/auto-complete/auto-complete-config
/home/politza/.emacs.d/elpa/auto-complete-20130724.1750/auto-complete hides /home/politza/.emacs.d/plugins/auto-complete/auto-complete
/home/politza/.emacs.d/plugins/saveplace hides /home/politza/src/emacs/trunk/lisp/saveplace
/home/politza/.emacs.d/plugins/imenu hides /home/politza/src/emacs/trunk/lisp/imenu
/home/politza/.emacs.d/plugins/term hides /home/politza/src/emacs/trunk/lisp/term
/home/politza/.emacs.d/elpa/company-20130923.513/.dir-locals hides /home/politza/src/emacs/trunk/lisp/gnus/.dir-locals
/home/politza/.emacs.d/plugins/matlab/matlab hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/matlab
/home/politza/.emacs.d/plugins/boxquote hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/boxquote
/home/politza/.emacs.d/plugins/bm hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/bm
/home/politza/.emacs.d/plugins/haskell/haskell-decl-scan hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-decl-scan
/home/politza/.emacs.d/plugins/haskell/haskell-c hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-c
/home/politza/.emacs.d/plugins/haskell/haskell-ghci hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-ghci
/home/politza/.emacs.d/plugins/haskell/haskell-doc hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-doc
/home/politza/.emacs.d/plugins/haskell/haskell-indent hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-indent
/home/politza/.emacs.d/plugins/haskell/haskell-mode hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-mode
/home/politza/.emacs.d/plugins/haskell/haskell-hugs hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-hugs
/home/politza/.emacs.d/plugins/haskell/haskell-site-file hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-site-file
/home/politza/.emacs.d/plugins/haskell/haskell-cabal hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-cabal
/home/politza/.emacs.d/plugins/haskell/inf-haskell hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/inf-haskell
/home/politza/.emacs.d/plugins/haskell/haskell-font-lock hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-font-lock
/home/politza/.emacs.d/plugins/haskell/haskell-simple-indent hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-simple-indent
/home/politza/.emacs.d/plugins/haskell/haskell-indentation hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-indentation

Features:
(shadow sort bbdb-message mail-extr gnus-msg gnus-art mm-uu mml2015
epg-config mm-view mml-smime smime dig mailcap emacsbug sendmail ispell
hi-lock ibuf-ext align dired-aux make-mode debug haskell-font-lock
haskell-indent haskell-indentation haskell-mode etags reposition
misearch multi-isearch doc-view-fixed-scroll pdftk-outline jedi
auto-complete popup epc ctable concurrent deferred python vc-git
vc-dispatcher vc-svn vc-bzr cc-langs cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dired-eshell
workgroups bookmark pp yasnippet emacs-customizations
nogroup-customizations wp-customizations view-customizations
tex-customizations reftex-customizations
reftex-miscellaneous-configurations-customizations
reftex-label-support-customizations
reftex-referencing-labels-customizations
reftex-defining-label-environments-customizations AUCTeX-customizations
preview-customizations preview-latex-customizations
preview-appearance-customizations TeX-parse-customizations
TeX-file-customizations TeX-command-customizations
TeX-view-customizations LaTeX-customizations LaTeX-macro-customizations
LaTeX-math-customizations LaTeX-indentation-customizations
table-customizations table-hooks-customizations outlines-customizations
programming-customizations tools-customizations vc-customizations
log-edit-customizations semantic-customizations makefile-customizations
etags-customizations ediff-customizations diff-customizations
diff-mode-customizations languages-customizations elpy-customizations
matlab-customizations sh-customizations python-customizations rx
haskell-customizations c-customizations asm-customizations
multimedia-customizations image-customizations pcase help-customizations
ekey-customizations info-lookup-customizations info-customizations
customize-customizations custom-buffer-customizations
apropos-customizations help-mode files-customizations
uniquify-customizations uniquify sunrise-customizations
recentf-customizations find-file-customizations backup-customizations
faces-customizations highlight-symbol-customizations
font-lock-customizations hi-lock-customizations facemenu-customizations
external-customizations server-customizations processes-customizations
shell-customizations proced-customizations gud-customizations
tooltip-customizations grep-customizations compilation-customizations
next-error-customizations comint-customizations SQL-customizations
man-customizations environment-customizations xterm-customizations
windows-customizations winner-customizations minibuffer-customizations
savehist-customizations completion-spelling lib-string
menu-customizations keyboard-customizations chistory-customizations
initialization-customizations frames-customizations
ediff-window-customizations desktop-customizations desktop frameset
dired-customizations dired-x-customizations dired-x
dired-details-customizations editing-customizations
paragraphs-customizations matching-customizations
paren-matching-customizations paren-showing-customizations
isearch-customizations bookmark-customizations killing-customizations
indent-customizations fill-customizations emulations-customizations
editing-basics-customizations development-customizations
lisp-customizations re-builder-customizations
inferior-lisp-customizations ielm-customizations ert-customizations
edebug-customizations bytecomp-customizations advice-customizations
internal-customizations alloc-customizations extensions-customizations
eldoc-customizations cust-print-customizations data-customizations
save-place-customizations convenience-customizations mimo-customizations
mimo diminish-customizations diminish iedit-customizations
imenu-tree-customizations tags-tree-customizations
company-customizations workgroups-customizations
window-numbering-customizations pabbrev-customizations
kmacro-customizations imenu-customizations ibuffer-customizations
ibuf-macs hl-line-customizations hippie-expand-customizations
file-cache-customizations ffap-customizations completion-customizations
jedi-customizations iswitchb-customizations auto-complete-customizations
browse-kill-ring-customizations auto-revert-customizations
auto-insert-customizations Buffer-menu-customizations
comm-customizations tramp-customizations browse-url-customizations
applications-customizations mediawiki-customizations w3m-customizations
package-customizations mail-customizations bbdb-customizations
bbdb-sendmail-customizations bbdb-mua-customizations bbdb-mua bbdb-com
crm bbdb smtpmail-customizations shr-customizations
sendmail-customizations gnus-customizations nnmail-customizations
nnmail-split-customizations gnus-summary-customizations
gnus-thread-customizations gnus-summary-various-customizations
gnus-summary-sort-customizations gnus-summary-marks-customizations
gnus-summary-maneuvering-customizations
gnus-summary-format-customizations parse-time-rfc2822
gnus-summary-exit-customizations gnus-sum gnus-group gnus-undo
gnus-start gnus-spec gnus-win gnus-start-customizations
gnus-server-customizations gnus-message-customizations
message-customizations message-various-customizations
message-sending-customizations message-buffers-customizations
gnus-group-customizations gnus-group-visual-customizations
gnus-nnimap-format nnimap nnmail gnus-int mail-source message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader parse-time tls utf7 netrc
nnoo gnus gnus-ems nnheader mail-utils gnus-group-various-customizations
gnus-group-select-customizations gnus-files-customizations
gnus-newsrc-customizations gnus-exit-customizations
gnus-article-customizations gnus-article-hiding-customizations
ispell-customizations eshell-customizations eshell-module-customizations
eshell-smart-customizations eshell-hist-customizations
eshell-mode-customizations edebug doc-view-customizations
pdf-tools-customizations pdf-annot-customizations
pdf-links-customizations pdf-isearch-customizations pdf-annot tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-occur
pdf-history pdf-outline pdf-links pdf-isearch pdf-misc imenu pdf-info tq
pdf-render pdf-tools pdf-util gnus-range warnings doc-view jka-compr
image-mode calendar-customizations org-customizations
org-structure-customizations org-plain-lists-customizations
org-edit-structure-customizations org-startup-customizations
org-link-customizations org-latex-customizations
org-appearance-customizations holidays-customizations
calculator-customizations calc-customizations server recentf tree-widget
.autoload paren window-numbering w3m browse-url timezone w3m-hist
w3m-e23 w3m-ccl ccl w3m-fsf w3m-favicon w3m-image w3m-proc w3m-util view
tramp tramp-compat tramp-loaddefs trampver shell track-last-window
scroll-other-window saveplace savehist reftex reftex-vars pabbrev org
ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs lib-edit lib-window
lib-isearch lib-buffer reveal iswitchb lib-basic lib-lispext latex
easy-mmode tex-style tex dbus xml tex-site auto-loads info-look info
ibuffer hippie-exp grep compile filecache edit-minibuffer eldoc-eval
pcomplete esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg
esh-groups eshell esh-module esh-mode esh-util ekey assoc dired-details+
dired dired-details cool-prefix-bindings winner lib-kbd comint-history
comint ansi-color ring browse-kill-ring advice anticus edmacro kmacro
derived cl-macs gv ffap thingatpt url-parse auth-source eieio byte-opt
bytecomp byte-compile cconv eieio-core gnus-util mm-util mail-prsvr
password-cache url-vars eldoc help-fns cus-edit easymenu cus-start
cus-load wid-edit cl cl-loaddefs cl-lib bbdb-loaddefs
cl-format-autoloads package time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15475: 24.3.50; race condition in x_frame_rehighlight
  2013-09-27 23:47 bug#15475: 24.3.50; race condition in x_frame_rehighlight Andreas Politz
@ 2013-09-29 10:22 ` Jan Djärv
  2013-09-29 13:11   ` Andreas Politz
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Djärv @ 2013-09-29 10:22 UTC (permalink / raw)
  To: Andreas Politz; +Cc: 15475

Hello.

I've checked in a fix, please try it.

Thanks,

	Jan D.

28 sep 2013 kl. 01:47 skrev Andreas Politz <politza@hochschule-trier.de>:

> 
> There is a race condition in x_frame_rehighlight regarding input
> redirection, triggering a null-pointer access.  This kinds of
> errors are usually difficult to reproduce.  I used the following
> code, while simultaneously changing focus rapidly via the
> window-manager.
> 
> (defun fn (&optional parms)
>  (let* ((frame (make-frame parms)))
>    (sit-for 1e-100)
>    (redirect-frame-focus (selected-frame) frame)
>    frame))
> 
> (while t
>  (let ((f1 (fn
> 	     '((width . 20)
> 	       (height . 30))))
> 	(f2 (fn
> 	     '((width . 20)
> 	       (height . 30)
> 	       (top . 400)))))
>    (sleep-for (/ (float (random 1000)) 5000))
>    (delete-other-frames)))
> 
> Take a look at this part of the attached back-trace.
> 
> #0  0x00000000004f9b0e in frame_highlight (f=0x132b510) at xterm.c:3204
> #4  0x00000000004fa4ae in x_detect_focus_change (dpyinfo=0x15ba800, frame=0x11c7e68, 
>    event=0x7fffffffb300, bufp=0x7fffffffae50) at xterm.c:3522
> #14 0x00000000004ff413 in XTread_socket (...) at xterm.c:7066
> #19 0x00000000005409e7 in unblock_input () at keyboard.c:7116
> #20 0x0000000000503f82 in x_free_frame_resources (f=0x132b510) at xterm.c:9383
> #21 0x0000000000503fbf in x_destroy_window (f=0x132b510) at xterm.c:9397
> #22 0x00000000004274b7 in delete_frame (frame=20100373, force=12634498) at frame.c:1362
> #23 0x000000000042784e in Fdelete_frame (frame=20100373, force=12634498) at frame.c:1495
> 
> Note that the freed frame in #20 is the same as the one about to
> be highlighted in #0.  delete_frame would later execute
> 
>    f->terminal = 0;             /* Now the frame is dead.  */
> 
> but won't, since x_destroy_window has not returned yet.  But
> x_free_frame_resources has executed
> 
>    f->output_data.x = NULL;
> 
> , so FRAME_LIVE_P(f) is still true, but FRAME_X_DISPLAY is no
> good at this moment.  Then in x_frame_rehighlight the deleted
> frame becomes the x_highlight_frame.
> 
> 
> (gdb) p /x dpyinfo->x_focus_frame
> $30 = 0x11c7e68
> (gdb) p /x dpyinfo->x_highlight_frame 
> $27 = 0x132b510
> (gdb) pp dpyinfo->x_focus_frame.focus_frame
> #<frame emacs@luca 0x132b510>
> (gdb) p /x dpyinfo->x_highlight_frame.output_data.x
> $36 = 0x0
> (gdb) p /x dpyinfo->x_highlight_frame.terminal
> $37 = 0x110e398
> 
> The second if condition is false (FRAME_LIVE_P) and
> frame_highlight gets called with the halfway deleted frame, calls
> FRAME_X_DISPLAY and that's the end.
> 
> -ap
> 
> <gdb.log>
> 
> 
> In GNU Emacs 24.3.50.4 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.1)
> of 2013-09-27 on luca
> Bzr revision: 114421 eliz@gnu.org-20130921114819-zvk3zil4jau4ucdd
> Windowing system distributor `The X.Org Foundation', version 11.0.10707000
> System Description:	Debian GNU/Linux 6.0.7 (squeeze)
> 
> Important settings:
>  value of $LC_COLLATE: C
>  value of $LC_MESSAGES: C
>  value of $LANG: de_DE.UTF-8
>  locale-coding-system: utf-8-unix
>  default enable-multibyte-characters: t
> 
> Major mode: Emacs-Lisp
> 
> Minor modes in effect:
>  workgroups-mode: t
>  desktop-save-mode: t
>  mimo-mode: t
>  ispell-track-input-method: t
>  recentf-mode: t
>  show-paren-mode: t
>  window-numbering-mode: t
>  shell-dirtrack-mode: t
>  scroll-other-window-mode: t
>  savehist-mode: t
>  ekey-mode: t
>  winner-mode: t
>  eldoc-mode: t
>  tooltip-mode: t
>  mouse-wheel-mode: t
>  file-name-shadow-mode: t
>  global-font-lock-mode: t
>  font-lock-mode: t
>  auto-composition-mode: t
>  auto-encryption-mode: t
>  auto-compression-mode: t
>  column-number-mode: t
>  line-number-mode: t
>  transient-mark-mode: t
> 
> Recent input:
> i f SPC c o n d i M-/ SPC i s SPC f a l s e , SPC d 
> u e SPC t o SPC M-h M-h DEL DEL SPC ( F R A M-/ M-/ 
> M-/ M-/ ) SPC a n d SPC f r a m e M-/ M-/ M-h M-h h 
> i M-/ SPC g e t s SPC c a l l e d SPC w i t h SPC M-q 
> SPC t h e M-h a SPC f r a m e M-b DEL DEL C-p C-p C-p 
> SPC < = = <backspace> <backspace> - - C-b C-b C-b C-k 
> C-p C-p C-p C-n C-n C-n C-n C-n C-n M-f SPC d <backspace> 
> M-SPC M-f C-p C-p C-p C-j C-y C-y C-p C-n C-n C-k M-f 
> C-e C-n SPC M-b t h e SPC d e l e t e d SPC M-f , SPC 
> c a l l s SPC C-x o C-u C-SPC C-SPC C-SPC C-c i f r 
> M-p <return> C-s x _ C-s C-M-d C-M-SPC M-w C-x o C-y 
> SPC a n d SPC M-q SPC t h a t ' s SPC t h e SPC e n 
> d . C-x o C-x o M-q C-x o C-x b C-s C-s <return> M-< 
> C-x C-w / t m p / g <backspace> <return> y y C-x o 
> C-p M-f SPC h a l f w a y M-q C-n C-l C-j C-j - a p 
> C-x C-w b u g <return> C-x h C-g M-x i s p e l l <return> 
> a 0 a a a 1 a a a a a a a a a a C-x C-s C-x h M-w M-x 
> r e p o r t - e m <tab> b u <tab> <return>
> 
> Recent messages:
> Mark set [2 times]
> Quit
> Spell-checking bug using aspell with en dictionary...done
> Saving file /tmp/bug...
> Wrote /tmp/bug
> Mark set [2 times]
> Saved text until "RAME_X_DISPLAY and that's the end.
> 
> -ap
> "
> 
> Load-path shadows:
> /home/politza/.emacs.d/elpa/yasnippet-20130907.1855/yasnippet hides /home/politza/.emacs.d/plugins/yasnippet-0.6.1c/yasnippet
> /home/politza/.emacs.d/plugins/tblc hides /home/politza/.emacs.d/plugins/tblc/tblc
> /home/politza/.emacs.d/plugins/haskell/haskell-cabal hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-cabal
> /home/politza/.emacs.d/plugins/haskell/haskell-doc hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-doc
> /home/politza/.emacs.d/plugins/haskell/ghc-core hides /home/politza/.emacs.d/plugins/haskell-mode/ghc-core
> /home/politza/.emacs.d/plugins/haskell/haskell-mode hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-mode
> /home/politza/.emacs.d/plugins/haskell/haskell-c hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-c
> /home/politza/.emacs.d/plugins/haskell/haskell-indentation hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-indentation
> /home/politza/.emacs.d/plugins/haskell/haskell-site-file hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-site-file
> /home/politza/.emacs.d/plugins/haskell/haskell-ghci hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-ghci
> /home/politza/.emacs.d/plugins/haskell/inf-haskell hides /home/politza/.emacs.d/plugins/haskell-mode/inf-haskell
> /home/politza/.emacs.d/plugins/haskell/haskell-hugs hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-hugs
> /home/politza/.emacs.d/plugins/haskell/haskell-font-lock hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-font-lock
> /home/politza/.emacs.d/plugins/haskell/haskell-simple-indent hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-simple-indent
> /home/politza/.emacs.d/plugins/haskell/haskell-decl-scan hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-decl-scan
> /home/politza/.emacs.d/plugins/haskell/haskell-indent hides /home/politza/.emacs.d/plugins/haskell-mode/haskell-indent
> /home/politza/.emacs.d/plugins/jedi/scratch hides /home/politza/.emacs.d/plugins/ewm/scratch
> /home/politza/.emacs.d/elpa/company-20130923.513/.dir-locals hides /home/politza/.emacs.d/plugins/el-get/.dir-locals
> /home/politza/.emacs.d/elpa/popup-20130708.2245/popup hides /home/politza/.emacs.d/plugins/auto-complete/popup
> /home/politza/.emacs.d/elpa/auto-complete-20130724.1750/auto-complete-config hides /home/politza/.emacs.d/plugins/auto-complete/auto-complete-config
> /home/politza/.emacs.d/elpa/auto-complete-20130724.1750/auto-complete hides /home/politza/.emacs.d/plugins/auto-complete/auto-complete
> /home/politza/.emacs.d/plugins/saveplace hides /home/politza/src/emacs/trunk/lisp/saveplace
> /home/politza/.emacs.d/plugins/imenu hides /home/politza/src/emacs/trunk/lisp/imenu
> /home/politza/.emacs.d/plugins/term hides /home/politza/src/emacs/trunk/lisp/term
> /home/politza/.emacs.d/elpa/company-20130923.513/.dir-locals hides /home/politza/src/emacs/trunk/lisp/gnus/.dir-locals
> /home/politza/.emacs.d/plugins/matlab/matlab hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/matlab
> /home/politza/.emacs.d/plugins/boxquote hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/boxquote
> /home/politza/.emacs.d/plugins/bm hides /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/bm
> /home/politza/.emacs.d/plugins/haskell/haskell-decl-scan hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-decl-scan
> /home/politza/.emacs.d/plugins/haskell/haskell-c hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-c
> /home/politza/.emacs.d/plugins/haskell/haskell-ghci hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-ghci
> /home/politza/.emacs.d/plugins/haskell/haskell-doc hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-doc
> /home/politza/.emacs.d/plugins/haskell/haskell-indent hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-indent
> /home/politza/.emacs.d/plugins/haskell/haskell-mode hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-mode
> /home/politza/.emacs.d/plugins/haskell/haskell-hugs hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-hugs
> /home/politza/.emacs.d/plugins/haskell/haskell-site-file hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-site-file
> /home/politza/.emacs.d/plugins/haskell/haskell-cabal hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-cabal
> /home/politza/.emacs.d/plugins/haskell/inf-haskell hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/inf-haskell
> /home/politza/.emacs.d/plugins/haskell/haskell-font-lock hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-font-lock
> /home/politza/.emacs.d/plugins/haskell/haskell-simple-indent hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-simple-indent
> /home/politza/.emacs.d/plugins/haskell/haskell-indentation hides /usr/share/emacs-snapshot/site-lisp/haskell-mode/haskell-indentation
> 
> Features:
> (shadow sort bbdb-message mail-extr gnus-msg gnus-art mm-uu mml2015
> epg-config mm-view mml-smime smime dig mailcap emacsbug sendmail ispell
> hi-lock ibuf-ext align dired-aux make-mode debug haskell-font-lock
> haskell-indent haskell-indentation haskell-mode etags reposition
> misearch multi-isearch doc-view-fixed-scroll pdftk-outline jedi
> auto-complete popup epc ctable concurrent deferred python vc-git
> vc-dispatcher vc-svn vc-bzr cc-langs cc-mode cc-fonts cc-guess cc-menus
> cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dired-eshell
> workgroups bookmark pp yasnippet emacs-customizations
> nogroup-customizations wp-customizations view-customizations
> tex-customizations reftex-customizations
> reftex-miscellaneous-configurations-customizations
> reftex-label-support-customizations
> reftex-referencing-labels-customizations
> reftex-defining-label-environments-customizations AUCTeX-customizations
> preview-customizations preview-latex-customizations
> preview-appearance-customizations TeX-parse-customizations
> TeX-file-customizations TeX-command-customizations
> TeX-view-customizations LaTeX-customizations LaTeX-macro-customizations
> LaTeX-math-customizations LaTeX-indentation-customizations
> table-customizations table-hooks-customizations outlines-customizations
> programming-customizations tools-customizations vc-customizations
> log-edit-customizations semantic-customizations makefile-customizations
> etags-customizations ediff-customizations diff-customizations
> diff-mode-customizations languages-customizations elpy-customizations
> matlab-customizations sh-customizations python-customizations rx
> haskell-customizations c-customizations asm-customizations
> multimedia-customizations image-customizations pcase help-customizations
> ekey-customizations info-lookup-customizations info-customizations
> customize-customizations custom-buffer-customizations
> apropos-customizations help-mode files-customizations
> uniquify-customizations uniquify sunrise-customizations
> recentf-customizations find-file-customizations backup-customizations
> faces-customizations highlight-symbol-customizations
> font-lock-customizations hi-lock-customizations facemenu-customizations
> external-customizations server-customizations processes-customizations
> shell-customizations proced-customizations gud-customizations
> tooltip-customizations grep-customizations compilation-customizations
> next-error-customizations comint-customizations SQL-customizations
> man-customizations environment-customizations xterm-customizations
> windows-customizations winner-customizations minibuffer-customizations
> savehist-customizations completion-spelling lib-string
> menu-customizations keyboard-customizations chistory-customizations
> initialization-customizations frames-customizations
> ediff-window-customizations desktop-customizations desktop frameset
> dired-customizations dired-x-customizations dired-x
> dired-details-customizations editing-customizations
> paragraphs-customizations matching-customizations
> paren-matching-customizations paren-showing-customizations
> isearch-customizations bookmark-customizations killing-customizations
> indent-customizations fill-customizations emulations-customizations
> editing-basics-customizations development-customizations
> lisp-customizations re-builder-customizations
> inferior-lisp-customizations ielm-customizations ert-customizations
> edebug-customizations bytecomp-customizations advice-customizations
> internal-customizations alloc-customizations extensions-customizations
> eldoc-customizations cust-print-customizations data-customizations
> save-place-customizations convenience-customizations mimo-customizations
> mimo diminish-customizations diminish iedit-customizations
> imenu-tree-customizations tags-tree-customizations
> company-customizations workgroups-customizations
> window-numbering-customizations pabbrev-customizations
> kmacro-customizations imenu-customizations ibuffer-customizations
> ibuf-macs hl-line-customizations hippie-expand-customizations
> file-cache-customizations ffap-customizations completion-customizations
> jedi-customizations iswitchb-customizations auto-complete-customizations
> browse-kill-ring-customizations auto-revert-customizations
> auto-insert-customizations Buffer-menu-customizations
> comm-customizations tramp-customizations browse-url-customizations
> applications-customizations mediawiki-customizations w3m-customizations
> package-customizations mail-customizations bbdb-customizations
> bbdb-sendmail-customizations bbdb-mua-customizations bbdb-mua bbdb-com
> crm bbdb smtpmail-customizations shr-customizations
> sendmail-customizations gnus-customizations nnmail-customizations
> nnmail-split-customizations gnus-summary-customizations
> gnus-thread-customizations gnus-summary-various-customizations
> gnus-summary-sort-customizations gnus-summary-marks-customizations
> gnus-summary-maneuvering-customizations
> gnus-summary-format-customizations parse-time-rfc2822
> gnus-summary-exit-customizations gnus-sum gnus-group gnus-undo
> gnus-start gnus-spec gnus-win gnus-start-customizations
> gnus-server-customizations gnus-message-customizations
> message-customizations message-various-customizations
> message-sending-customizations message-buffers-customizations
> gnus-group-customizations gnus-group-visual-customizations
> gnus-nnimap-format nnimap nnmail gnus-int mail-source message rfc822 mml
> mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
> ietf-drums mailabbrev gmm-utils mailheader parse-time tls utf7 netrc
> nnoo gnus gnus-ems nnheader mail-utils gnus-group-various-customizations
> gnus-group-select-customizations gnus-files-customizations
> gnus-newsrc-customizations gnus-exit-customizations
> gnus-article-customizations gnus-article-hiding-customizations
> ispell-customizations eshell-customizations eshell-module-customizations
> eshell-smart-customizations eshell-hist-customizations
> eshell-mode-customizations edebug doc-view-customizations
> pdf-tools-customizations pdf-annot-customizations
> pdf-links-customizations pdf-isearch-customizations pdf-annot tablist
> tablist-filter semantic/wisent/comp semantic/wisent
> semantic/wisent/wisent semantic/util-modes semantic/util semantic
> semantic/tag semantic/lex semantic/fw mode-local cedet pdf-occur
> pdf-history pdf-outline pdf-links pdf-isearch pdf-misc imenu pdf-info tq
> pdf-render pdf-tools pdf-util gnus-range warnings doc-view jka-compr
> image-mode calendar-customizations org-customizations
> org-structure-customizations org-plain-lists-customizations
> org-edit-structure-customizations org-startup-customizations
> org-link-customizations org-latex-customizations
> org-appearance-customizations holidays-customizations
> calculator-customizations calc-customizations server recentf tree-widget
> .autoload paren window-numbering w3m browse-url timezone w3m-hist
> w3m-e23 w3m-ccl ccl w3m-fsf w3m-favicon w3m-image w3m-proc w3m-util view
> tramp tramp-compat tramp-loaddefs trampver shell track-last-window
> scroll-other-window saveplace savehist reftex reftex-vars pabbrev org
> ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys
> org-pcomplete org-list org-faces org-entities noutline outline
> org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs
> format-spec find-func cal-menu calendar cal-loaddefs lib-edit lib-window
> lib-isearch lib-buffer reveal iswitchb lib-basic lib-lispext latex
> easy-mmode tex-style tex dbus xml tex-site auto-loads info-look info
> ibuffer hippie-exp grep compile filecache edit-minibuffer eldoc-eval
> pcomplete esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg
> esh-groups eshell esh-module esh-mode esh-util ekey assoc dired-details+
> dired dired-details cool-prefix-bindings winner lib-kbd comint-history
> comint ansi-color ring browse-kill-ring advice anticus edmacro kmacro
> derived cl-macs gv ffap thingatpt url-parse auth-source eieio byte-opt
> bytecomp byte-compile cconv eieio-core gnus-util mm-util mail-prsvr
> password-cache url-vars eldoc help-fns cus-edit easymenu cus-start
> cus-load wid-edit cl cl-loaddefs cl-lib bbdb-loaddefs
> cl-format-autoloads package time-date tooltip ediff-hook vc-hooks
> lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
> fringe tabulated-list newcomment lisp-mode prog-mode register page
> menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
> syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
> vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
> romanian slovak czech european ethiopic indian cyrillic chinese
> case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
> loaddefs button faces cus-face macroexp files text-properties overlay
> sha1 md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote make-network-process dbusbind
> gfilenotify dynamic-setting system-font-setting font-render-setting
> move-toolbar gtk x-toolkit x multi-tty emacs)






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15475: 24.3.50; race condition in x_frame_rehighlight
  2013-09-29 10:22 ` Jan Djärv
@ 2013-09-29 13:11   ` Andreas Politz
  2013-09-29 13:13     ` Jan Djärv
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Politz @ 2013-09-29 13:11 UTC (permalink / raw)
  To: Jan Djärv; +Cc: 15475

Jan Djärv <jan.h.d@swipnet.se> writes:

> I've checked in a fix, please try it.

It's working, thanks.

-ap





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15475: 24.3.50; race condition in x_frame_rehighlight
  2013-09-29 13:11   ` Andreas Politz
@ 2013-09-29 13:13     ` Jan Djärv
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Djärv @ 2013-09-29 13:13 UTC (permalink / raw)
  To: Andreas Politz; +Cc: 15475-done

Hi.

29 sep 2013 kl. 15:11 skrev Andreas Politz <politza@hochschule-trier.de>:

> Jan Djärv <jan.h.d@swipnet.se> writes:
> 
>> I've checked in a fix, please try it.
> 
> It's working, thanks.


Ok, closing.

Thanks for testing.

	Jan D.






^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-09-29 13:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-27 23:47 bug#15475: 24.3.50; race condition in x_frame_rehighlight Andreas Politz
2013-09-29 10:22 ` Jan Djärv
2013-09-29 13:11   ` Andreas Politz
2013-09-29 13:13     ` Jan Djärv

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.