Hi folks, I hope this helps. --Chr.
Bug: gVIM7.3 crashes trying to open an UNC path longer than 269 characters
================================================
I do have a long windows UNC path, longer than 269 characters.
Gvim crashes whenever I open the file using the gvim open-file-dialog.
Please note that the behavior is independent of the existence of the file.
How to reproduce
-----------------
1* start gvim
1* Open dialog
1* go to folder
1* click on file (the filename does but the folder name does not appear in the
filename edit box)
1* press ok
1-> crash
2* start gvim
2* Open dialog
2* go to folder
2* click on file
2* remove some filename characters (make sure the entire path is still longer
than 269 characters)
2* the filename is now still too long but the file does not exist
2* press ok
2-> crash
3* start "gvim long-filename" from the command line
3* gvim does not crash but tells me that I have a "[New File]"
4* start gvim
4* :e long-filename
4* gvim does not crash but tells me that I have a "[New File]"
5* I was unable to change the folder name after opening the file-open-dialog. I
got some "... is used by another application".
Conclusion:
* gvim is not the primary crash source but the way it interacts with the
windows file dialog.
Hint1:
Anyone tried this?:
CFileDialog filedlg(TRUE, 0, 0, m_dwDialogStyle, m_strFilters,
GetOwner());
filedlg.m_ofn.nMaxFile = 2562;
filedlg.m_ofn.lpstrFile = &buf[0];
Hint2:
Have a look at
http://social.msdn.microsoft.com/forums/en-US/vsx/thread/4ac1e170-bd21-4877-ace2-361b955ee9ef/
"The value of how many characters we will accept has not changed since VS 2003,
MAX_PATH has always been approx. 260. ..."
--Chr.
details
-------
Problem signature:
Problem Event Name: BEX64
Application Name: gvim.exe
Application Version: 7.3.277.0
Application Timestamp: 4c697619
Fault Module Name: gvim.exe
Fault Module Version: 7.3.277.0
Fault Module Timestamp: 4c697619
Exception Offset: 00000000000d9a5e
Exception Code: c0000409
Exception Data: 0000000000000000
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: be6d
Additional Information 2: be6d6b648c9f99117aca0c9e7a1f9e40
Additional Information 3: 4538
Additional Information 4: 453823b759149d2148b7015d318330f8
from bugreport.vim
------------------
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 16 2010 10:31:31)
MS-Windows 64-bit GUI version with OLE support
Compiled by [email protected]
Huge 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
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +float +folding -footer +gettext/dyn -hangul_input
+iconv/dyn +insert_expand +jumplist +keymap +langmap +libcall +linebreak
+lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse
+mouseshape +multi_byte_ime/dyn +multi_lang -mzscheme +netbeans_intg +ole
-osfiletype +path_extra -perl +persistent_undo +postscript +printer +profile
+python/dyn -python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs
+smartindent -sniff +startuptime +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 -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
/Fo.\ObjGOY/ /Ox /GL -DNDEBUG /Zl /MT -DFEAT_OLE -DFEAT_MBYTE_IME
-DDYNAMIC_IME -DFEAT_MBYTE -DFEAT_GUI_W32 -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT
-DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DMSWINPS
-DFEAT_HUGE /Fd.\ObjGOY/ /Zi
Linking: link /RELEASE /nologo /subsystem:windows /LTCG:STATUS oldnames.lib
kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib
uuid.lib /machine:AMD64 /nodefaultlib gdi32.lib version.lib winspool.lib
comctl32.lib advapi32.lib shell32.lib /machine:AMD64 /nodefaultlib libcmt.lib
oleaut32.lib user32.lib /nodefaultlib:python27.lib WSock32.lib
/PDB:gvim.pdb -debug
E81: Using <SID> not in a script context
E121: Undefined variable: a:n
E116: Invalid arguments for function isdirectory(a:n)
E15: Invalid expression: isdirectory(a:n)
E121: Undefined variable: a:n
E15: Invalid expression: 'directory "' . a:n . '" exists'
E581: :else without :if
E121: Undefined variable: a:n
E15: Invalid expression: 'directory "' . a:n . '" does NOT exist'
E580: :endif without :if
E193: :endfunction not inside a function
E81: Using <SID> not in a script context
E121: Undefined variable: a:n
E116: Invalid arguments for function filereadable(a:n)
E15: Invalid expression: filereadable(a:n)
E121: Undefined variable: a:n
E15: Invalid expression: '"' . a:n . '" is readable'
E581: :else without :if
E121: Undefined variable: a:n
E15: Invalid expression: '"' . a:n . '" is NOT readable'
E580: :endif without :if
E193: :endfunction not inside a function
--- Directories and Files ---
$VIM = "c:\Program Files\vim"
E81: Using <SID> not in a script context
$VIMRUNTIME = "c:\Program Files\vim\vim73"
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
E81: Using <SID> not in a script context
--- Scripts sourced ---
1: c:\Program Files\vim\vim73\plugin\getscriptPlugin.vim
2: c:\Program Files\vim\vim73\plugin\gzip.vim
3: c:\Program Files\vim\vim73\plugin\matchparen.vim
4: c:\Program Files\vim\vim73\plugin\netrwPlugin.vim
5: c:\Program Files\vim\vim73\plugin\rrhelper.vim
6: c:\Program Files\vim\vim73\plugin\spellfile.vim
7: c:\Program Files\vim\vim73\plugin\tarPlugin.vim
8: c:\Program Files\vim\vim73\plugin\tohtml.vim
9: c:\Program Files\vim\vim73\plugin\vimballPlugin.vim
10: c:\Program Files\vim\vim73\plugin\zipPlugin.vim
11: c:\Program Files\vim\vim73\menu.vim
12: c:\Program Files\vim\vim73\autoload\paste.vim
E580: :endif without :if
--- Options ---
aleph=224 fileformat=dos nomodified startofline
noarabic filetype= nomore statusline=
arabicshape nofkmap mouse=a suffixesadd=
noallowrevins foldclose= nomousefocus swapfile
noaltkeymap foldcolumn=0 mousehide swapsync=fsync
ambiwidth=single foldenable mousemodel=popup switchbuf=
noautochdir foldexpr=0 mousetime=500 synmaxcol=3000
noautoindent foldignore=# nonumber syntax=
noautoread foldlevel=0 numberwidth=8 tabline=
noautowrite foldlevelstart=-1 omnifunc= tabpagemax=10
noautowriteall foldmethod=manual noopendevice tabstop=8
background=light foldminlines=1 operatorfunc= tagbsearch
backspace= foldnestmax=20 nopaste taglength=0
nobackup formatexpr= pastetoggle= notagrelative
backupcopy=auto formatoptions=vt patchexpr= tags=./tags,tags
backupext=~ formatprg= patchmode= tagstack
balloondelay=600 nogdefault path=.,, term=builtin_gui
noballooneval guifont= nopreserveindent notermbidi
balloonexpr= guifontwide= previewheight=12 termencoding=
nobinary guipty nopreviewwindow noterse
nobomb guitablabel= printdevice= textauto
browsedir=last guitabtooltip= printmbcharset= textmode
bufhidden= helpheight=20 printmbfont= textwidth=0
buflisted helplang=En printoptions= thesaurus=
buftype= nohidden prompt notildeop
cdpath=,, history=0 pumheight=0 timeout
cedit= nohkmap quoteescape=\ timeoutlen=1000
charconvert= nohkmapp noreadonly title
nocindent nohlsearch redrawtime=2000 titlelen=85
cinoptions= icon norelativenumber titlestring=
clipboard= iconstring= remap nottimeout
cmdheight=1 noignorecase report=2 ttimeoutlen=-1
cmdwinheight=7 noimcmdline restorescreen ttybuiltin
colorcolumn= noimdisable norevins nottyfast
columns=80 iminsert=2 norightleft ttyscroll=999
compatible imsearch=2 noruler undodir=.
concealcursor= includeexpr= rulerformat= noundofile
conceallevel=0 noincsearch scroll=12 undolevels=1000
completefunc= indentexpr= noscrollbind undoreload=10000
noconfirm noinfercase scrolljump=1 updatecount=200
nocopyindent noinsertmode scrolloff=0 updatetime=4000
cryptmethod=zip isprint=@,~-255 nosecure verbose=0
cscopepathcomp=0 joinspaces selectmode= verbosefile=
cscopeprg=cscope key= shell=/bin/bash viminfo=
cscopequickfix= keymap= shellcmdflag=-c virtualedit=
nocscopetag keymodel= shellquote= novisualbell
cscopetagorder=0 keywordprg=:help noshellslash warn
nocscopeverbose langmap= noshelltemp noweirdinvert
nocursorbind langmenu= shellxquote=" whichwrap=
nocursorcolumn laststatus=1 noshiftround wildchar=^E
nocursorline nolazyredraw shiftwidth=8 wildcharm=0
debug= nolinebreak shortmess= wildignore=
nodelcombine lines=25 noshortname nowildmenu
dictionary= linespace=1 showbreak= wildmode=full
nodiff nolisp noshowcmd wildoptions=
diffexpr= nolist noshowfulltag winaltkeys=menu
diffopt=filler listchars=eol:$ noshowmatch window=24
nodigraph loadplugins noshowmode winheight=1
display= magic showtabline=1 nowinfixheight
eadirection=both makeef= sidescroll=0 nowinfixwidth
noedcompatible makeprg=make sidescrolloff=0 winminheight=1
encoding=latin1 matchtime=5 nosmartcase winminwidth=1
endofline maxcombine=2 nosmartindent winwidth=20
equalalways maxfuncdepth=100 nosmarttab wrap
equalprg= maxmapdepth=1000 softtabstop=0 wrapmargin=0
noerrorbells maxmem=9144286 nospell wrapscan
noesckeys maxmemtot=9144286 spellfile= write
eventignore= menuitems=25 spelllang=en nowriteany
noexpandtab nomodeline spellsuggest=best writebackup
noexrc modelines=5 nosplitbelow writedelay=0
fileencoding= modifiable nosplitright
backupdir=.,c:\tmp,c:\temp
backupskip=C:\cygwin\tmp\*,C:\cygwin\tmp\*
breakat= ^I!@*-+;:,./?
casemap=internal,keepascii
cinkeys=0{,0},0),:,0#,!^F,o,O,e
cinwords=if,else,while,do,for,switch
comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
commentstring=/*%s*/
complete=.,w,b,u,t,i
completeopt=menu,preview
cpoptions=aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>
define=^\s*#\s*define
directory=.,c:\tmp,c:\temp
errorfile=errors.err
errorformat=%f(%l) : %t%*\D%n: %m,%*[^"]"%f"%*\D%l: %m,%f(%l) : %m,%*[^ ] %f
%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,%f|%l| %m
fileencodings=ucs-bom
fileformats=dos,unix
fillchars=vert:|,fold:-
foldmarker={{{,}}}
foldopen=block,hor,mark,percent,quickfix,search,tag,undo
foldtext=foldtext()
formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
grepformat=%f:%l:%m,%f:%l%m,%f %l%m
grepprg=findstr /n
guicursor=n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
guioptions=egmrLtT
helpfile=c:\Program Files\vim\vim73\doc\help.txt
highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn
include=^\s*#\s*include
indentkeys=0{,0},:,0#,!^F,o,O,e
isfname=@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=
isident=@,48-57,_,128-167,224-235
iskeyword=@,48-57,_,192-255
lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
matchpairs=(:),{:},[:]
maxmempattern=1000
mkspellmem=460000,2000,500
mouseshape=i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow
nrformats=octal,hex
paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp
printencoding=cp1252
printexpr=system('copy' . ' ' . v:fname_in . (&printdevice == '' ? ' LPT1:' :
(' "' . &printdevice . '"'))) . delete(v:fname_in)
printfont=Courier_New:h10
printheader=%<%f%h%m%=Page %N
rightleftcmd=search
runtimepath=~/vimfiles,c:\Program Files\vim/vimfiles,c:\Program
Files\vim\vim73,c:\Program Files\vim/vimfiles/after,~/vimfiles/after
scrollopt=ver,jump
sections=SHNHH HUnhsh
selection=inclusive
sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize
shellpipe=>%s 2>&1
shellredir=>%s 2>&1
spellcapcheck=[.?!]\_[\])'"^I ]\+
suffixes=.bak,~,.o,.h,.info,.swp,.obj
titleold=Thanks for flying Vim
ttytype=builtin_gui
viewdir=c:\Program Files\vim/vimfiles/view
viewoptions=folds,options,cursor
--- Terminal codes ---
t_AB= t_da= t_ms=y t_us=^[|8h
t_AF= t_db= t_nd=^L t_vb=^[|f
t_AL=^[|%dI t_DL=^[|%dD t_op= t_ve=
t_al=^[|i t_dl=^[|d t_RI= t_vi=
t_bc= t_fs= t_RV= t_vs=
t_cd= t_IE= t_Sb= t_WP=
t_ce=^[|$ t_IS= t_Sf= t_WS=
t_cl=^[|C t_ke= t_se=^[|16H t_SI=
t_cm=^[|%d;%dM t_ks= t_so=^[|16h t_EI=
t_Co= t_le=^H t_sr= t_xs=
t_CS= t_mb= t_ts= t_ZH=^[|4h
t_cs=^[|%d;%dR t_md=^[|2h t_te= t_ZR=^[|4H
t_CV=^[|%d;%dV t_me=^[|31H t_ti=
t_ut=y t_mr=^[|1h t_ue=^[|8H
--- Terminal keys ---
<Mouse> ›M
--- Auto-Commands ---
buffer_list BufAdd
* call <SID>BMAdd()
buffer_list BufDelete
* call <SID>BMRemove()
buffer_list BufFilePost
* call <SID>BMAdd()
buffer_list BufFilePre
* call <SID>BMRemove()
SpellPopupMenu MenuPopup
* call <SID>SpellPopup()
--- Normal/Visual mode mappings ---
v <C-X> "*d
v <C-Del> "*d
v <S-Del> "*d
v <C-Insert> "*y
v <S-Insert> "-d"*P
n <S-Insert> "*P
--- Insert/Command-line mode mappings ---
! <S-Insert> <C-R><C-O>*
--- Abbreviations ---
No abbreviation found
--- Highlighting ---
SpecialKey xxx term=bold ctermfg=1 guifg=Blue
NonText xxx term=bold ctermfg=9 gui=bold guifg=Blue
Directory xxx term=bold ctermfg=1 guifg=Blue
ErrorMsg xxx term=standout ctermfg=15 ctermbg=4 guifg=White guibg=Red
IncSearch xxx term=reverse cterm=reverse gui=reverse
Search xxx term=reverse ctermfg=0 ctermbg=14 guibg=Yellow
MoreMsg xxx term=bold ctermfg=2 gui=bold guifg=SeaGreen
ModeMsg xxx term=bold cterm=bold gui=bold
LineNr xxx term=underline ctermfg=6 guifg=Brown
Question xxx term=standout ctermfg=2 gui=bold guifg=SeaGreen
StatusLine xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse
StatusLineNC xxx term=reverse cterm=reverse gui=reverse
VertSplit xxx term=reverse cterm=reverse gui=reverse
Title xxx term=bold ctermfg=5 gui=bold guifg=Magenta
Visual xxx term=reverse cterm=reverse guibg=LightGrey
VisualNOS xxx term=bold,underline cterm=bold,underline gui=bold,underline
WarningMsg xxx term=standout ctermfg=4 guifg=Red
WildMenu xxx term=standout ctermfg=0 ctermbg=14 guifg=Black guibg=Yellow
Folded xxx term=standout ctermfg=1 ctermbg=7 guifg=DarkBlue
guibg=LightGrey
FoldColumn xxx term=standout ctermfg=1 ctermbg=7 guifg=DarkBlue guibg=Grey
DiffAdd xxx term=bold ctermbg=9 guibg=LightBlue
DiffChange xxx term=bold ctermbg=13 guibg=LightMagenta
DiffDelete xxx term=bold ctermfg=9 ctermbg=11 gui=bold guifg=Blue
guibg=LightCyan
DiffText xxx term=reverse cterm=bold ctermbg=12 gui=bold guibg=Red
SignColumn xxx term=standout ctermfg=1 ctermbg=7 guifg=DarkBlue guibg=Grey
Conceal xxx ctermfg=7 ctermbg=8 guifg=LightGrey guibg=DarkGrey
SpellBad xxx term=reverse ctermbg=12 gui=undercurl guisp=Red
SpellCap xxx term=reverse ctermbg=9 gui=undercurl guisp=Blue
SpellRare xxx term=reverse ctermbg=13 gui=undercurl guisp=Magenta
SpellLocal xxx term=underline ctermbg=11 gui=undercurl guisp=DarkCyan
Pmenu xxx ctermbg=13 guibg=LightMagenta
PmenuSel xxx ctermbg=7 guibg=Grey
PmenuSbar xxx ctermbg=7 guibg=Grey
PmenuThumb xxx cterm=reverse gui=reverse
TabLine xxx term=underline cterm=underline ctermfg=0 ctermbg=7
gui=underline guibg=LightGrey
TabLineSel xxx term=bold cterm=bold gui=bold
TabLineFill xxx term=reverse cterm=reverse gui=reverse
CursorColumn xxx term=reverse ctermbg=7 guibg=Grey90
CursorLine xxx term=underline cterm=underline guibg=Grey90
ColorColumn xxx term=reverse ctermbg=12 guibg=LightRed
Cursor xxx guifg=bg guibg=fg
lCursor xxx guifg=bg guibg=fg
MatchParen xxx term=reverse ctermbg=11 guibg=Cyan
Normal xxx font=Fixedsys:h9:cDEFAULT
--- Variables ---
menutrans_no_file [No file]
did_install_default_menus #1
did_toolbar_tmenu #1
paste#paste_cmd {'v': '"-c<Esc>:call paste#Paste()<CR>', 'i':
'x<BS><Esc>:call paste#Paste()<CR>gi', 'n': ':call paste#Paste()<CR>'}
ctags_command ctags -R .
loaded_2html_plugin vim7.3_v6
loaded_rrhelper #1
more_save #0
bmenu_priority #60
bmenu_max_pathlen #35
b:changedtick #2
v:version #703
v:beval_winnr #0
v:lnum #0
v:scrollstart Unknown
v:oldfiles [
v:dying #0
v:lang en_US.UTF-8
v:count #0
v:progname gvim.exe
v:cmdbang #0
v:foldlevel #0
v:ctype C
v:prevcount #0
v:register "
v:mouse_win #0
v:count1 #1
v:foldstart #0
v:foldend #0
v:profiling #0
v:beval_col #0
v:errmsg E580: :endif without :if
v:beval_lnum #0
v:mouse_lnum #0
v:beval_bufnr #0
v:shell_error #0
v:servername GVIM
v:lc_time English_United States.1252
v:searchforward #1
v:mouse_col #0
v:statusmsg No abbreviation found
Actix is the trading name of Actix Limited, with registered offices at:
200 Hammersmith Road, London, W6 7DL, United Kingdom.
Actix Limited is registered in England and Wales with company no.
02660615 and VAT no. GB 858742087. Managing Director of Actix Limited: Bill
McHale.
Actix GmbH is registered in (Sitz der Gesellschaft): Dresden, Germany with
company no. Handelsregister Amtsgericht Dresden
HR B 19204 and VAT no. (Ust-IDNr.) DE 813 115 475. Managing
Director of Actix GmbH (Geschaeftsfuehrer): Bill McHale.
Information in this message is confidential and may be legally
privileged. If you are not the intended recipient, please notify the
sender, and please delete the message from your system
immediately. The statements and opinions expressed in this
message are those of the author and do not necessarily reflect
those of Actix.
Whilst Actix takes every effort to ensure this message is virus
free it cannot guarantee that this is the case. It is the
recipient's responsibility to carry out such virus checks as
it deems necessary
--
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