Loading ...
Sorry, an error occurred while loading the content.

Bug report: gvim 7.3 crashes trying to open an UNC path longer than 269 characters

Expand Messages
  • Christian Brock
    Hi folks, I hope this helps. --Chr. Bug: gVIM7.3 crashes trying to open an UNC path longer than 269 characters ================================================
    Message 1 of 1 , Jun 29 5:03 AM
      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".


      * gvim is not the primary crash source but the way it interacts with the windows file dialog.

      Anyone tried this?:
      CFileDialog filedlg(TRUE, 0, 0, m_dwDialogStyle, m_strFilters, GetOwner());
      filedlg.m_ofn.nMaxFile = 2562;
      filedlg.m_ofn.lpstrFile = &buf[0];

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


      Problem signature:
      Problem Event Name: BEX64
      Application Name: gvim.exe
      Application Version:
      Application Timestamp: 4c697619
      Fault Module Name: gvim.exe
      Fault Module Version:
      Fault Module Timestamp: 4c697619
      Exception Offset: 00000000000d9a5e
      Exception Code: c0000409
      Exception Data: 0000000000000000
      OS Version: 6.1.7601.
      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 george@...
      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"
      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
      breakat= ^I!@*-+;:,./?
      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
      formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
      grepformat=%f:%l:%m,%f:%l%m,%f %l%m
      grepprg=findstr /n
      helpfile=c:\Program Files\vim\vim73\doc\help.txt
      paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp
      printexpr=system('copy' . ' ' . v:fname_in . (&printdevice == '' ? ' LPT1:' : (' "' . &printdevice . '"'))) . delete(v:fname_in)
      printheader=%<%f%h%m%=Page %N
      runtimepath=~/vimfiles,c:\Program Files\vim/vimfiles,c:\Program Files\vim\vim73,c:\Program Files\vim/vimfiles/after,~/vimfiles/after
      sections=SHNHH HUnhsh
      shellpipe=>%s 2>&1
      shellredir=>%s 2>&1
      spellcapcheck=[.?!]\_[\])'"^I ]\+
      titleold=Thanks for flying Vim
      viewdir=c:\Program Files\vim/vimfiles/view

      --- 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
      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
      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
    Your message has been successfully submitted and would be delivered to recipients shortly.