Re: gvim crash when switch to other tabs if NERDTree is opened
hi, bram when can this bug be fixed? I am waiting the crash fix for several days. thanks, mike On 3月14日, 下午2时31分, Christian Brabandt cbli...@256bit.org wrote: On Tue, March 13, 2012 22:16, Bram Moolenaar wrote: Christian Brabandt write: On Sa, 10 Mär 2012, 驼峰 wrote: my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Bram, I think, this patch fixes it: Thanks for the patch. I have been unable to reproduce the crash, I hope someone can verify this patch fixes the problem. I could only reproduce it on Windows. On Linux with a gtk-built version, I couldn't reproduce it either. I do wonder how row can be too big, perhaps there is a problem at a higher level? Or a sequence of events in the wrong order? I think somehow, the LineOffset array has not been updated to reflect the new screen size. Ah, I see that Sergey has an alternative patch. Comments? Sergey probably has been using the right approach. My patch just prevents access of invalid screen lines, which prevents the crash in this case and probably doesn't hurt anyway. regards, Christian -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Hi 驼峰! Please don't top poste. This has been told you already several times. See http://en.wikipedia.org/wiki/Posting_style for an explanation, what this means. On Fr, 16 Mär 2012, 驼峰 wrote: when can this bug be fixed? I am waiting the crash fix for several days. This has just been fixed with patch 7.3.472. regards, Christian -- -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
On Tue, March 13, 2012 22:16, Bram Moolenaar wrote: Christian Brabandt write: On Sa, 10 Mär 2012, 驼峰 wrote: my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Bram, I think, this patch fixes it: Thanks for the patch. I have been unable to reproduce the crash, I hope someone can verify this patch fixes the problem. I could only reproduce it on Windows. On Linux with a gtk-built version, I couldn't reproduce it either. I do wonder how row can be too big, perhaps there is a problem at a higher level? Or a sequence of events in the wrong order? I think somehow, the LineOffset array has not been updated to reflect the new screen size. Ah, I see that Sergey has an alternative patch. Comments? Sergey probably has been using the right approach. My patch just prevents access of invalid screen lines, which prevents the crash in this case and probably doesn't hurt anyway. regards, Christian -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Christian Brabandt write: On Sa, 10 Mär 2012, 驼峰 wrote: my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Bram, I think, this patch fixes it: Thanks for the patch. I have been unable to reproduce the crash, I hope someone can verify this patch fixes the problem. I do wonder how row can be too big, perhaps there is a problem at a higher level? Or a sequence of events in the wrong order? Ah, I see that Sergey has an alternative patch. Comments? -- Wizards had always known that the act of observation changed the thing that was observed, and sometimes forgot that it also changed the observer too. Terry Pratchett - Interesting times /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Thanks for the patch. I have been unable to reproduce the crash, I hope someone can verify this patch fixes the problem. Have you added autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw? It is an essential part. I do wonder how row can be too big, perhaps there is a problem at a higher level? Or a sequence of events in the wrong order? When the main Vim windows is resized, only current tab is adjusted. So, after step 7, windows on the first tab still think they are in the full size tab. Forced redraw in the autocommand fires when windows are not adjusted yet so Vim crashes in screen_line which receives out of bound row number from win_line. -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Hi 驼峰! On Sa, 10 Mär 2012, 驼峰 wrote: my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Bram, I think, this patch fixes it: diff -r 94601b379f38 src/screen.c --- a/src/screen.c Sun Mar 11 15:57:40 2012 +0100 +++ b/src/screen.c Tue Mar 13 00:05:34 2012 +0100 @@ -5371,6 +5371,9 @@ # define CHAR_CELLS 1 #endif +/* illegal screen size */ +if (row Rows) + row = Rows; # ifdef FEAT_CLIPBOARD clip_may_clear_selection(row, row); # endif @@ -5409,6 +5412,10 @@ } #endif /* FEAT_RIGHTLEFT */ + /* invalid screen access */ + if (off_to (unsigned) ((Rows) * Columns) || off_to 0) + off_to = (unsigned) Rows * Columns; + redraw_next = char_needs_redraw(off_from, off_to, endcol - col); while (col endcol) regards, Christian -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. My take on this problem (apply autocommands only once window sizes have been adjusted): diff -r b3ccae22bae7 src/window.c --- a/src/window.c Wed Mar 07 22:55:21 2012 +0100 +++ b/src/window.c Mon Mar 12 21:57:24 2012 +0400 @@ -3676,13 +3676,6 @@ win_enter_ext(tp-tp_curwin, FALSE, TRUE); prevwin = next_prevwin; -#ifdef FEAT_AUTOCMD -apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf); - -if (old_curbuf != curbuf) - apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf); -#endif - last_status(FALSE);/* status line may appear or disappear */ (void)win_comp_pos(); /* recompute w_winrow for all windows */ must_redraw = CLEAR; /* need to redraw everything */ @@ -3712,6 +3705,13 @@ gui_may_update_scrollbars(); #endif +#ifdef FEAT_AUTOCMD +apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf); + +if (old_curbuf != curbuf) + apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf); +#endif + redraw_all_later(CLEAR); } -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
驼峰 wrote: I can 100% repro this bug by adding the following line into my vimrc. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw The repro step: 1. open NERDTree 2. create multiple tabs. 3. switch tabs which contains NERDTree windows to other window. 4. If not crash, switch several times. my environment: windows 7 amd64, my gvim is 32bits. Thanks, -Mike Guo Hi I can't reproduce it with vim-7.3.470 on Linux. No crash. I also ran with Valgrind memory check and did not find problems. Can you reproduce it by starting vim with vim -u NONE and describing all the commands that result in a crash? Regards -- Dominique -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
I guess this only happens on Windows. On Mar 10, 9:24 pm, Dominique Pellé dominique.pe...@gmail.com wrote: 驼峰 wrote: I can 100% repro this bug by adding the following line into my vimrc. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw The repro step: 1. open NERDTree 2. create multiple tabs. 3. switch tabs which contains NERDTree windows to other window. 4. If not crash, switch several times. my environment: windows 7 amd64, my gvim is 32bits. Thanks, -Mike Guo Hi I can't reproduce it with vim-7.3.470 on Linux. No crash. I also ran with Valgrind memory check and did not find problems. Can you reproduce it by starting vim with vim -u NONE and describing all the commands that result in a crash? Regards -- Dominique -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
On Sat, 10 Mar 2012, 驼峰 wrote: On Mar 10, 9:24 pm, Dominique Pellé dominique.pe...@gmail.com wrote: I can't reproduce it with vim-7.3.470 on Linux. No crash. I also ran with Valgrind memory check and did not find problems. Can you reproduce it by starting vim with vim -u NONE and describing all the commands that result in a crash? I guess this only happens on Windows. I cannot reproduce it on Windows 7 64bit with Vim 7.3.470. - Christian P.S. Stop top-posting your replies. It's confusing and against the list's policy. -- I owe, I owe, It's off to work I go... Christian J. Robinson hept...@gmail.com http://christianrobinson.name/ -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
my environment is: 1: gvim 32 bits 2: only with NERDTree plugin 3: only with the following contents in my vimrc autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw 4: windows xp 32 bit. my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Thanks, -Mike Guo On Mar 11, 8:33 am, Christian J. Robinson hept...@gmail.com wrote: On Sat, 10 Mar 2012, 驼峰 wrote: On Mar 10, 9:24 pm, Dominique Pellé dominique.pe...@gmail.com wrote: I can't reproduce it with vim-7.3.470 on Linux. No crash. I also ran with Valgrind memory check and did not find problems. Can you reproduce it by starting vim with vim -u NONE and describing all the commands that result in a crash? I guess this only happens on Windows. I cannot reproduce it on Windows 7 64bit with Vim 7.3.470. - Christian P.S. Stop top-posting your replies. It's confusing and against the list's policy. -- I owe, I owe, It's off to work I go... Christian J. Robinson hept...@gmail.com http://christianrobinson.name/ -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
My NERDTree version is 4.1.0. On Mar 11, 10:45 am, 驼峰 guotuof...@gmail.com wrote: my environment is: 1: gvim 32 bits 2: only with NERDTree plugin 3: only with the following contents in my vimrc autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw 4: windows xp 32 bit. my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Thanks, -Mike Guo On Mar 11, 8:33 am, Christian J. Robinson hept...@gmail.com wrote: On Sat, 10 Mar 2012, 驼峰 wrote: On Mar 10, 9:24 pm, Dominique Pellé dominique.pe...@gmail.com wrote: I can't reproduce it with vim-7.3.470 on Linux. No crash. I also ran with Valgrind memory check and did not find problems. Can you reproduce it by starting vim with vim -u NONE and describing all the commands that result in a crash? I guess this only happens on Windows. I cannot reproduce it on Windows 7 64bit with Vim 7.3.470. - Christian P.S. Stop top-posting your replies. It's confusing and against the list's policy. -- I owe, I owe, It's off to work I go... Christian J. Robinson hept...@gmail.com http://christianrobinson.name/ -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
On Sat, 10 Mar 2012, 驼峰 wrote: my repro step: 1. run gvim 2. open NERDTree windows 3. create several tabs using 't' shortcut of NERDTree plugin 4. '1gt' 5, maximize gvim 6, '2gt' 7, restore the windows size from maximize window to normal window. 8, '1gt' Result: after 8th step, my gvim will crash definitely. Yes, I can now crash gVim 7.3.470 on Windows 7 64bit using these steps. PLEASE stop top posting your replies! - Christian -- I'm offended by political jokes. Too often they get elected. -- Henny Youngman Christian J. Robinson hept...@gmail.com http://christianrobinson.name/ -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
I can't reproduce this on my 32bit Windows XP with my self-compiled vim version 7.3.444. On Thu, Mar 08, 2012 at 05:44:01PM -0800, 驼峰 wrote: BTW, I tried using the gvim 7.3 without any patches(ftp://ftp.vim.org/ pub/vim/pc/gvim73.zip), the problem still happens. I guess that nobody hit this issue before. The scenario is: open NERDTree windows and run redraw automatically when enter another tabs. Thanks, -Mike Guo On Mar 9, 9:29 am, 驼峰 guotuof...@gmail.com wrote: Hi, Bram, Thanks for your reply. Actually, I am working in Windows and don't have valgrind. The crash can be easily reproed by using two plugins: NERDTree and buf_it. Their links are:http://www.vim.org/scripts/script.php?script_id=1658http://www.vim.org/scripts/script.php?script_id=2833 The repro step is: 1. open a nerdtree window by using NERDTree. 2. in the NERDTree window, hit t key to create several tabs. 3. switch to other tabs by using 2gt or click the tab button. Then you will hit crash definitely. After some investigation, I found the crash is hit by the command redraw in buf_it.vim. If i comment out the redraw in that file. gvim won't crash. Here are some clauses related to redraw. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * call UpdateStatus() function! UpdateStatus() blablabla blablabla blablabla ... ... redraw endfunction Another easy repro step is adding the following line in vimrc configuration file and install NERDTree. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw Thanks, -Mike Guo Don't see something special here. Can you run Vim with valgrind, then we can see what happens with allocated memory early. See :help valgrind. -- If you feel lonely, try schizophrenia. /// Bram Moolenaar -- b...@moolenaar.net --http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features --http://www.Vim.org/sponsor/\\\ \\\ an exciting new programming language --http://www.Zimbu.org /// \\\help me help AIDS victims --http://ICCF-Holland.org /// -- 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 -- Best regards, lilydjwg Linux Vim Python 我的博客: http://lilydjwg.is-programmer.com/ -- A: Because it obfuscates the reading. Q: Why is top posting so bad? -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
I can 100% repro this bug by adding the following line into my vimrc. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw The repro step: 1. open NERDTree 2. create multiple tabs. 3. switch tabs which contains NERDTree windows to other window. 4. If not crash, switch several times. my environment: windows 7 amd64, my gvim is 32bits. Thanks, -Mike Guo On Mar 9, 10:47 pm, lilydjwg lilyd...@gmail.com wrote: I can't reproduce this on my 32bit Windows XP with my self-compiled vim version 7.3.444. On Thu, Mar 08, 2012 at 05:44:01PM -0800, 驼峰 wrote: BTW, I tried using the gvim 7.3 without any patches(ftp://ftp.vim.org/ pub/vim/pc/gvim73.zip), the problem still happens. I guess that nobody hit this issue before. The scenario is: open NERDTree windows and run redraw automatically when enter another tabs. Thanks, -Mike Guo On Mar 9, 9:29 am, 驼峰 guotuof...@gmail.com wrote: Hi, Bram, Thanks for your reply. Actually, I am working in Windows and don't have valgrind. The crash can be easily reproed by using two plugins: NERDTree and buf_it. Their links are:http://www.vim.org/scripts/script.php?script_id=1658http://www.vim.or... The repro step is: 1. open a nerdtree window by using NERDTree. 2. in the NERDTree window, hit t key to create several tabs. 3. switch to other tabs by using 2gt or click the tab button. Then you will hit crash definitely. After some investigation, I found the crash is hit by the command redraw in buf_it.vim. If i comment out the redraw in that file. gvim won't crash. Here are some clauses related to redraw. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * call UpdateStatus() function! UpdateStatus() blablabla blablabla blablabla ... ... redraw endfunction Another easy repro step is adding the following line in vimrc configuration file and install NERDTree. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw Thanks, -Mike Guo Don't see something special here. Can you run Vim with valgrind, then we can see what happens with allocated memory early. See :help valgrind. -- If you feel lonely, try schizophrenia. /// Bram Moolenaar -- b...@moolenaar.net --http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features --http://www.Vim.org/sponsor/\\\ \\\ an exciting new programming language --http://www.Zimbu.org /// \\\help me help AIDS victims --http://ICCF-Holland.org /// -- 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, visithttp://www.vim.org/maillist.php -- Best regards, lilydjwg Linux Vim Python 我的博客:http://lilydjwg.is-programmer.com/ -- A: Because it obfuscates the reading. Q: Why is top posting so bad? -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Guotuofeng wrote: The full crash analyze is: Opened log file 'd:\gvimcrash.txt' 0:000 k ChildEBP RetAddr 003bf2e8 776af5c9 ntdll!RtlReportCriticalFailure+0x29 003bf2f8 776af6a9 ntdll!RtlpReportHeapFailure+0x21 003bf32c 7766a5cb ntdll!RtlpLogHeapFailure+0xa1 003bf374 776135a7 ntdll!RtlpCoalesceFreeBlocks+0x84c 003bf46c 77613492 ntdll!RtlpFreeHeap+0x1f4 003bf48c 62c2a25d ntdll!RtlFreeHeap+0x142 003bf4b0 75e414dd AcXtrnal!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+0x3e5 003bf4c4 01121879 kernel32!HeapFree+0x14 003bf4d8 010bb385 gvim!free+0x1c [f:\dd\vctools\crt_bld\self_x86\crt\src\free.c @ 51] 003bf4e4 010bd09e gvim!free_screenlines+0xc [k:\mercurial\vimcode\vim\src\screen.c @ 8210] 003bf540 010bd1c6 gvim!screenalloc+0x5e2 [k:\mercurial\vimcode\vim\src\screen.c @ 8138] Don't see something special here. Can you run Vim with valgrind, then we can see what happens with allocated memory early. See :help valgrind. -- If you feel lonely, try schizophrenia. /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
Hi, Bram, Thanks for your reply. Actually, I am working in Windows and don't have valgrind. The crash can be easily reproed by using two plugins: NERDTree and buf_it. Their links are: http://www.vim.org/scripts/script.php?script_id=1658 http://www.vim.org/scripts/script.php?script_id=2833 The repro step is: 1. open a nerdtree window by using NERDTree. 2. in the NERDTree window, hit t key to create several tabs. 3. switch to other tabs by using 2gt or click the tab button. Then you will hit crash definitely. After some investigation, I found the crash is hit by the command redraw in buf_it.vim. If i comment out the redraw in that file. gvim won't crash. Here are some clauses related to redraw. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * call UpdateStatus() function! UpdateStatus() blablabla blablabla blablabla ... ... redraw endfunction Another easy repro step is adding the following line in vimrc configuration file and install NERDTree. autocmd VimEnter,BufNew,BufEnter,BufWritePost,VimResized * redraw Thanks, -Mike Guo Don't see something special here. Can you run Vim with valgrind, then we can see what happens with allocated memory early. See :help valgrind. -- If you feel lonely, try schizophrenia. /// Bram Moolenaar -- b...@moolenaar.net --http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features --http://www.Vim.org/sponsor/\\\ \\\ an exciting new programming language --http://www.Zimbu.org /// \\\ help me help AIDS victims --http://ICCF-Holland.org /// -- 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
Re: gvim crash when switch to other tabs if NERDTree is opened
The full crash analyze is: Opened log file 'd:\gvimcrash.txt' 0:000 k ChildEBP RetAddr 003bf2e8 776af5c9 ntdll!RtlReportCriticalFailure+0x29 003bf2f8 776af6a9 ntdll!RtlpReportHeapFailure+0x21 003bf32c 7766a5cb ntdll!RtlpLogHeapFailure+0xa1 003bf374 776135a7 ntdll!RtlpCoalesceFreeBlocks+0x84c 003bf46c 77613492 ntdll!RtlpFreeHeap+0x1f4 003bf48c 62c2a25d ntdll!RtlFreeHeap+0x142 003bf4b0 75e414dd AcXtrnal!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+0x3e5 003bf4c4 01121879 kernel32!HeapFree+0x14 003bf4d8 010bb385 gvim!free+0x1c [f:\dd\vctools\crt_bld\self_x86\crt\src\free.c @ 51] 003bf4e4 010bd09e gvim!free_screenlines+0xc [k:\mercurial\vimcode\vim\src\screen.c @ 8210] 003bf540 010bd1c6 gvim!screenalloc+0x5e2 [k:\mercurial\vimcode\vim\src\screen.c @ 8138] 003bf54c 010eae28 gvim!screenclear+0xe [k:\mercurial\vimcode\vim\src\screen.c @ 8227] 003bf55c 010ebf1d gvim!set_shellsize+0xb7 [k:\mercurial\vimcode\vim\src\term.c @ 3068] 003bf56c 010fa2b9 gvim!shell_resized+0xa [k:\mercurial\vimcode\vim\src\term.c @ 2985] 003bf578 011006ba gvim!gui_resize_shell+0xc0 [k:\mercurial\vimcode\vim\src\gui.c @ 1456] 003bf5a4 010f9ad6 gvim!gui_mch_newfont+0x5b [k:\mercurial\vimcode\vim\src\gui_w48.c @ 3195] 003bf5cc 010fa926 gvim!gui_set_shellsize+0x30 [k:\mercurial\vimcode\vim\src\gui.c @ 1540] 003bf5f8 010fabdb gvim!gui_init_which_components+0x287 [k:\mercurial\vimcode\vim\src\gui.c @ 3488] 003bf600 010f4cf9 gvim!gui_may_update_scrollbars+0x1e [k:\mercurial\vimcode\vim\src\gui.c @ 4043] 003bf618 010f4d4c gvim!enter_tabpage+0xe6 [k:\mercurial\vimcode\vim\src\window.c @ 3715] 003bf624 010f5c59 gvim!goto_tabpage_tp+0x47 [k:\mercurial\vimcode\vim\src\window.c @ 3812] 003bf62c 01097548 gvim!goto_tabpage+0xad [k:\mercurial\vimcode\vim\src\window.c @ 3788] 003bf654 010944f1 gvim!nv_g_cmd+0x88b [k:\mercurial\vimcode\vim\src\normal.c @ 8364] 003bf6c4 0106ae0f gvim!normal_cmd+0x9f4 [k:\mercurial\vimcode\vim\src\normal.c @ 1201] 003bf754 0106ea8a gvim!main_loop+0x3ba [k:\mercurial\vimcode\vim\src\main.c @ 1282] 003bf838 0110348c gvim!VimMain+0x938 [k:\mercurial\vimcode\vim\src\main.c @ 986] 003bf968 01125777 gvim!WinMain+0x94 [k:\mercurial\vimcode\vim\src\os_w32exe.c @ 131] 003bf9f8 75e4339a gvim!__tmainCRTStartup+0x11a [f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c @ 275] 003bfa04 77619ef2 kernel32!BaseThreadInitThunk+0xe 003bfa44 77619ec5 ntdll!__RtlUserThreadStart+0x70 003bfa5c ntdll!_RtlUserThreadStart+0x1b 0:000 kP ChildEBP RetAddr 003bf2e8 776af5c9 ntdll!RtlReportCriticalFailure+0x29 003bf2f8 776af6a9 ntdll!RtlpReportHeapFailure+0x21 003bf32c 7766a5cb ntdll!RtlpLogHeapFailure+0xa1 003bf374 776135a7 ntdll!RtlpCoalesceFreeBlocks+0x84c 003bf46c 77613492 ntdll!RtlpFreeHeap+0x1f4 003bf48c 62c2a25d ntdll!RtlFreeHeap+0x142 003bf4b0 75e414dd AcXtrnal!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+0x3e5 003bf4c4 01121879 kernel32!HeapFree+0x14 003bf4d8 010bb385 gvim!free( void * pBlock = 0x05cbc2c0)+0x1c [f:\dd\vctools\crt_bld\self_x86\crt\src\free.c @ 51] 003bf4e4 010bd09e gvim!free_screenlines(void)+0xc [k:\mercurial\vimcode\vim\src\screen.c @ 8210] 003bf540 010bd1c6 gvim!screenalloc( int doclear = 0n0)+0x5e2 [k:\mercurial\vimcode\vim\src\screen.c @ 8138] 003bf54c 010eae28 gvim!screenclear(void)+0xe [k:\mercurial\vimcode\vim\src\screen.c @ 8227] 003bf55c 010ebf1d gvim!set_shellsize( int width = 0n0, int height = 0n0, int mustset = 0n0)+0xb7 [k:\mercurial\vimcode\vim\src\term.c @ 3068] 003bf56c 010fa2b9 gvim!shell_resized(void)+0xa [k:\mercurial\vimcode\vim\src\term.c @ 2985] 003bf578 011006ba gvim!gui_resize_shell( int pixel_width = 0n1920, int pixel_height = 0n1118)+0xc0 [k:\mercurial\vimcode\vim\src\gui.c @ 1456] 003bf5a4 010f9ad6 gvim!gui_mch_newfont(void)+0x5b [k:\mercurial\vimcode\vim\src\gui_w48.c @ 3195] 003bf5cc 010fa926 gvim!gui_set_shellsize( int mustset = 0n0, int fit_to_display = 0n0, int direction = 0n2)+0x30 [k:\mercurial\vimcode\vim\src\gui.c @ 1540] 003bf5f8 010fabdb gvim!gui_init_which_components( unsigned char * oldval = 0x0002 --- memory read error at address 0x0002 ---)+0x287 [k:\mercurial\vimcode\vim\src\gui.c @ 3488] 003bf600 010f4cf9 gvim!gui_may_update_scrollbars(void)+0x1e [k:\mercurial\vimcode\vim\src\gui.c @ 4043] 003bf618 010f4d4c gvim!enter_tabpage( struct tabpage_S * tp = 0x, struct file_buffer * old_curbuf = 0x05e1dc98)+0xe6 [k:\mercurial\vimcode\vim\src\window.c @ 3715] 003bf624 010f5c59 gvim!goto_tabpage_tp( struct tabpage_S * tp = 0x003fbc48)+0x47 [k:\mercurial\vimcode\vim\src\window.c @ 3812] 003bf62c 01097548 gvim!goto_tabpage( int n = 0n1)+0xad [k:\mercurial\vimcode\vim\src\window.c @