Ticket #33675

Mecabの初期化エラー

Open Date: 2014-04-14 00:02 Last Update: 2014-05-17 22:20

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

Windows 7 sp1 x64 で新しく開発環境を作って jp2014.1 ブランチをビルドしたところ、ソースから実行するときに下記のエラーが出ます:

ERROR - synthDrivers.jtalk._bgthread.BgThread.run (22:40:49):
Error running function from queue
Traceback (most recent call last):
  File "synthDrivers\jtalk\_bgthread.py", line 32, in run
    func(*args, **kwargs)
  File "synthDrivers\jtalk\jtalkDriver.py", line 178, in _speak
    _jtalk_speak(msg, index, prop)
  File "synthDrivers\jtalk\jtalkDriver.py", line 121, in _jtalk_speak
    Mecab_analysis(s, mf, logwrite_=logwrite)
  File "synthDrivers\jtalk\mecab.py", line 149, in Mecab_analysis
    head = libmc.mecab_sparse_tonode(mecab, src)
WindowsError: exception: access violation reading 0x00000000

なぜか MeCab for Windows 0.996 をインストールしておくとこのエラーが出ません。

http://code.google.com/p/mecab/downloads/detail?name=mecab-0.996.exe

インストールされるファイルそのものは参照していないので、レジストリの参照かも知れません。 ソースから実行する場合のみ起きると考えられ、リリース版ではこの問題は報告されていません。

ソースから実行する手順のドキュメントも、ひきつづき整備したいと思います。

関連チケット #31635 日本語チームの git ブランチ運用

Ticket History (3/6 Histories)

2014-04-14 00:02 Updated by: nishimoto
  • New Ticket "ソースから実行すると WindowsError が出る" created
2014-05-01 16:56 Updated by: nishimoto
  • Milestone Update from 2014.2jp (closed) to (None)
  • Resolution Update from None to Accepted
  • Component Update from (None) to テキスト解析
Comment

リリースの支障になる問題ではないため、いったんマイルストーン解除します。

2014-05-03 18:44 Updated by: nishimoto
Comment

日本語テスト版 jpbeta140502 で下記のエラーが出る問題のご指摘をいただきました。

INFO - synthDrivers.jtalk.mecab.Mecab_initialize (15:40:14):
mecab_new failed.

作業環境から MeCab をアンインストールすると再現されたので、本件の現象と判断しました。

2014-05-03 20:33 Updated by: nishimoto
  • Summary Updated
  • Resolution Update from Accepted to Fixed
Comment

日本語テスト版 jpbeta140503

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta140503.exe

概要を「ソースから実行すると WindowsError が出る」から「Mecabの初期化エラー」に変更。

以下、技術的なメモ:

初期化でダミーの mecabrc を渡さなくても成功しているように見えるが、MeCab がインストールされていない環境だと初期化に失敗する。

ダミーの mecabrc を渡して初期化するように実装を戻した。

2014-05-08 22:14 Updated by: nishimoto
  • Ticket Close date is changed to 2014-05-08 22:14
  • Status Update from Open to Closed
Comment

jpbeta140503 で直ったようなのでクローズします。

2014-05-17 22:20 Updated by: nishimoto
Comment

別のことを調べていたら見つけたのでメモ:

MeCab 0.90 における mecabrc ファイルの優先順位

http://namazu.asablo.jp/blog/2006/04/04/315244

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login