Dominique Pelle wrote:
>> Sorry, I forgot to check for plugins. I get no corruption when no plugins
>> are loaded.
>>
>> The following shows how to reproduce the corruption from scratch.
>>
>> In a temp directory, make file auto.vim as follows.
>>
>> --- Start of auto.vim ---
>>
>> " Simplified LargeFile.vim
>> augroup LargeFile
>> au BufReadPre *
>> \ let f=expand("<afile>") |
>> \ if getfsize(f) >= 100*1024*1024 |
>> \ let b:eikeep= &ei |
>> \ let b:ulkeep= &ul |
>> \ set ei=FileType |
>> \ setlocal noswf bh=unload |
>> \ let f=escape(substitute(f,'\','/','g'),' ') |
>> \ exe "au LargeFile BufEnter ".f." set ul=-1" |
>> \ exe "au LargeFile BufLeave ".f." let &ul=".b:ulkeep."|set ei=".b:eikeep
>> |
>> \ exe "au LargeFile BufUnload ".f." au! LargeFile * ". f |
>> \ echomsg "***note*** handling a large file" |
>> \ endif
>> augroup END
>>
>> --- end ---
>>
>> Execute the following two lines in Vim to create the big file in the temp
>> directory:
>>
>> :let x = [repeat('a',20), repeat('b',25), repeat('c',30), repeat('d',35),
>> repeat('e',40)]
>> :call writefile(repeat(x, 1000000), 'big.tmp')
>>
>> In the temp directory, start Vim with no plugins:
>>
>> vim -N -u NONE -i NONE
>>
>> Execute the following commands:
>>
>> :source auto.vim
>> :e big.tmp
>> :1,20000y
>> :vnew
>> :put
>> :%s/.*/\=strlen(submatch(0)) . "\t" . submatch(0)/
>> :nohlsearch
>>
>> Sorting the buffer shows obvious corruption (many blank lines and junk):
>>
>> :sort
>>
>> John
>
>
> Hi John
>
> I tried to reproduce the corruption as you described,
> but I did not see any problem on Linux x86_64.
> I tried with both asan and valgrind. Your bug might
> be Win32 specific.
>
> I don't have Windows, but I wonder whether someone
> could try Vim with DrMemory. See http://www.drmemory.org/
>
> asan may also work on Windows, but I'm not 100% sure.
> See:
> http://stackoverflow.com/questions/11806469/clang-with-faddress-sanitizer-on-windows
>
> Using those tools on Windows would obviously be useful
> to test Vim beyond this particular sort corruption bug.
>
> Regards
> Dominique
Thanks for investigating, and for the good ideas which I'll try to follow. I
skipped the obvious stuff because it seemed unlikely to be an issue with the
platform-specific code.
Here are my results on different systems I could find:
- Vim 7.4.972 win32 on 64-bit Windows 7 (my build): shows bug.
- Vim 7.4.827 on Windows XP (from cream): shows bug.
- Vim 7.3.266 on Windows XP (my build): no problem.
- Vim 7.3.415 on 32-bit Linux (my build): no problem.
The "cream" was from installing gvim-7-4-827.exe (Vim-without-Cream):
http://sourceforge.net/projects/cream/files/Vim/
It would be nice if others could report findings.
John
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.