Continuing problem with spell under WinXP

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Continuing problem with spell under WinXP

Dave Roberts
Hello all,

I've been unable to use the spell feature of VIM7 for several builds
now. When I run:

gvim -u NONE -U NONE test.txt
:setl spell spelllang=en

on a file that has more than one line in it, Windows informs me that "Vi
Improved - A Text Editor has encountered a problem and needs to close."

The build from CVS sources on 6/22 worked. The builds from CVS sources
on 6/25, 6/29, and this morning all fail the above way.

:version from this morning's build give:

VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 29, compiled Jun 30 2005 10:46:39)
MS-Windows 32 bit GUI version
Compiled by Dave@DAVE-HOME
Big version with GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset
+cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info
+comments
+cryptv +cscope +dialog_con_gui +diff +digraphs -dnd -ebcdic +emacs_tags
+eval
+ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer
+gettext/dyn -hangul_input +iconv/dyn +insert_expand +jumplist +keymap
+langmap
 +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession
+modify_fname +mouse +mouseshape +multi_byte +multi_lang -mzscheme
+netbeans_intg -ole -osfiletype +path_extra -perl -postscript +printer
-profile
 -python +quickfix +rightleft -ruby +scrollbind +signs +smartindent -sniff
+statusline -sun_workshop +syntax +tag_binary +tag_old_static
-tag_any_white
-tcl -tgetent -termresponse +textobjects +title +toolbar +user_commands
+vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore
+wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$VIM\_gvimrc"
    system menu file: "$VIMRUNTIME\menu.vim"
Compilation: cl -c /W3 /nologo  -ML -I. -Iproto -DHAVE_PATHDEF -DWIN32  
-DFEAT_CSCOPE -DFEAT_NETBEANS_INTG      -DWINVER=0x0400
-D_WIN32_WINNT=0x0400 /Ox -DNDEBUG  -DFEAT_GUI_W32 -DDYNAMIC_ICONV
-DDYNAMIC_GETTEXT -DFEAT_BIG /Zi
Linking: link /RELEASE /nologo /subsystem:windows /incremental:no
/nodefaultlib:libc advapi32.lib shell32.lib gdi32.lib comdlg32.lib
ole32.lib uuid.lib oldnames.lib kernel32.lib gdi32.lib   winspool.lib
comctl32.lib advapi32.lib shell32.lib  /machine:i386 /nodefaultlib
libc.lib   user32.lib         WSock32.lib  /PDB:.\ObjG/gvim.pdb
-debug:full -debugtype:cv,fixup

Thanks,

- Dave

Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

A.J.Mechelynck
Dave Roberts wrote:

> Hello all,
>
> I've been unable to use the spell feature of VIM7 for several builds
> now. When I run:
>
> gvim -u NONE -U NONE test.txt
> :setl spell spelllang=en
>
> on a file that has more than one line in it, Windows informs me that "Vi
> Improved - A Text Editor has encountered a problem and needs to close."

In other words, Windows has intercepted a hard crash. Rather than send
an incident report to Microsoft (who couldn't do anything with it
anyway), you can, when the crash happens, look at the report. Alas, the
text is often full of hex and not very human-readable; and IIRC it
cannot be copied to the clipboard.

>
> The build from CVS sources on 6/22 worked. The builds from CVS sources
> on 6/25, 6/29, and this morning all fail the above way.
>
> :version from this morning's build give: [...]

Attempting it with a debug build of gvim (i.e., gvimd.exe) might help
track down the error by providing some more human-readable info, even in
the crash report. If you don't have a debug build, you can either use
mine (compiled from a .zip snapshot of the sources, see
http://users.skynet.be/antoine.mechelynck/vim/#vim7 ), or compile your
own (usually with DEBUG=yes in the make command line).


Best regards,
Tony.

Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

Dave Roberts
A. J. Mechelynck wrote:

>Dave Roberts wrote:
>  
>
>>Hello all,
>>
>>I've been unable to use the spell feature of VIM7 for several builds
>>now. When I run:
>>
>>gvim -u NONE -U NONE test.txt
>>:setl spell spelllang=en
>>
>>on a file that has more than one line in it, Windows informs me that "Vi
>>Improved - A Text Editor has encountered a problem and needs to close."
>>    
>>
>
>In other words, Windows has intercepted a hard crash. Rather than send
>an incident report to Microsoft (who couldn't do anything with it
>anyway), you can, when the crash happens, look at the report. Alas, the
>text is often full of hex and not very human-readable; and IIRC it
>cannot be copied to the clipboard.
>
>  
>
>>The build from CVS sources on 6/22 worked. The builds from CVS sources
>>on 6/25, 6/29, and this morning all fail the above way.
>>
>>:version from this morning's build give: [...]
>>    
>>
>
>Attempting it with a debug build of gvim (i.e., gvimd.exe) might help
>track down the error by providing some more human-readable info, even in
>the crash report. If you don't have a debug build, you can either use
>mine (compiled from a .zip snapshot of the sources, see
>http://users.skynet.be/antoine.mechelynck/vim/#vim7 ), or compile your
>own (usually with DEBUG=yes in the make command line).
>
>
>Best regards,
>Tony.
>
>
>  
>

And, of course, when I compile using:
nmake -f Make_mvc.mak GUI=yes DEBUG=yes
then .\gvimd.exe works fine.

I run vim/gvim from c:\pkg\vim and for each new version I rename the old
directory to something like c:\pkg\vim.worked2 or c:\pkg\vim.failed1 and
create a new c:\pkg\vim where I copy all the .EXE, .VIM, .TXT, .SPL, and
TAGS files to.  Since c:\pkg\vim is on the path I get the new one when I
run vim/gvim from anywhere.

When I copy all the files from todays build and run GVIM.EXE (built
exactly as the above but without 'DEBUG=yes' - and I *always* do a CLEAN
first) it fails. If I copy GVIMD.EXE to GVIM.EXE in that directory it
works fine.

BTW, vim.exe (not compiled for debug) also causes the Windows error and
quites on that command.

I'm going to continue to use that version for the rest of the day to see
if anything happens (although I'm programming today so won't be using
the spell feature).

Any ideas on another way to debug this?

Thanks,

- Dave
Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

Bram Moolenaar
In reply to this post by Dave Roberts

Dave Robert wrote:

> I've been unable to use the spell feature of VIM7 for several builds
> now. When I run:
>
> gvim -u NONE -U NONE test.txt
> :setl spell spelllang=en
>
> on a file that has more than one line in it, Windows informs me that "Vi
> Improved - A Text Editor has encountered a problem and needs to close."
>
> The build from CVS sources on 6/22 worked. The builds from CVS sources
> on 6/25, 6/29, and this morning all fail the above way.

I can confirm that the current build crashes as soon as "spell" is set.
Unfortunately, when I compile for debugging and run it in a debugger it
works fine...

OK, compiled without debugging but with symbol table showed that the
window structure is all messed up.  I'll have to figure out where that
happens...

--
hundred-and-one symptoms of being an internet addict:
190. You quickly hand over your wallet, leather jacket, and car keys
     during a mugging, then proceed to beat the crap out of your
     assailant when he asks for your laptop.

 /// Bram Moolenaar -- [hidden email] -- http://www.Moolenaar.net   \\\
///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
 \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///
Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

Walter Briscoe
In reply to this post by Dave Roberts
In message <[hidden email]> of Thu, 30 Jun 2005 12:50:29 in
, Dave Roberts <[hidden email]> writes

>A. J. Mechelynck wrote:
>
>>Dave Roberts wrote:
>>
>>>Hello all,
>>>
>>>I've been unable to use the spell feature of VIM7 for several builds
>>>now. When I run:
>>>
>>>gvim -u NONE -U NONE test.txt
>>>:setl spell spelllang=en

[snip]

I think your report has insufficient detail but I can reproduce it:
I run Windows 2000 SP4 and Visual C++ 6.0 SP6? and I built with
nmake -f Make_mvc.mak GUI=yes OLE=no MBYTE=no IME=no DYNAMIC_IME=no
GIME=no ICONV=no GETTEXT=no POSTSCRIPT
=no FEATURES=HUGE NETBEANS=no NBDEBUG=no DEBUG=no

I ran ./gvim.exe -u NONE -U NONE INSTALLami.txt and got a crash report.
I got a similar failure with GUI=no.
I get assembly when I enter msdev. It looks like VC5.
I rebuild in that and got:
version.obj : error : Internal error during Pass2
NMAKE : fatal error U1077: 'link' : return code '0xfffffffe'

I installed DbgChooser from the December 1999 Bugslayer article in MSDN.
I expected to find the stuff in January 2000

I copied OBJC\*.pdb

The failure occurred at screen.c(1732) in win_update():
        if (lnum > buf->b_ml.ml_line_count)
lnum is 999 and buf is zero. Can Bram suggest anything?

>BTW, vim.exe (not compiled for debug) also causes the Windows error and
>quites on that command.
>
>I'm going to continue to use that version for the rest of the day to
>see if anything happens (although I'm programming today so won't be
>using the spell feature).
>
>Any ideas on another way to debug this?

Some given above.
--
Walter Briscoe
Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

Bram Moolenaar
In reply to this post by Dave Roberts

Dave Roberts wrote:

>I've been unable to use the spell feature of VIM7 for several builds
>now. When I run:
>
>gvim -u NONE -U NONE test.txt
>:setl spell spelllang=en
>
>on a file that has more than one line in it, Windows informs me that "Vi
>Improved - A Text Editor has encountered a problem and needs to close."

I think I located the problem and fixed it.  There was a NUL written
just after an array on the stack.  Strange that this had such disastrous
results when the optimizer was used.

I'll upload a new snapshot in a few hours.  It will also fix that the
midword characters would stick (switching from English to Dutch and back
to English would still use "-" as a midword character).

--
hundred-and-one symptoms of being an internet addict:
195. Your cat has its own home page.

 /// Bram Moolenaar -- [hidden email] -- http://www.Moolenaar.net   \\\
///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
 \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///
Reply | Threaded
Open this post in threaded view
|

Re: Continuing problem with spell under WinXP

A.J.Mechelynck
In reply to this post by Dave Roberts
Dave Roberts wrote:

> A. J. Mechelynck wrote:
>
>> Dave Roberts wrote:
>>  
>>
>>> Hello all,
>>>
>>> I've been unable to use the spell feature of VIM7 for several builds
>>> now. When I run:
>>>
>>> gvim -u NONE -U NONE test.txt
>>> :setl spell spelllang=en
>>>
>>> on a file that has more than one line in it, Windows informs me that "Vi
>>> Improved - A Text Editor has encountered a problem and needs to close."
>>>  
>>
>>
>> In other words, Windows has intercepted a hard crash. Rather than send
>> an incident report to Microsoft (who couldn't do anything with it
>> anyway), you can, when the crash happens, look at the report. Alas, the
>> text is often full of hex and not very human-readable; and IIRC it
>> cannot be copied to the clipboard.
>>
>>  
>>
>>> The build from CVS sources on 6/22 worked. The builds from CVS sources
>>> on 6/25, 6/29, and this morning all fail the above way.
>>>
>>> :version from this morning's build give: [...]
>>>  
>>
>>
>> Attempting it with a debug build of gvim (i.e., gvimd.exe) might help
>> track down the error by providing some more human-readable info, even in
>> the crash report. If you don't have a debug build, you can either use
>> mine (compiled from a .zip snapshot of the sources, see
>> http://users.skynet.be/antoine.mechelynck/vim/#vim7 ), or compile your
>> own (usually with DEBUG=yes in the make command line).
>>
>>
>> Best regards,
>> Tony.
>>
>>
>>  
>>
>
> And, of course, when I compile using:
> nmake -f Make_mvc.mak GUI=yes DEBUG=yes
> then .\gvimd.exe works fine.
>
> I run vim/gvim from c:\pkg\vim and for each new version I rename the old
> directory to something like c:\pkg\vim.worked2 or c:\pkg\vim.failed1 and
> create a new c:\pkg\vim where I copy all the .EXE, .VIM, .TXT, .SPL, and
> TAGS files to.  Since c:\pkg\vim is on the path I get the new one when I
> run vim/gvim from anywhere.
>
> When I copy all the files from todays build and run GVIM.EXE (built
> exactly as the above but without 'DEBUG=yes' - and I *always* do a CLEAN
> first) it fails. If I copy GVIMD.EXE to GVIM.EXE in that directory it
> works fine.
>
> BTW, vim.exe (not compiled for debug) also causes the Windows error and
> quites on that command.
>
> I'm going to continue to use that version for the rest of the day to see
> if anything happens (although I'm programming today so won't be using
> the spell feature).
>
> Any ideas on another way to debug this?
>
> Thanks,
>
> - Dave
>
>
>

The fact that non-debug builds fail and that debug builds don't, hints
at a compiler code optimization problem (or possibly, but IMHO less
probably, a stack overflow problem caught by stack-checking code absent
from non-debug builds).

I don't know for sure how to debug this. Here are a few hints:

* Modify your makefile to reduce the optimization level on non-debug builds.

* Try compiling with a different compiler. (My builds are compiled with
cygwin gcc, with -mno-cygwin which IIUC uses a cygwin version of the
MinGW compiler in order to avoid runtime dependency on the Cygwin DLL.
You can see on my site which command-line options are used to compile
and link my 6.3 builds; AFAIK the optimization options are the same in
version 7.)

* Use gvimd or vimd -- you don't need to rename them; you can call them
as gvimd or vimd from the command-line. This means that you can let all
four builds (vim, vimd, gvim, gvimd) reside in the same directory in the
PATH.


Or you might try to enlist Bram's (or somebody's) help now already,
telling them "When compiling Vim 7 with the makefile named <filename>
from the distribution and the compiler <name> <version>, I get a crash
with non-debug builds but not with debug builds when doing this-and-that".


Best regards,
Tony.