2016/12/17(土) [n年前の日記]
#1 [windows] LibreOfficeが落ちる問題
ここ数日調べてたけど、現状をまとめておこうかなと…。
症状としては、LibreOffice 5.2.3.3 x86(32bit) が Windows10 Pro x64(64bit)上で落ちる。落ちまくる。クラッシュする。
ファイル保存するだけでも落ちるし、LibreOffice Draw を起動しようとしただけでも落ちるけど、ツール → オプション → 言語設定 → 言語、のあたりをクリックするだけで確実に落ちる。
落ちる際は、いきなりフッとウインドウ全体が消えて落ちる。Windows10のイベントビューア/イベントログには何も記録が残らない。
環境は以下。
一応回避策は見つけてあって…。インストール時に「辞書」をインストールしないようにすると落ちなくなる。「辞書」が入ってなければ、オプション → 言語設定 → 言語、のあたりをクリックして表示することもできるようになる。この場合、拡張機能マネージャ上では「英語スペル辞書〜」がインストールされてない状態になる。
ただ、以前は辞書をインストールしてあっても動いてたので、どうしてこんなことになったのか…。気になる…。
症状としては、LibreOffice 5.2.3.3 x86(32bit) が Windows10 Pro x64(64bit)上で落ちる。落ちまくる。クラッシュする。
ファイル保存するだけでも落ちるし、LibreOffice Draw を起動しようとしただけでも落ちるけど、ツール → オプション → 言語設定 → 言語、のあたりをクリックするだけで確実に落ちる。
落ちる際は、いきなりフッとウインドウ全体が消えて落ちる。Windows10のイベントビューア/イベントログには何も記録が残らない。
環境は以下。
- Windows 10 Pro x64(64bit)版。Windows 10 Anniversary Update 適用済み。バージョン 1607。OSビルド 14393.576。
- LibreOffice 5.2.3.3 x86(32biti)版。ロケールは ja-JP(ja_JP)。
- スペルチェック用の辞書(英語のみ)をインストールしてある状態。
- 拡張機能マネージャ上で、「英語スペル辞書、ハイフネーション規則、類義語辞典と文法チェッカー 2016.07.01」が表示されてる。
- ユーザプロファイルを削除してから動作確認しても症状変わらず。
- オプション → 表示で、OpenGL を無効にしたり、ハードウェアアクセラレーションを無効にしても症状変わらず。
- x86(32bit)版ではなく x64(64bit)版の LibreOffice をインストールして確認してみても症状変わらず。
一応回避策は見つけてあって…。インストール時に「辞書」をインストールしないようにすると落ちなくなる。「辞書」が入ってなければ、オプション → 言語設定 → 言語、のあたりをクリックして表示することもできるようになる。この場合、拡張機能マネージャ上では「英語スペル辞書〜」がインストールされてない状態になる。
ただ、以前は辞書をインストールしてあっても動いてたので、どうしてこんなことになったのか…。気になる…。
◎ 少し気になるイベントログ。 :
フッと落ちる際にはイベントログが残らないけど、ツール → オプションを開いて閉じてしてからLibreOfficeを終了した場合、以下のイベントログが残ることに気づいた。
C:\WINDOWS\SYSTEM32\MSVCR120.dll のせいで soffice.bin が異常動作してる、という内容だろうか。
msvcr120.dll は、Microsoft Visual Studio 2013 を使ってアプリを作った際、そのアプリの動作に必要な dll、ということらしい。
ちなみに、〜\SYSTEM32\ と表示されてはいるけれど、System Explorer で確認したところ実際に使われているのは 〜\SysWOW64\ 以下の MSVCR120.dll のようで。x86(32bit)版の LibreOffice を使ってるからそうなるのだろう。
すると、その MSVCR120.dll のせいで LibreOffice が落ちているのだろうか。…そういうわけでもなさそうで。
何故なら、LibreOfficeの「辞書」をアンインストールして安定動作してる状態で確認してみても、オプションを開いて閉じてLibreOfficeを終了するだけで、相変わらず同じようにエラーログが残るからで。以下はその時のログ。
つまり LibreOffice が落ちる決定的な原因として MSVCR120.dll が絡んでるわけでもないらしい。
ログの名前: Application ソース: Application Error 日付: 2016/12/17 14:39:49 イベント ID: 1000 タスクのカテゴリ: (100) レベル: エラー キーワード: クラシック ユーザー: N/A コンピューター: dorobune 説明: 障害が発生しているアプリケーション名: soffice.bin、バージョン: 5.2.3.3、タイム スタンプ: 0x5813db9e 障害が発生しているモジュール名: MSVCR120.dll、バージョン: 12.0.40649.5、タイム スタンプ: 0x56bc018f 例外コード: 0xc0000409 障害オフセット: 0x000a7746 障害が発生しているプロセス ID: 0x2cfc 障害が発生しているアプリケーションの開始時刻: 0x01d25827f0a84b32 障害が発生しているアプリケーション パス: C:\Program Files (x86)\LibreOffice 5\program\soffice.bin 障害が発生しているモジュール パス: C:\WINDOWS\SYSTEM32\MSVCR120.dll レポート ID: 579b43e2-1c1d-48bc-8f4d-6390bfa12bf1 障害が発生しているパッケージの完全な名前: 障害が発生しているパッケージに関連するアプリケーション ID: イベント XML: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="Application Error" /> <EventID Qualifiers="0">1000</EventID> <Level>2</Level> <Task>100</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2016-12-17T05:39:49.312644000Z" /> <EventRecordID>15041</EventRecordID> <Channel>Application</Channel> <Computer>dorobune</Computer> <Security /> </System> <EventData> <Data>soffice.bin</Data> <Data>5.2.3.3</Data> <Data>5813db9e</Data> <Data>MSVCR120.dll</Data> <Data>12.0.40649.5</Data> <Data>56bc018f</Data> <Data>c0000409</Data> <Data>000a7746</Data> <Data>2cfc</Data> <Data>01d25827f0a84b32</Data> <Data>C:\Program Files (x86)\LibreOffice 5\program\soffice.bin</Data> <Data>C:\WINDOWS\SYSTEM32\MSVCR120.dll</Data> <Data>579b43e2-1c1d-48bc-8f4d-6390bfa12bf1</Data> <Data> </Data> <Data> </Data> </EventData> </Event>
C:\WINDOWS\SYSTEM32\MSVCR120.dll のせいで soffice.bin が異常動作してる、という内容だろうか。
msvcr120.dll は、Microsoft Visual Studio 2013 を使ってアプリを作った際、そのアプリの動作に必要な dll、ということらしい。
ちなみに、〜\SYSTEM32\ と表示されてはいるけれど、System Explorer で確認したところ実際に使われているのは 〜\SysWOW64\ 以下の MSVCR120.dll のようで。x86(32bit)版の LibreOffice を使ってるからそうなるのだろう。
- msvcr120.dll のタイムスタンプは 2016/02/10、バージョンは 12.00.40649.5。
- ちなみに、似たようなファイル名の msvcr120d.dll は、2013/10/04、12.00.21005.1。
- msvcr120_clr0400.dll は、2016/07/16、12.00.52512.0。
すると、その MSVCR120.dll のせいで LibreOffice が落ちているのだろうか。…そういうわけでもなさそうで。
何故なら、LibreOfficeの「辞書」をアンインストールして安定動作してる状態で確認してみても、オプションを開いて閉じてLibreOfficeを終了するだけで、相変わらず同じようにエラーログが残るからで。以下はその時のログ。
ログの名前: Application ソース: Application Error 日付: 2016/12/17 14:43:10 イベント ID: 1000 タスクのカテゴリ: (100) レベル: エラー キーワード: クラシック ユーザー: N/A コンピューター: dorobune 説明: 障害が発生しているアプリケーション名: soffice.bin、バージョン: 5.2.3.3、タイム スタンプ: 0x5813db9e 障害が発生しているモジュール名: MSVCR120.dll、バージョン: 12.0.40649.5、タイム スタンプ: 0x56bc018f 例外コード: 0xc0000409 障害オフセット: 0x000a7746 障害が発生しているプロセス ID: 0x3110 障害が発生しているアプリケーションの開始時刻: 0x01d2582864ea8ae4 障害が発生しているアプリケーション パス: C:\Program Files (x86)\LibreOffice 5\program\soffice.bin 障害が発生しているモジュール パス: C:\WINDOWS\SYSTEM32\MSVCR120.dll レポート ID: 66759229-9836-45a8-8483-4eec954ec355 障害が発生しているパッケージの完全な名前: 障害が発生しているパッケージに関連するアプリケーション ID: イベント XML: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="Application Error" /> <EventID Qualifiers="0">1000</EventID> <Level>2</Level> <Task>100</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2016-12-17T05:43:10.578963300Z" /> <EventRecordID>15049</EventRecordID> <Channel>Application</Channel> <Computer>dorobune</Computer> <Security /> </System> <EventData> <Data>soffice.bin</Data> <Data>5.2.3.3</Data> <Data>5813db9e</Data> <Data>MSVCR120.dll</Data> <Data>12.0.40649.5</Data> <Data>56bc018f</Data> <Data>c0000409</Data> <Data>000a7746</Data> <Data>3110</Data> <Data>01d2582864ea8ae4</Data> <Data>C:\Program Files (x86)\LibreOffice 5\program\soffice.bin</Data> <Data>C:\WINDOWS\SYSTEM32\MSVCR120.dll</Data> <Data>66759229-9836-45a8-8483-4eec954ec355</Data> <Data> </Data> <Data> </Data> </EventData> </Event>
つまり LibreOffice が落ちる決定的な原因として MSVCR120.dll が絡んでるわけでもないらしい。
◎ 仮想PC上で試してみた。 :
仮想PC VMware Player 上で、Windows10 x64 評価版(バージョン1607。Windows 10 Anniversary Update適用済み)をインストールして、Windows Update を済ませた状態で LibreOffice 5.2.3.3 x86 をインストールして動作確認してみた。
この環境だと、「辞書」がインストールされていても落ちない。イベントログにエラーも残らない。
つまり、配布公開されてる LibreOffice が最初からおかしいわけではなくて、自分のメインPCが LibreOffice を動作させるにあたって何かおかしな状態になってることがハッキリしてきた。
メインPCは、
VMware上の綺麗なWindows10の C:\Windows\SysWOW64\ の中を覗いてみた。以下のファイルがあった。
試しに、メインPC上の SysWOW64\msvcr120.dll をリネームして、VMware上のWindows10のmsvcr120.dll をメインPC上にコピーしてから LibreOffice の動作確認をしてみた。
症状変わらず。相変わらず落ちる。また、特定の操作をすることで、今まで同様に msvcr120.dll 絡みのエラーログも残った。
ということは、LibreOffice が落ちるのは msvcr120.dll が原因ではない、ということになるのだろうか…。
この環境だと、「辞書」がインストールされていても落ちない。イベントログにエラーも残らない。
つまり、配布公開されてる LibreOffice が最初からおかしいわけではなくて、自分のメインPCが LibreOffice を動作させるにあたって何かおかしな状態になってることがハッキリしてきた。
メインPCは、
- Visual Studio 等をやたらめったらインストールしてある状態。
- Windows7からアップグレードした状態。
- 英語圏の色んなソフトをインストールしちゃってる。
VMware上の綺麗なWindows10の C:\Windows\SysWOW64\ の中を覗いてみた。以下のファイルがあった。
- MSVCR120.dll。12.0.21005.1。タイムスタンプ 2016/10/29 02:12。
- msvcr120_clr0400.dll。12.0.52512.0。タイムスタンプ 2016/07/16 20:44。
試しに、メインPC上の SysWOW64\msvcr120.dll をリネームして、VMware上のWindows10のmsvcr120.dll をメインPC上にコピーしてから LibreOffice の動作確認をしてみた。
症状変わらず。相変わらず落ちる。また、特定の操作をすることで、今まで同様に msvcr120.dll 絡みのエラーログも残った。
ということは、LibreOffice が落ちるのは msvcr120.dll が原因ではない、ということになるのだろうか…。
[ ツッコむ ]
以上です。