GNU bug report logs -
#5365
23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396)
Previous Next
Reported by: Sven Joachim <svenjoac <at> gmx.de>
Date: Tue, 12 Jan 2010 14:59:01 UTC
Severity: serious
Merged with 5810
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
Message #34 received at 5365 <at> debbugs.gnu.org (full text, mbox):
On 2010-01-13 18:27 +0100, Chong Yidong wrote:
> Chong Yidong <cyd <at> stupidchicken.com> writes:
>
>> Even if that's the case, I'm not sure why Vlocal_function_key_map is
>> getting garbage-collected, tho.
>
> OK, I see one place where this could happen. In xterm.c:10207:
>
> terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
> ...
> if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
> {
> char *vendor = ServerVendor (dpy);
> /* Temporarily hide the partially initialized terminal */
> terminal_list = terminal->next_terminal;
> UNBLOCK_INPUT;
> terminal->kboard->Vsystem_key_alist
> = call1 (Qvendor_specific_keysyms,
> vendor ? build_string (vendor) : empty_unibyte_string);
> BLOCK_INPUT;
> ...
> }
>
> terminal->kboard->next_kboard = all_kboards;
> all_kboards = terminal->kboard;
>
> It's possible that garbage-collection occurs during the call1, when the
> keyboard has not yet been put on the all_kboards linked list. In that
> case, it will not be protected from garbage collection.
>
> Sven, does the following patch fix the bug?
Apparently, at least I can no longer reproduce the bug.
Sven
This bug report was last modified 15 years and 110 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.