10-31-2012, 11:44 AM,
(This post was last modified: 10-31-2012, 11:53 AM by okm.)
|
|||||
|
|||||
NullDereferenceExceptionとpcurl
こんにちは。
ここのところ連投で申し訳ありません。 本日NullDereferenceExceptionが発生しました。 -------------------------------- NullDereferenceException: 非 null 値が要求されている箇所 (0x01FE8C04) に、null を使用しようとしています。 #0 in-compiler-process (0x0155ef97-943) #1 import-package-in-compiler (0x015893df-281) #2 import-package-with-loaded-packages-locked (0x01588f61-489) #3 import-pkg-and-maybe-initialize-with-loaded-packages-locked (0x01588d0e-110) #4 import-package-and-maybe-initialize (0x01587bf7-735) #5 system-import-package (0x01e85165-333) #6 new-instance-from-string (0x089a9120-276) at http://xxxx.xx.co.jp/SMAPCurl/layout/menu/load.pcurl:?? #7 [{proc} inside menuController.make-menu] (0x089768e7-219) at http://xxxx.xx.co.jp/SMAPCurl/layout/menu/load.pcurl:?? #8 closure_raw_handler (0x0155f423-27) #9 EventTarget.handle-event (0x0315fb9e-174) #10 GuiEventTarget.handle-event (0x0315fe2f-63) -----------(省略)----------- どうやらload.pcurlをインポート、コンパイルしている際に発生しているようなので、昨日変更したload.pcurlを前日までのものに戻しました。 例外は発生しなくなったように思われるのですが、pcurlで例外が発生した方いらっしゃいますか? というのも、変更したpcurlに含まれる内容は EmbeddedBrowserGraphicを利用してhtmlを表示させる処理を追加しただけで、 インポート処理部分は変更していないからです。 ※変更したmenuパッケージは、メニュー画面の表示でして、メニュー画面から各画面が開くように(つまり各パッケージのload.pcurlをダイナミックロードで読み込むように)なっています。 pcurlの生成に失敗していたのでしょうか? 関係のありそうなものってなにかありますでしょうか? よろしくお願いいたします。 |
|||||
10-31-2012, 12:50 PM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
|
|||||
10-31-2012, 12:59 PM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
6行目と7行目の箇所を見ると、Curlのコンパイル云々というよりは
okmさんの利用されているフレームワークが原因に思われます。 「new-instance-from-string」という名前からも、ダイナミックインポートの箇所だと思うのですが エラーの起点が「menuController.make-menu」ですので恐らくこういう現象ではないかと。 標準APIではなく、誰かが作成したプログラムに起因するようですので、下記をご一読戴いた後で、 エラーの原因がプログラム(load.pcurl内のソース)と予測されるのであればそのプログラムの作成者、 メニュー呼び出しの設定であればフレームワークの作成者に問い合わせてみてはいかがでしょうか? 1.menuController.make-menuでは設定ファイルかプログラムの設定値などを読んで メニュー項目を作成する。 2.メニューの作成は「new-instance-from-string」というプロシージャを利用しており、 そのプロシージャは名前から、恐らくダイナミックインポートをしていると思われる。 3.ダイナミックインポートを行った際に、解析されるプログラム(load.pcurl)に何らかの不備があり、 NullDereferenceExceptionを起こしている。 3’.あるいは、解析されるプログラムに不備はないものの、make-menuに渡されている値に不備があり、 その結果としてload.pcurlの部分でNullDereferenceExceptionを起こしている。 4.しかし、そのエラーが何処でもキャッチされていないため、アプリケーション例外として発生している。 プログラムの中身が判りませんので大雑把な事しかかけませんが、ご容赦ください。 |
|||||
10-31-2012, 01:55 PM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
kimさん、nmyzkさん
ありがとうございます。 わたしもmenuController.make-menuを疑っていたのですが、 実は変更したのはmenuUIというクラスの方で(EmbeddedBrowserGraphic追加)、 昨日以前のソースに戻してpcurl再生成、差し替えると問題の報告はなくなりました。 ※menuパッケージ内は、menuUI.scurl menuController.scurl の2クラス。 ということで、pcurlがうまくいかなかったのかな、と怪しんでおります。 |
|||||
10-31-2012, 03:59 PM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
pcurlファイルはバイナリなので中身が壊れているかわかりませんが、バイナリエディタを使ってpcurlを比較してみると 疑問解消に近づけるかもしれませんね。
|
|||||
11-01-2012, 10:05 AM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
同じコードのscurl版で発生しませんか?
pcurlファイルのキャッシュと関係ありませんか? また、pcurlを作成時に、デバグ情報を含むようにデプロイしたら、エラーの個所が特定できると思います。 |
|||||
11-09-2012, 01:44 PM,
|
|||||
|
|||||
RE: NullDereferenceExceptionとpcurl
kimさん、heavybugtrackerさん
ありがとうございます。 pcurlのキャッシュと関係がありそうな気がします・・。 もう少し調べてみます。 |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread: