* QNX subprocess bug
@ 2006-03-25 5:34 Bob Bramwell
0 siblings, 0 replies; only message in thread
From: Bob Bramwell @ 2006-03-25 5:34 UTC (permalink / raw)
I submitted an article about this a month or so ago but never saw it come
around, so my apologies if this is old news to you.
The bug is showing up in emacs 21.2.1 on QNX 6.3.0. It appears that process IDs
on QNX really occupy 32-bits. Some of them are quite large. This causes a
problem in the subprocess package which uses an elisp integer (28 bits + type
info - I think) to try to store the PID. An added complication is that there is
a cheap-and-cheerful "just stuff this value into this elisp int" macro which (in
this case) has the effect of clobbering the type bits, ultimately resulting in
what appears to be a garbage collector infinite recursion crash.
Obvious this problem could, in principle, arise on any system that uses 32-bit
process IDs, and it seems to me rather sloppy programming to use such a
shortcut, especially in such comparatively rarely executed code.
It looks as though there ought to be some way to rewrite the code with the
integer represented as a kind of indirect object, but I don't feel qualified to
do this without consulting The Experts. Anyone wish to provide some guidance?
I will gladly fix the problem given a few pointers.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-03-25 5:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-25 5:34 QNX subprocess bug Bob Bramwell
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).