- 作成者投稿
- 2024年11月15日 2:41 am #32063yasuji参加者
江村様
いつもお世話になっております。
yasujiです。100.4MBのテキストファイルを開き、正規表現置換で「
.
」を「\r\n\r\n\r\n
」へ一括置換を実行した後、正規表現置換で「[\r\n]
」を「\r\n\r\n\r\n
」への一括置換を2回繰り返すと、2回目の置換処理中に物理メモリをすべて使い切った後メモリ不足で下記のメッセージボックスが表示されて、強制終了になる。1回目のメッセージボックス:
「EmEditorは、メモリが不足しているか、一時フォルダのディスク空き容量が不足しているため、タスクを完了できません。この問題を解決するには、ページングファイルの初期サイズを増やす、ディスクから不要なファイルを削除する、または[カスタマイズ]ダイアログの[高度]ページでスレッド数を減らしてください。
https://jp.emeditor.com/increase-virtual-memory/
この問題が継続する場合は、[継続]を選択して、クラッシュレポートを送信してください。
」[継続する(C)][キャンセル][キャンセル]を押下後のメッセージボックス:
「EmEditorは予期せずに異常終了しています。ご迷惑をおかけして申し訳ありません。
次にEmEditorを起動時、保存されていない文書とともに現在のワークスペースの復元を試行します。Old version」
メモリサイズ: 130985 MB
物理メモリの使用率: 82%
」[EmEditorを終了(C)]
このメッセージボックスが表示されている時点では、タスクマネージャー[プロセス]のEmEditorメモリサイズは93593.0MB(1回目のメッセージボックス表示前の処理中は最大101GBになりました)でした。ただし、搭載している物理メモリは128GB(131072MB)です。
「1回目のメッセージボックス」で[継続する(C)]を押下すると、クラッシュしてクラッシュレポート画面が表示されて、EmEditorを終了する以外の方法がなくなる。上記不具合の発生の再現手順は下記の通りです。
〔対象〕
v24.4.1 (64bit)〔使用環境〕
CPU : AMD Ryzen 9 3900X 12-Core Processor 3.80 GHz
RAM : 128 GB
OS : Windows 10 Pro 64bit 22H2 build 19045.5011
MB : ASUS PRIME X570-PRO〔再現手順〕
0.事前準備
WikipediaのDatabase backup dumpsのファイルをダウンロードして、それぞれ展開する。展開のファイルサイズは、非常に大きいためディスクの空き容量に注意すること。
jawiki-20241020-all-titles.gz (file size: gz 26.3 MB, txt 100.4 MB)なお、上記のファイルは、2024/11/15時点ではダウンロードできるが、3カ月程度でローテーションするため、最新の日付のURLからダウンロードする必要がある。
1.EmEditor 64bit ポータブル版を初期状態で起動
zipファイルから展開して、起動する。
初回のエディション選択は、Professionalを選択する。2.ファイルを開く
jawiki-20241020-all-titlesを開く。開く処理が終わるまで待つ。
3.置換を開いて、下記の通り設定する
[検索する文字列]
.
[置換後の文字列]
\r\n\r\n\r\n
〔チェックボックス〕
[大文字と小文字を区別する(C)]:ON
上記以外のチェックボックスすべて:OFF
〔ラジオボタン〕
[正規表現(X)]:ON[高度]
〔チェックボックス〕
[CRとLFを区別する(T)]:ON
[次を検索/前を検索で重ならない文字列のみ一致する(F)]:ON
上記以外のチェックボックスすべて:OFF
[正規表現エンジン(G)]:Onigmo.Perl
[正規表現で検索する追加行数(L)]:04.[すべて置換]を実行する
5.置換を下記の通り設定する
[検索する文字列]
[\r\n]
[置換後の文字列]
\r\n\r\n\r\n
〔チェックボックス〕
[大文字と小文字を区別する(C)]:ON
上記以外のチェックボックスすべて:OFF
〔ラジオボタン〕
[正規表現(X)]:ON[高度]
〔チェックボックス〕
[CRとLFを区別する(T)]:ON
[次を検索/前を検索で重ならない文字列のみ一致する(F)]:ON
上記以外のチェックボックスすべて:OFF
[正規表現エンジン(G)]:Onigmo.Perl
[正規表現で検索する追加行数(L)]:06.[すべて置換]を実行する
置換処理が完了するまで待つ。
置換処理中に「利用可能メモリが少ないか、元に戻すデータのサイズが非常に大きいため、元に戻すことができなくなります。」のメッセージボックスるが表示された場合は、[継続する(C)]を押下する。7.[すべて置換]を実行する
置換設定を変更せずに、再度実行し置換処理が完了するまで待つ。8.結果の確認
置換処理中にメッセージボックスが表示される。1回目のメッセージボックス:
「EmEditorは、メモリが不足しているか、一時フォルダのディスク空き容量が不足しているため、タスクを完了できません。この問題を解決するには、ページングファイルの初期サイズを増やす、ディスクから不要なファイルを削除する、または[カスタマイズ]ダイアログの[高度]ページでスレッド数を減らしてください。
https://jp.emeditor.com/increase-virtual-memory/
この問題が継続する場合は、[継続]を選択して、クラッシュレポートを送信してください。
」[継続する(C)][キャンセル][キャンセル]を押下後のメッセージボックス:
「EmEditorは予期せずに異常終了しています。ご迷惑をおかけして申し訳ありません。
次にEmEditorを起動時、保存されていない文書とともに現在のワークスペースの復元を試行します。Old version」
メモリサイズ: 130985 MB
物理メモリの使用率: 82%
」[EmEditorを終了(C)]
このメッセージボックスが表示されている時点では、タスクマネージャー[プロセス]のEmEditorメモリサイズは93593.0MB(1回目のメッセージボックス表示前の処理中は最大101GBになりました)でした。ただし、搭載している物理メモリは128GB(131072MB)です。「1回目のメッセージボックス」で[継続する(C)]を押下すると、クラッシュしてクラッシュレポート画面が表示されて、EmEditorを終了する以外の方法がなくなる。
〔補足〕
enwiki-20241020-abstract.xml.gz (file size: gz 847.7 MB, txt 6.7 GB)を使用して、下記の通りの置換処理でも同じように発生する。
3.の置換設定をした後、次の順序通りに置換の設定をして置換処理を実行する。
1回目:
[検索する文字列]
e
[置換後の文字列]
\r\n
2回目:
[検索する文字列]
a
[置換後の文字列]
\r\n
3回目:
[検索する文字列]
i
[置換後の文字列]
\r\n
2回目の段階で「8.結果の確認」と同じような状況になる。
2024年11月20日 10:46 am #32083Yutaka Emuraキーマスターいつもお世話になっております。江村です。
先ほど公開した v24.4.902 にて修正いたしました。
よろしくお願いいたします。
2024年11月26日 12:06 am #32104yasuji参加者江村様
いつもお世話になっております。
yasujiです。v24.4.902 (64bit)について、この不具合の修正確認を行った結果、下記の通り不具合が発生しております。
再度、修正対応をお願いします。〔確認結果〕
〔再現手順〕の8.と全く同じ現象が発生しましたので、不具合修正がされていないように見えます。よろしくお願いします。
2024年11月26日 2:28 am #32106Yutaka Emuraキーマスターいつもお世話になっております。江村です。
こちらの環境では問題は発生していません。
「EmEditorは、メモリが不足しているか、一時フォルダのディスク空き容量が不足しているため、タスクを完了できません。この問題を解決するには、ページングファイルの初期サイズを増やす、ディスクから不要なファイルを削除する、または[カスタマイズ]ダイアログの[高度]ページでスレッド数を減らしてください。
これはメモリ不足が原因であり、EmEditor自体の不具合ではありません。仮想メモリーを増やしてお試しください。
何か追加でコメントがありましたら、私までメールをお送りください。
よろしくお願いいたします。
- 作成者投稿
- このトピックに返信するにはログインしてください。