.NET vs Mono 1.1.13.6, etc.
_ [comp] .NET vs Mono 1.1.13.6
Mono 1.1.13.6 になって Mono 1.1.13.1 のときの問題は解消されたようだ。けど、また別の問題が発生。これもファイルダイアログを開こうとするとクラッシュ。
Unhandled Exception: System.IndexOutOfRangeException: Array index is out of range.
in <0x00019> System.Windows.Forms.Mime:CheckForBinaryOrText ()
in <0x00095> System.Windows.Forms.Mime:GoByFileName ()
in <0x0005e> System.Windows.Forms.Mime:StartByFileName (System.String filename)
in <0x00036> System.Windows.Forms.Mime:GetMimeTypeForFile (System.String filename)
in <0x00032> System.Windows.Forms.MimeIconEngine:GetIconIndexForFile (System.String full_filename)
in <0x00238> System.Windows.Forms.MWFFileView:DoOneFileInfo (System.IO.FileInfo fileInfo)
in <0x003c9> System.Windows.Forms.MWFFileView:UpdateFileViewByDirectoryInfo (System.IO.DirectoryInfo inputDirectoryInfo)
in <0x00139> System.Windows.Forms.MWFFileView:UpdateFileView (System.Object directoryInfo_or_string)
in (wrapper remoting-invoke-with-check) System.Windows.Forms.MWFFileView:UpdateFileView (object)
in <0x001c8> System.Windows.Forms.FileDialog:ChangeDirectory (System.Object sender, System.String path_or_special_case)
in <0x00036> System.Windows.Forms.FileDialog:set_InitialDirectory (System.String value)
in (wrapper remoting-invoke-with-check) System.Windows.Forms.FileDialog:set_InitialDirectory (string)
ちょっと調べてみるとディレクトリに 0 でないサイズのファイルがあるとクラッシュする。CheckForBinaryOrText では先頭 32 バイトを見てバイナリかテキストか判断しているようだ。ひとまず処理をはしょってバイナリ決め打ちにしてやったらクラッシュしなくなった。
_ [debian] mono 1.1.13.6-3vd1
超手抜きパッチ vd_dirty-workaround-2.dpatch を当てて作成。
_ [debian] firefox 1.5.dfsg+1.5.0.2-2vd1
- Bugzilla ORG 255990 の updated branch patch
vd_firefox-1.5_without-gconf.patchvd_bugzilla-jp_bug-4575_attachment-3106_fx1.5.patch(Bugzilla-jp 4575 の Patch rv0.11 Fx1.5対応)
を当てて作成。Bugzilla ORG 317275 の So perhaps something like this は取り込まれたようだ。