GNU bug report logs -
#29170
Emacs freezes when doing a gui-get-selection on OpenBSD
Previous Next
Reported by: daimrod <at> omecha.info (Grégoire Jadi)
Date: Mon, 6 Nov 2017 14:22:02 UTC
Severity: normal
Tags: confirmed
Merged with 45544
Found in versions 26.0.90, 27.1.90
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> daimrod <at> omecha.info writes:
>
>>> If this is an OpenBSD-only problem, maybe we should install that
>>> change #ifdef'ed by OpenBSD?
>
> Yes, but as noted by others in the thread, the patch leads to other
> issues on OpenBSD, too, so it's not a complete solution.
>
>> I'll have to test it, but I've been told that the issue doesn't occur
>> when the "junk" is disabled in the memory allocator (j = 0).
>>
>> See MALLOC OPTIONS in malloc(3) https://man.openbsd.org/malloc
>>
>> j “Less junking”. Decrease the junk level by one if it is larger
>> than 0. Junking writes some junk bytes into the area allocated.
>> Junk is bytes of 0xdb when allocating; freed chunks are filled
>> with 0xdf. By default the junk level is 1: after free, small
>> chunks are completely junked; for pages the first part is junked.
>> After a delay, the filling pattern is validated and the process
>> is aborted if the pattern was modified. For junk level 2,
>> junking is done on allocation as well and without size
>> restrictions. If the junk level is zero, no junking is
>> performed.
>
> Huh. How odd that this would have an affect on this infloop?
So, I tested it on emacs-27.1 with junk disabled and it still freezes.
$ MALLOC_OPTIONS=jj emacs -q
(let ((value 'SECONDARY)
(x-selection-timeout 2000))
;;; from org-get-x-clipboard in lisp/org-compat.el
(gui-get-selection value 'UTF8_STRING)
(gui-get-selection value 'COMPOUND_TEXT)
(gui-get-selection value 'STRING)
(gui-get-selection value 'TEXT))
--
daimrod
PGP : AF26 E9C2 A1C8 8D32 A868 4386 1373 5477 2B65 1894
This bug report was last modified 3 years and 338 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.