unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GNU Emacs CVS HEAD: "nmake bootstrap" fails
@ 2006-01-19  6:07 dhruva
  2006-01-19 16:53 ` GNU Emacs CVS HEAD: Eric Hanchrow
  0 siblings, 1 reply; 16+ messages in thread
From: dhruva @ 2006-01-19  6:07 UTC (permalink / raw)


Hello,
 I am trying to build GNU Emacs (from CVS head) on W-XP using MSVC.
The build fails for:

cmd> configure --prefix=C:/GNU/emacs --with-msvc
cmd> nmake bootstrap
....
....
....
Loading language/chinese (source)...
Loading language/cyrillic (source)...
Loading language/indian (source)...
IO error reading c:/tmp/build/emacs/lisp/language/indian.el: Bad file descriptor

NMAKE : fatal error U1077: '"C:\tmp\build\emacs\src/obj-spd/i386/temacs.exe"' :
return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~3\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.


I am able to open the c:\tmp\build\emacs\lisp\language\indian.el file
in any of the editors and do not see anything wrong.

-dk

--
Dhruva Krishnamurthy
Proud GNU/FSF member: #1935

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-19  6:07 GNU Emacs CVS HEAD: "nmake bootstrap" fails dhruva
@ 2006-01-19 16:53 ` Eric Hanchrow
  2006-01-20 12:58   ` Kenichi Handa
  2006-01-20 16:37   ` Eli Zaretskii
  0 siblings, 2 replies; 16+ messages in thread
From: Eric Hanchrow @ 2006-01-19 16:53 UTC (permalink / raw)


dhruva <dklefty <at> gmail.com> writes:

> Loading language/indian (source)...
> IO error reading c:/tmp/build/emacs/lisp/language/indian.el: 
> Bad file descriptor

Thanks for reporting this.  I'm seeing essentially the same problem; the only
difference is that I use the mingw32 tools to build, instead of Microsoft's.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-19 16:53 ` GNU Emacs CVS HEAD: Eric Hanchrow
@ 2006-01-20 12:58   ` Kenichi Handa
  2006-01-20 19:33     ` Eli Zaretskii
  2006-01-20 16:37   ` Eli Zaretskii
  1 sibling, 1 reply; 16+ messages in thread
From: Kenichi Handa @ 2006-01-20 12:58 UTC (permalink / raw)
  Cc: emacs-devel

In article <loom.20060119T174907-286@post.gmane.org>, Eric Hanchrow <offby1@blarg.net> writes:

> dhruva <dklefty <at> gmail.com> writes:
>> Loading language/indian (source)...
>> IO error reading c:/tmp/build/emacs/lisp/language/indian.el: 
>> Bad file descriptor

> Thanks for reporting this.  I'm seeing essentially the same problem; the only
> difference is that I use the mingw32 tools to build, instead of Microsoft's.

I've got a report saying that it seems that the recent
changes to autoload-coding-system (mule.el) is the culprit.
He wrote that applying the following patch will fix the
problem.

*** mule.el	16 Jan 2006 21:01:11 +0900	1.229
--- mule.el	20 Jan 2006 21:54:09 +0900	
***************
*** 1147,1153 ****
  				  coding-system-alist))
    (dolist (elt '("-unix" "-dos" "-mac"))
      (let ((name (concat (symbol-name symbol) elt)))
!       (put (intern name) 'coding-system-define-form form)
        (setq coding-system-alist (cons (list name) coding-system-alist)))))
  
  (defun set-buffer-file-coding-system (coding-system &optional force nomodify)
--- 1147,1153 ----
  				  coding-system-alist))
    (dolist (elt '("-unix" "-dos" "-mac"))
      (let ((name (concat (symbol-name symbol) elt)))
!       ;; (put (intern name) 'coding-system-define-form form)
        (setq coding-system-alist (cons (list name) coding-system-alist)))))
  
  (defun set-buffer-file-coding-system (coding-system &optional force nomodify)


But, I have no idea what is wrong with the original code.
Does someone have any adea?

---
Kenichi Handa
handa@m17n.org

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-19 16:53 ` GNU Emacs CVS HEAD: Eric Hanchrow
  2006-01-20 12:58   ` Kenichi Handa
@ 2006-01-20 16:37   ` Eli Zaretskii
  1 sibling, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-20 16:37 UTC (permalink / raw)
  Cc: emacs-devel

> From: Eric Hanchrow <offby1@blarg.net>
> Date: Thu, 19 Jan 2006 16:53:38 +0000 (UTC)
> 
> dhruva <dklefty <at> gmail.com> writes:
> 
> > Loading language/indian (source)...
> > IO error reading c:/tmp/build/emacs/lisp/language/indian.el: 
> > Bad file descriptor
> 
> Thanks for reporting this.  I'm seeing essentially the same problem; the only
> difference is that I use the mingw32 tools to build, instead of Microsoft's.

I'm debugging this.  Looks like some Windows-specific bug that raised
its ugly head because of recent changes in code-pages.el.  Stay tuned.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-20 12:58   ` Kenichi Handa
@ 2006-01-20 19:33     ` Eli Zaretskii
  2006-01-20 23:48       ` Juanma Barranquero
                         ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-20 19:33 UTC (permalink / raw)
  Cc: offby1, emacs-devel

> From: Kenichi Handa <handa@m17n.org>
> Date: Fri, 20 Jan 2006 21:58:01 +0900
> Cc: emacs-devel@gnu.org
> 
> > dhruva <dklefty <at> gmail.com> writes:
> >> Loading language/indian (source)...
> >> IO error reading c:/tmp/build/emacs/lisp/language/indian.el: 
> >> Bad file descriptor
> 
> > Thanks for reporting this.  I'm seeing essentially the same problem; the only
> > difference is that I use the mingw32 tools to build, instead of Microsoft's.
> 
> I've got a report saying that it seems that the recent
> changes to autoload-coding-system (mule.el) is the culprit.
> He wrote that applying the following patch will fix the
> problem.
> 
> *** mule.el	16 Jan 2006 21:01:11 +0900	1.229
> --- mule.el	20 Jan 2006 21:54:09 +0900	
> ***************
> *** 1147,1153 ****
>   				  coding-system-alist))
>     (dolist (elt '("-unix" "-dos" "-mac"))
>       (let ((name (concat (symbol-name symbol) elt)))
> !       (put (intern name) 'coding-system-define-form form)
>         (setq coding-system-alist (cons (list name) coding-system-alist)))))
>   
>   (defun set-buffer-file-coding-system (coding-system &optional force nomodify)
> --- 1147,1153 ----
>   				  coding-system-alist))
>     (dolist (elt '("-unix" "-dos" "-mac"))
>       (let ((name (concat (symbol-name symbol) elt)))
> !       ;; (put (intern name) 'coding-system-define-form form)
>         (setq coding-system-alist (cons (list name) coding-system-alist)))))
>   
>   (defun set-buffer-file-coding-system (coding-system &optional force nomodify)

Since the problem does not happen on GNU/Linux (I just verified it
didn't), the above could be a trigger for a bug, but it's not the bug
itself (or at least not the only bug).

> But, I have no idea what is wrong with the original code.
> Does someone have any adea?

I have some idea.  What I see in the debugger is that, when loadup
comes to load cyrillic.el, the file just before indian.el, it
repeatedly calls `openp' to load code-pages.el, but never closes the
resulting handle.  The reason it doesn't close it is that, after
`openp' returns, Fload checks if we are in recursive load cycle, and
finds that we are! (After the loop which looks at Vloads_in_progress,
`count's value is 4.)  It then calls Fsignal to signal this error, but
since we are in a protected form, Fsignal just unwinds there, and the
load continues (or so it seems).

Eventually, Fload finishes with cyrillic.el, but we leak the file
handles that `openp' returned and that weren't closed.

So when loadup comes to indian.el, the first file handle that is
available is 110.  And the Windows replacements for close/read/write
are prepared to work only with the first 64 handles, so `sys_read'
refuses to deal with handle 110.

I fixed the functions in w32.c to defer to the OS when they see a file
handle that is higher than their internal limit, so now Emacs should
bootstrap again.  (The 64-handle limitation has good reasons, but they
are only relevant to sockets, pipes, and sub-processes.  There's no
need to limit regular file handles, although Emacs shouldn't really
use so many handles at any single moment.)

I will also fix lread.c to close the handle opened by `openp' before
it signals the recursive load error.

This is just part of the riddle, it is still left to be explained why
loading cyrillic.el causes Emacs to load code-pages.el so many times.
Perhaps you can explain that, and maybe that's another bug.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-20 19:33     ` Eli Zaretskii
@ 2006-01-20 23:48       ` Juanma Barranquero
  2006-01-21  8:39         ` Eli Zaretskii
  2006-01-21 19:58       ` Richard M. Stallman
  2006-01-22 12:33       ` Kenichi Handa
  2 siblings, 1 reply; 16+ messages in thread
From: Juanma Barranquero @ 2006-01-20 23:48 UTC (permalink / raw)
  Cc: emacs-devel

On 1/20/06, Eli Zaretskii <eliz@gnu.org> wrote:

> I have some idea.  What I see in the debugger is that, when loadup
> comes to load cyrillic.el, the file just before indian.el, it
> repeatedly calls `openp' to load code-pages.el, but never closes the
> resulting handle.  The reason it doesn't close it is that, after
> `openp' returns, Fload checks if we are in recursive load cycle, and
> finds that we are! (After the loop which looks at Vloads_in_progress,
> `count's value is 4.)  It then calls Fsignal to signal this error, but
> since we are in a protected form, Fsignal just unwinds there, and the
> load continues (or so it seems).

FWIW, even after your patches, *Messages* contains:

Error during redisplay: (error Recursive `require' for feature
`code-pages') [126 times]

--
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-20 23:48       ` Juanma Barranquero
@ 2006-01-21  8:39         ` Eli Zaretskii
  2006-01-22  3:58           ` Richard M. Stallman
  2006-01-22  6:27           ` CHENG Gao
  0 siblings, 2 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-21  8:39 UTC (permalink / raw)
  Cc: emacs-devel

> Date: Sat, 21 Jan 2006 00:48:08 +0100
> From: Juanma Barranquero <lekktu@gmail.com>
> Cc: emacs-devel@gnu.org
> 
> FWIW, even after your patches, *Messages* contains:
> 
> Error during redisplay: (error Recursive `require' for feature
> `code-pages') [126 times]

Of course! because I did nothing to prevent the recursive load, I just
fixed the bugs that prevented Emacs from building on Windows due to it.

I get a similar message in *Messages* on GNU/Linux:

    Error during redisplay: (error Recursive load ~/emacs.cvs/emacs/lisp/international/code-pages.elc ~/emacs.cvs/emacs/lisp/international/code-pages.elc ~/emacs.cvs/emacs/lisp/international/code-pages.elc ~/emacs.cvs/emacs/lisp/international/code-pages.elc ~/emacs.cvs/emacs/lisp/international/code-pages.elc ~/emacs.cvs/emacs/lisp/language/cyrillic.el) [126 times]

So this problem is not specific to MS-Windows in any way.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-20 19:33     ` Eli Zaretskii
  2006-01-20 23:48       ` Juanma Barranquero
@ 2006-01-21 19:58       ` Richard M. Stallman
  2006-01-21 20:12         ` Eli Zaretskii
  2006-01-22 12:33       ` Kenichi Handa
  2 siblings, 1 reply; 16+ messages in thread
From: Richard M. Stallman @ 2006-01-21 19:58 UTC (permalink / raw)
  Cc: offby1, emacs-devel, handa

    I have some idea.  What I see in the debugger is that, when loadup
    comes to load cyrillic.el, the file just before indian.el, it
    repeatedly calls `openp' to load code-pages.el, but never closes the
    resulting handle.  The reason it doesn't close it is that, after
    `openp' returns, Fload checks if we are in recursive load cycle, and
    finds that we are! (After the loop which looks at Vloads_in_progress,
    `count's value is 4.)  It then calls Fsignal to signal this error, but
    since we are in a protected form, Fsignal just unwinds there, and the
    load continues (or so it seems).

It seems there are two bugs here.  One is that it recursively
loads one file.  The other is that it doesn't close the handles.
Perhaps that's due to a missing unwind_protect.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-21 19:58       ` Richard M. Stallman
@ 2006-01-21 20:12         ` Eli Zaretskii
  0 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-21 20:12 UTC (permalink / raw)
  Cc: offby1, emacs-devel, handa

> From: "Richard M. Stallman" <rms@gnu.org>
> CC: handa@m17n.org, offby1@blarg.net, emacs-devel@gnu.org
> Date: Sat, 21 Jan 2006 14:58:13 -0500
> 
>     I have some idea.  What I see in the debugger is that, when loadup
>     comes to load cyrillic.el, the file just before indian.el, it
>     repeatedly calls `openp' to load code-pages.el, but never closes the
>     resulting handle.  The reason it doesn't close it is that, after
>     `openp' returns, Fload checks if we are in recursive load cycle, and
>     finds that we are! (After the loop which looks at Vloads_in_progress,
>     `count's value is 4.)  It then calls Fsignal to signal this error, but
>     since we are in a protected form, Fsignal just unwinds there, and the
>     load continues (or so it seems).
> 
> It seems there are two bugs here.  One is that it recursively
> loads one file.  The other is that it doesn't close the handles.
> Perhaps that's due to a missing unwind_protect.

Meanwhile, I fixed the second problem.  There's no need to
unwind_protect, all we need is close the handle before we call
Fsignal.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-21  8:39         ` Eli Zaretskii
@ 2006-01-22  3:58           ` Richard M. Stallman
  2006-01-22  4:33             ` Eli Zaretskii
  2006-01-22  6:27           ` CHENG Gao
  1 sibling, 1 reply; 16+ messages in thread
From: Richard M. Stallman @ 2006-01-22  3:58 UTC (permalink / raw)
  Cc: lekktu, emacs-devel

    Of course! because I did nothing to prevent the recursive load, I just
    fixed the bugs that prevented Emacs from building on Windows due to it.

So what is it that causes the recursive load?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-22  3:58           ` Richard M. Stallman
@ 2006-01-22  4:33             ` Eli Zaretskii
  0 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-22  4:33 UTC (permalink / raw)
  Cc: lekktu, emacs-devel

> From: "Richard M. Stallman" <rms@gnu.org>
> CC: lekktu@gmail.com, emacs-devel@gnu.org
> Date: Sat, 21 Jan 2006 22:58:20 -0500
> 
>     Of course! because I did nothing to prevent the recursive load, I just
>     fixed the bugs that prevented Emacs from building on Windows due to it.
> 
> So what is it that causes the recursive load?

I don't know, I never had time to investigate.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-21  8:39         ` Eli Zaretskii
  2006-01-22  3:58           ` Richard M. Stallman
@ 2006-01-22  6:27           ` CHENG Gao
  1 sibling, 0 replies; 16+ messages in thread
From: CHENG Gao @ 2006-01-22  6:27 UTC (permalink / raw)


*On Sat, 21 Jan 2006 10:39:06 +0200
* Eli Zaretskii <eliz@gnu.org> climbed out of the dark hell and cried out:

> So this problem is not specific to MS-Windows in any way.
Yesterday I made a fresh checkout and built successfully under MacOSX
10.4.4 with ./make-package --self-conained. So this is not for all
platforms. Yes I had same problem with Windows build by MinGW for CVS
trunk and unocode-2 branch.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-20 19:33     ` Eli Zaretskii
  2006-01-20 23:48       ` Juanma Barranquero
  2006-01-21 19:58       ` Richard M. Stallman
@ 2006-01-22 12:33       ` Kenichi Handa
  2006-01-22 19:19         ` Eli Zaretskii
  2 siblings, 1 reply; 16+ messages in thread
From: Kenichi Handa @ 2006-01-22 12:33 UTC (permalink / raw)
  Cc: offby1, emacs-devel

In article <uhd7yr8xc.fsf@gnu.org>, Eli Zaretskii <eliz@gnu.org> writes:

> This is just part of the riddle, it is still left to be explained why
> loading cyrillic.el causes Emacs to load code-pages.el so many times.
> Perhaps you can explain that, and maybe that's another bug.

Thank you for tracking down the problem to that stage.  I
think I found why code-pages.el is recursively loaded, and
just installed a fix.  At least, on Debian, that recursive
load is stopped.

---
Kenichi Handa
handa@m17n.org

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-22 12:33       ` Kenichi Handa
@ 2006-01-22 19:19         ` Eli Zaretskii
  2006-01-23  0:44           ` Kenichi Handa
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-22 19:19 UTC (permalink / raw)
  Cc: offby1, emacs-devel

> From: Kenichi Handa <handa@m17n.org>
> CC: offby1@blarg.net, emacs-devel@gnu.org
> Date: Sun, 22 Jan 2006 21:33:54 +0900
> 
> Thank you for tracking down the problem to that stage.  I
> think I found why code-pages.el is recursively loaded, and
> just installed a fix.  At least, on Debian, that recursive
> load is stopped.

It stopped on MS-Windows as well.

Thanks.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-22 19:19         ` Eli Zaretskii
@ 2006-01-23  0:44           ` Kenichi Handa
  2006-01-23  5:02             ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Kenichi Handa @ 2006-01-23  0:44 UTC (permalink / raw)
  Cc: offby1, emacs-devel

In article <uacdooysn.fsf@gnu.org>, Eli Zaretskii <eliz@gnu.org> writes:

>> Thank you for tracking down the problem to that stage.  I
>> think I found why code-pages.el is recursively loaded, and
>> just installed a fix.  At least, on Debian, that recursive
>> load is stopped.

> It stopped on MS-Windows as well.

Thank you for confirming that.  How about DOS?   As far as I
remember, DOS port loads codepage.el on dumping Emacs.
Doesn't my recent change break something in that version?

---
Kenichi Handa
handa@m17n.org

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs CVS HEAD:
  2006-01-23  0:44           ` Kenichi Handa
@ 2006-01-23  5:02             ` Eli Zaretskii
  0 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2006-01-23  5:02 UTC (permalink / raw)
  Cc: offby1, emacs-devel

> From: Kenichi Handa <handa@m17n.org>
> CC: offby1@blarg.net, emacs-devel@gnu.org
> Date: Mon, 23 Jan 2006 09:44:23 +0900
> 
> Thank you for confirming that.  How about DOS?   As far as I
> remember, DOS port loads codepage.el on dumping Emacs.
> Doesn't my recent change break something in that version?

I haven't had time to build the DOS version in ages.  I will try to
find some time and look at this.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2006-01-23  5:02 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-19  6:07 GNU Emacs CVS HEAD: "nmake bootstrap" fails dhruva
2006-01-19 16:53 ` GNU Emacs CVS HEAD: Eric Hanchrow
2006-01-20 12:58   ` Kenichi Handa
2006-01-20 19:33     ` Eli Zaretskii
2006-01-20 23:48       ` Juanma Barranquero
2006-01-21  8:39         ` Eli Zaretskii
2006-01-22  3:58           ` Richard M. Stallman
2006-01-22  4:33             ` Eli Zaretskii
2006-01-22  6:27           ` CHENG Gao
2006-01-21 19:58       ` Richard M. Stallman
2006-01-21 20:12         ` Eli Zaretskii
2006-01-22 12:33       ` Kenichi Handa
2006-01-22 19:19         ` Eli Zaretskii
2006-01-23  0:44           ` Kenichi Handa
2006-01-23  5:02             ` Eli Zaretskii
2006-01-20 16:37   ` Eli Zaretskii

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).