Issue724

classification
Title "Selection Aborted" error after clicking in frame with Compiz
Type defect Module core code 21.5
Severity inconvenience Platform x86, unix, xt
Keywords Nosy List mike.kupfer
explanation
process
These controls should only be changed by committers and tracker administrators.
Status new   Reason
Superseder  
Priority normal   Assigned To

Created on 2010-07-24.04:03:29 by mike.kupfer, last changed 2012-09-25.00:00:12 by mike.kupfer.

Messages
msg2449 [hidden] ([hidden]) Date: 2012-09-25.00:00:11
I noticed that this has something to do with the "raise on click" 
setting in Compiz.  If it's enabled, I can get this error.  If it's not 
enabled, no error.

And here's a better stack trace:

  # bind (standard-output stack-trace-on-signal debug-on-signal stack-
trace-on-error debug-on-error)
  # (unwind-protect ...)
  signal(error ("Selection aborted"))
  # bind (args datum)
  cerror("Selection aborted")
  apply(cerror "Selection aborted" nil)
  # bind (args datum)
  error("Selection aborted")
  (cond ((motion-event-p event) (if (and (not mouse-moved) (or (> (abs 
(- (event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-pixel 
event) orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-
track-run-hook (quote mouse-track-drag-hook) overriding-hooks event 
mouse-track-click-count nil)) (mouse-track-set-timeout event)) ((and 
(timeout-event-p event) (eq (event-function event) (quote mouse-track-
scroll-undefined))) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-hook) overriding-hooks (event-object event) mouse-track-
click-count t)) (mouse-track-set-timeout (event-object event))) 
((button-release-event-p event) (setq mouse-track-up-time (event-
timestamp event)) (setq mouse-track-up-x (event-x-pixel event)) (setq 
mouse-track-up-y (event-y-pixel event)) (setq mouse-down nil) (mouse-
track-run-hook (quote mouse-track-up-hook) overriding-hooks event mouse-
track-click-count) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-up-hook) overriding-hooks event mouse-track-click-count) 
(mouse-track-run-hook (quote mouse-track-click-hook) overriding-hooks 
event mouse-track-click-count))) ((or (key-press-event-p event) (and 
(misc-user-event-p event) (eq (event-function event) (quote cancel-mode-
internal)))) (setq mdk-event event) (setq mdk-orig-event orig-event) 
(error "Selection aborted")) (t (dispatch-event event)))
  (while mouse-down (setq event (next-event event)) (cond ((motion-
event-p event) (if (and (not mouse-moved) (or (> (abs (- (event-x-pixel 
event) orig-x)) xthresh) (> (abs (- (event-y-pixel event) orig-y)) 
ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-track-run-hook 
(quote mouse-track-drag-hook) overriding-hooks event mouse-track-click-
count nil)) (mouse-track-set-timeout event)) ((and (timeout-event-p 
event) (eq (event-function event) (quote mouse-track-scroll-undefined))) 
(if mouse-moved (mouse-track-run-hook (quote mouse-track-drag-hook) 
overriding-hooks (event-object event) mouse-track-click-count t)) 
(mouse-track-set-timeout (event-object event))) ((button-release-event-p 
event) (setq mouse-track-up-time (event-timestamp event)) (setq mouse-
track-up-x (event-x-pixel event)) (setq mouse-track-up-y (event-y-pixel 
event)) (setq mouse-down nil) (mouse-track-run-hook (quote mouse-track-
up-hook) overriding-hooks event mouse-track-click-count) (if mouse-moved 
(mouse-track-run-hook (quote mouse-track-drag-up-hook) overriding-hooks 
event mouse-track-click-count) (mouse-track-run-hook (quote mouse-track-
click-hook) overriding-hooks event mouse-track-click-count))) ((or (key-
press-event-p event) (and (misc-user-event-p event) (eq (event-function 
event) (quote cancel-mode-internal)))) (setq mdk-event event) (setq mdk-
orig-event orig-event) (error "Selection aborted")) (t (dispatch-event 
event))))
  # (unwind-protect ...)
  (unwind-protect (while mouse-down (setq event (next-event event)) 
(cond ((motion-event-p event) (if (and (not mouse-moved) (or (> (abs (- 
(event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-pixel event) 
orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-track-
run-hook (quote mouse-track-drag-hook) overriding-hooks event mouse-
track-click-count nil)) (mouse-track-set-timeout event)) ((and (timeout-
event-p event) (eq (event-function event) (quote mouse-track-scroll-
undefined))) (if mouse-moved (mouse-track-run-hook (quote mouse-track-
drag-hook) overriding-hooks (event-object event) mouse-track-click-count 
t)) (mouse-track-set-timeout (event-object event))) ((button-release-
event-p event) (setq mouse-track-up-time (event-timestamp event)) (setq 
mouse-track-up-x (event-x-pixel event)) (setq mouse-track-up-y (event-y-
pixel event)) (setq mouse-down nil) (mouse-track-run-hook (quote mouse-
track-up-hook) overriding-hooks event mouse-track-click-count) (if 
mouse-moved (mouse-track-run-hook (quote mouse-track-drag-up-hook) 
overriding-hooks event mouse-track-click-count) (mouse-track-run-hook 
(quote mouse-track-click-hook) overriding-hooks event mouse-track-click-
count))) ((or (key-press-event-p event) (and (misc-user-event-p event) 
(eq (event-function event) (quote cancel-mode-internal)))) (setq mdk-
event event) (setq mdk-orig-event orig-event) (error "Selection 
aborted")) (t (dispatch-event event)))) (if mouse-track-timeout-id 
(disable-timeout mouse-track-timeout-id)) (setq mouse-track-timeout-id 
nil) (and (buffer-live-p buffer) (save-excursion (set-buffer buffer) 
(let ((override (plist-get overriding-hooks (quote mouse-track-cleanup-
hook) Mouse-track-gensym))) (if (not (eq override Mouse-track-gensym)) 
(if (and (listp override) (not (eq (car override) (quote lambda)))) 
(mapc (function funcall) override) (funcall override)) (run-hooks (quote 
mouse-track-cleanup-hook)))))))
  # bind (mouse-moved orig-event mouse-grabbed-buffer buffer orig-y 
orig-x ythresh xthresh mouse-down)
  (let ((mouse-down t) (xthresh (eval mouse-track-x-threshold)) (ythresh 
(eval mouse-track-y-threshold)) (orig-x (event-x-pixel event)) (orig-y 
(event-y-pixel event)) (buffer (event-buffer event)) (mouse-grabbed-
buffer (event-buffer event)) (orig-event event) mouse-moved) (if (or 
(not mouse-track-up-x) (not mouse-track-up-y) (not mouse-track-up-time) 
(> (- (event-timestamp event) mouse-track-up-time) mouse-track-multi-
click-time) (> (abs (- mouse-track-up-x orig-x)) xthresh) (> (abs (- 
mouse-track-up-y orig-y)) ythresh)) (setq mouse-track-click-count 1) 
(setq mouse-track-click-count (1+ mouse-track-click-count))) (if (not 
(event-window event)) (error "Not over a window.")) (mouse-track-run-
hook (quote mouse-track-down-hook) overriding-hooks event mouse-track-
click-count) (unwind-protect (while mouse-down (setq event (next-event 
event)) (cond ((motion-event-p event) (if (and (not mouse-moved) (or (> 
(abs (- (event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-
pixel event) orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved 
(mouse-track-run-hook (quote mouse-track-drag-hook) overriding-hooks 
event mouse-track-click-count nil)) (mouse-track-set-timeout event)) 
((and (timeout-event-p event) (eq (event-function event) (quote mouse-
track-scroll-undefined))) (if mouse-moved (mouse-track-run-hook (quote 
mouse-track-drag-hook) overriding-hooks (event-object event) mouse-
track-click-count t)) (mouse-track-set-timeout (event-object event))) 
((button-release-event-p event) (setq mouse-track-up-time (event-
timestamp event)) (setq mouse-track-up-x (event-x-pixel event)) (setq 
mouse-track-up-y (event-y-pixel event)) (setq mouse-down nil) (mouse-
track-run-hook (quote mouse-track-up-hook) overriding-hooks event mouse-
track-click-count) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-up-hook) overriding-hooks event mouse-track-click-count) 
(mouse-track-run-hook (quote mouse-track-click-hook) overriding-hooks 
event mouse-track-click-count))) ((or (key-press-event-p event) (and 
(misc-user-event-p event) (eq (event-function event) (quote cancel-mode-
internal)))) (setq mdk-event event) (setq mdk-orig-event orig-event) 
(error "Selection aborted")) (t (dispatch-event event)))) (if mouse-
track-timeout-id (disable-timeout mouse-track-timeout-id)) (setq mouse-
track-timeout-id nil) (and (buffer-live-p buffer) (save-excursion (set-
buffer buffer) (let ((override (plist-get overriding-hooks (quote mouse-
track-cleanup-hook) Mouse-track-gensym))) (if (not (eq override Mouse-
track-gensym)) (if (and (listp override) (not (eq (car override) (quote 
lambda)))) (mapc (function funcall) override) (funcall override)) (run-
hooks (quote mouse-track-cleanup-hook))))))))
  # bind (overriding-hooks event)
  mouse-track(#<keypress-event F 0x9b7b>)
  # bind (command-debug-status)
  call-interactively(mouse-track)
  (dispatch-event "[internal]")
  # (condition-case ... . error)
  # (catch top-level ...)

Ignore the references to mdk-event and mdk-orig-event.  I added those to 
mouse-track so that I could see if there was a pattern to the events 
that trigger the error.  The only thing I've noticed is that they're 
always keypress events.
msg2199 [hidden] ([hidden]) Date: 2010-07-24.04:03:29
I've noticed an occasional problem with 21.5, where some other
application has the input focus, I click inside an XEmacs frame to
give it focus, and my next keypress produces a "Selection Aborted"
error.

I've seen this ever since I started using 21.5 (many months ago), but
intermittently.  This week I noticed that it only happens with Compiz,
not with Metacity.  This is on Ubuntu Linux, both 9.04 and 9.10.  It
may have also happened on openSUSE 10.<something>, but I don't
remember for sure.

I also got a sample stack trace:

Debugger entered--Lisp error: (error "Selection aborted")
  signal(error ("Selection aborted"))
  cerror("Selection aborted")
  apply(cerror "Selection aborted" nil)
  error("Selection aborted")
  mouse-track(#<keypress-event control-A 0x44da>)
  call-interactively(mouse-track)
  (dispatch-event "[internal]")
History
Date User Action Args
2012-09-25 00:00:13mike.kupfersetmessages: + msg2449
2010-07-24 04:03:29mike.kupfercreate