* Crash on empty HOME var in Windows registry
@ 2007-06-18 9:12 Vincent Liard
2007-06-18 12:15 ` Juanma Barranquero
2007-06-19 10:40 ` Richard Stallman
0 siblings, 2 replies; 16+ messages in thread
From: Vincent Liard @ 2007-06-18 9:12 UTC (permalink / raw)
To: bug-gnu-emacs
Hi,
I'm using emacs on Windows XP SP2 (yes, I would prefer to run it
under GNU/Linux). While configuring the HOME variable in the
registry, at HKEY_CURRENT_USER\Software\GNU\emacs, I noticed that
having an empty HOME string value at this place causes emacs to
crash at start. My emacs version is
GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600) of 2004-03-10 on NYAUMO
Thanks for the great work on emacs !
Have a good day,
Vincent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 9:12 Crash on empty HOME var in Windows registry Vincent Liard
@ 2007-06-18 12:15 ` Juanma Barranquero
2007-06-18 12:47 ` Vincent Liard
2007-06-18 15:19 ` Jason Rumney
2007-06-19 10:40 ` Richard Stallman
1 sibling, 2 replies; 16+ messages in thread
From: Juanma Barranquero @ 2007-06-18 12:15 UTC (permalink / raw)
To: Vincent Liard; +Cc: bug-gnu-emacs
On 6/18/07, Vincent Liard <vincent.liard@free.fr> wrote:
> having an empty HOME string value at this place causes emacs to
> crash at start.
In fact Emacs is not crashing, but aborting because it doesn't have a
valid HOME value in its environment. It's a check.
It could be fixed with the simple patch below, which forces
environment variables coming from the registry to have non-null values
(else they get the default value).
I'm not sure whether is the right thing to do, though: first, because
a null HOME or SHELL in the registry is likely an error; and second,
because I'm not sure it makes sense for other environment variables to
have null values on the registry.
Jason?
Juanma
Index: src/w32.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/w32.c,v
retrieving revision 1.113
diff -u -2 -r1.113 w32.c
--- src/w32.c 14 Jun 2007 15:58:13 -0000 1.113
+++ src/w32.c 18 Jun 2007 12:07:47 -0000
@@ -1156,5 +1156,6 @@
int dont_free = 0;
- if ((lpval = w32_get_resource (env_vars[i].name, &dwType)) == NULL)
+ if ((lpval = w32_get_resource (env_vars[i].name, &dwType)) == NULL
+ || *lpval == 0)
{
lpval = env_vars[i].def_value;
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 12:15 ` Juanma Barranquero
@ 2007-06-18 12:47 ` Vincent Liard
2007-06-18 13:05 ` Juanma Barranquero
2007-06-18 15:19 ` Jason Rumney
1 sibling, 1 reply; 16+ messages in thread
From: Vincent Liard @ 2007-06-18 12:47 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: bug-gnu-emacs
> I'm not sure whether is the right thing to do, though: first,
> because a null HOME or SHELL in the registry is likely an
> error; and second, because I'm not sure it makes sense for
> other environment variables to have null values on the
> registry.
As for me, I have switched to the solution of using a HOME
environment var, anyway. And I agree on you view for the content
of the registry entry.
>> having an empty HOME string value at this place causes emacs to
>> crash at start.
>
> In fact Emacs is not crashing, but aborting because it doesn't have a
> valid HOME value in its environment. It's a check.
At first, I get an emacs notification error "A fatal error has
occurred! Select Abort to exit, Retry to debug, Ignore to
continue". But when deciding to ignore, I get a Windows error
indicating that GNU Emacs encountered a problem and ought to stop
(approximately translated from the French error message).
The error signature given is :
AppName: emacs.exe
AppVer: 21.2.0.0
ModName: msvcrt.dll
ModVer: 7.0.2600.2180
Offset: 000360cb
> It could be fixed with the simple patch below, which forces
> environment variables coming from the registry to have non-null values
> (else they get the default value).
Apart from the opening curly brace which is on the + but not on
the - in the changelog, I guess it would be ok for emacs and thus
prevent the error from Windows.
Vincent
> Index: src/w32.c
> ===================================================================
> RCS file: /cvsroot/emacs/emacs/src/w32.c,v
> retrieving revision 1.113
> diff -u -2 -r1.113 w32.c
> --- src/w32.c 14 Jun 2007 15:58:13 -0000 1.113
> +++ src/w32.c 18 Jun 2007 12:07:47 -0000
> @@ -1156,5 +1156,6 @@
> int dont_free = 0;
>
> - if ((lpval = w32_get_resource (env_vars[i].name, &dwType)) ==
> NULL)
> + if ((lpval = w32_get_resource (env_vars[i].name, &dwType)) == NULL
> + || *lpval == 0)
> {
> lpval = env_vars[i].def_value;
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 12:47 ` Vincent Liard
@ 2007-06-18 13:05 ` Juanma Barranquero
0 siblings, 0 replies; 16+ messages in thread
From: Juanma Barranquero @ 2007-06-18 13:05 UTC (permalink / raw)
To: Vincent Liard; +Cc: bug-gnu-emacs
On 6/18/07, Vincent Liard <vincent.liard@free.fr> wrote:
> As for me, I have switched to the solution of using a HOME
> environment var, anyway.
Yes, that's what I do. It's better if you have other programs which use HOME.
> At first, I get an emacs notification error "A fatal error has
> occurred! Select Abort to exit, Retry to debug, Ignore to
> continue". But when deciding to ignore, I get a Windows error
> indicating that GNU Emacs encountered a problem and ought to stop
> (approximately translated from the French error message).
Yes. Emacs calls abort(), so Windows offers you to run a debugger. If
you don't, the program is forcefully finished.
> Apart from the opening curly brace which is on the + but not on
> the - in the changelog
I don't understand; the patch is fine...
Juanma
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 12:15 ` Juanma Barranquero
2007-06-18 12:47 ` Vincent Liard
@ 2007-06-18 15:19 ` Jason Rumney
2007-06-18 16:43 ` Juanma Barranquero
1 sibling, 1 reply; 16+ messages in thread
From: Jason Rumney @ 2007-06-18 15:19 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: bug-gnu-emacs, Vincent Liard
Juanma Barranquero wrote:
> I'm not sure whether is the right thing to do, though: first, because
> a null HOME or SHELL in the registry is likely an error; and second,
> because I'm not sure it makes sense for other environment variables to
> have null values on the registry.
Environment variables cannot have null values when set from the
command-line, so there is no reason I can see to support null values
when set from the registry.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 15:19 ` Jason Rumney
@ 2007-06-18 16:43 ` Juanma Barranquero
2007-06-18 21:04 ` Jason Rumney
0 siblings, 1 reply; 16+ messages in thread
From: Juanma Barranquero @ 2007-06-18 16:43 UTC (permalink / raw)
To: Jason Rumney; +Cc: bug-gnu-emacs, Vincent Liard
On 6/18/07, Jason Rumney <jasonr@gnu.org> wrote:
> Environment variables cannot have null values when set from the
> command-line, so there is no reason I can see to support null values
> when set from the registry.
Well, I don't want to "support" them, more like ignore them (that's
what the patch does). Do you think it's better to abort Emacs?
Juanma
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-18 9:12 Crash on empty HOME var in Windows registry Vincent Liard
2007-06-18 12:15 ` Juanma Barranquero
@ 2007-06-19 10:40 ` Richard Stallman
2007-06-19 11:45 ` Juanma Barranquero
2007-06-19 11:51 ` Vincent Liard
1 sibling, 2 replies; 16+ messages in thread
From: Richard Stallman @ 2007-06-19 10:40 UTC (permalink / raw)
To: Vincent Liard; +Cc: bug-gnu-emacs
Would you like to try the latest Emacs release, 22.1,
and see if it has the same problem?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-19 10:40 ` Richard Stallman
@ 2007-06-19 11:45 ` Juanma Barranquero
2007-06-19 11:51 ` Vincent Liard
1 sibling, 0 replies; 16+ messages in thread
From: Juanma Barranquero @ 2007-06-19 11:45 UTC (permalink / raw)
To: rms; +Cc: bug-gnu-emacs, Vincent Liard
On 6/19/07, Richard Stallman <rms@gnu.org> wrote:
> Would you like to try the latest Emacs release, 22.1,
> and see if it has the same problem?
Emacs 22.1 on Windows has the same problem. I'll install the fix as
soon as CVS is working again.
Juanma
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-19 10:40 ` Richard Stallman
2007-06-19 11:45 ` Juanma Barranquero
@ 2007-06-19 11:51 ` Vincent Liard
2007-06-19 12:00 ` Juanma Barranquero
1 sibling, 1 reply; 16+ messages in thread
From: Vincent Liard @ 2007-06-19 11:51 UTC (permalink / raw)
To: rms; +Cc: bug-gnu-emacs
> Would you like to try the latest Emacs release, 22.1,
> and see if it has the same problem?
So, I have installed 22.1 and tried. With no HOME env var and an
empty (but defined) HKEY_CURRENT_USER\Software\GNU\emacs\HOME
registry key, emacs complains "A fatal error has occurred!" and
gives the opportunity either to abort, which stops without error,
or to continue inside GDB, which causes a Windows "crash"
notification since I can't prepare it with gdb -p <emacs-PID> as
advised (because I don't have GDB installed on Windows). The
error report is:
AppName: emacs.exe
AppVer: 22.1.0.0
ModName: ntdll.dll
ModVer: 5.1.2600.2180
Offset: 00001230
Wouldn't it be desirable to just tell the user that they have
misconfigured their HOME or to proceed without complaining ?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Crash on empty HOME var in Windows registry
2007-06-19 11:51 ` Vincent Liard
@ 2007-06-19 12:00 ` Juanma Barranquero
0 siblings, 0 replies; 16+ messages in thread
From: Juanma Barranquero @ 2007-06-19 12:00 UTC (permalink / raw)
To: Vincent Liard; +Cc: bug-gnu-emacs, rms
On 6/19/07, Vincent Liard <vincent.liard@free.fr> wrote:
> Wouldn't it be desirable to just tell the user that they have
> misconfigured their HOME or to proceed without complaining ?
We'll proceed without complaining; it's simpler, and the user is going
to notice he's not getting the .emacs he was expecting anyway.
But please be patient; I cannot commit the fix to CVS right now.
Juanma
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2007-06-19 12:00 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-18 9:12 Crash on empty HOME var in Windows registry Vincent Liard
2007-06-18 12:15 ` Juanma Barranquero
2007-06-18 12:47 ` Vincent Liard
2007-06-18 13:05 ` Juanma Barranquero
2007-06-18 15:19 ` Jason Rumney
2007-06-18 16:43 ` Juanma Barranquero
2007-06-18 21:04 ` Jason Rumney
2007-06-18 21:23 ` Lennart Borgman (gmail)
2007-06-18 21:35 ` Juanma Barranquero
2007-06-18 21:49 ` Lennart Borgman (gmail)
2007-06-18 22:01 ` Jason Rumney
2007-06-18 22:24 ` Lennart Borgman (gmail)
2007-06-19 10:40 ` Richard Stallman
2007-06-19 11:45 ` Juanma Barranquero
2007-06-19 11:51 ` Vincent Liard
2007-06-19 12:00 ` Juanma Barranquero
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).