カテゴリー別アーカイブ: 予期していない動作について

Curlにてエラーや例外が発生した際の対処方法を紹介いたします。
 

操作または操作のパラメータが無効です

【ご質問】
Curlのアプレットを実行しようとする時に、”致命的なCurlエラー”となり、「報告を表示」ボタンを押すと「BadStateSocketException: AcceptorTCPSocket.set-listen-backlog:操作または操作のパラメータが無効です。」というエラーが表示されています。どうしてですか?
 
【回答】   
ファイアウォールによって遮断されている可能性があります。
ファイアウォールの設定で以下のプログラムが遮断されている場合、許可してください。
インストールされているセキュリティソフトのファイアウォール設定の確認や変更方法に
関しましては、セキュリティソフトのメーカーへ問い合わせていただきますようお願い致し
ます。
・curl-eng.exe
・surge.exe
・curl.exe
・Curl RTE

アプリケーションを起動しようとしましたが、エラーが出て起動できません

【ご質問】
アプリケーションを起動しようとしましたが、エラーが出て起動できません。
 
【回答】   
まずは、Curlの実行環境が正常にインストールされているか確認する為にすべてのプログラムから、 Curl RTE の Curlコントロールパネルを選択して下さい。
起動されなかった場合は、インストールに失敗している可能性とファイアウォールで遮断されている可能性が考えられます。セキュリティソフトで”curl”や”surge”がつくプログラムが遮断されていないか確認して下さい。遮断されている場合には、それらを許可してください。
上記に当てはまらない場合は、一旦アンインストールしてからアンチウィルスソフトなどを一旦無効にして再インストールし直して下さい。インストール後は、アンチウィルスソフトを有効に戻してください。

マニフェストエラー

【ご質問】
Curlのアプレットを実行する時に、下記のようなエラーが発生したことがありますが、どうすれば解決できますか?<エラー>このアプレットをロード中にエラーが発生しました。SyntaxError:….:既定のマニフェストをインポートできません:Error:Error:¥’xxxx/curl-license-4.dat¥’のライセンスは¥’yyyyyy¥’を許可していません。
 
【回答】   
このエラーは以下の何れかの理由によって発生します。

①ライセンスキー申請時のURLと該当サーバのURLが一致していない可能性があります。

対処方法:新しいライセンスキーを申請してください。

②以前使用していたライセンスキーがInternetExplorerのキャッシュに残っており、Curlの実行環境はそれを使ってアプレットを起動しようとした可能性があります。

対処方法:エラーが発生するマシンのInternetExplorerのファイルキャッシュをクリアして、Curlの実行環境を再起動してから、アプレットを起動してください。

HTTPSプロトコルでCurlのアプレットを実行する時に、画面が真っ白になりますが、対応方法がありますか

【ご質問】
HTTPSプロトコルでCurlのアプレットを実行する時に、画面が真っ白になりますが、対応方法がありますか?
 
【回答】   
Windows上で、バージョン3.0以下のCurlの実行環境のみがインストールされており、
HTTPSプロトコルを利用した3.0以下の実行環境で動作するアプレットをInternetExplorerで実行する時に発生します。
この現象は、サーバ側レスポンスヘッダの設定とInternetExplorerの通信API(WININET)の仕様によって起きたものです。
同じ条件でプラグインが必要になるWordファイルなどをInternetExplorerでご覧になる時にも、同等なエラーが発生します。
詳細に関しましては、 マイクロソフト社の次のサポート情報をご覧ください:
解決方法は上記の資料に記述されております。
http://support.microsoft.com/default.aspx?scid=kb;ja-jp;812935

Curlのバージョン4.0以上のCurlの実行環境がインストールされている場合、或いはバージョン4.0以上でのみ動作するアプレットを実行する場合、上記のような現象がCurlの実行環境によって解決されています。
(OS側で対処する必要がありません)

ブレイクポイントを設定した箇所で実行が止まりません

【ご質問】
ブレイクポイントを設定した箇所で実行が止まりません。なぜでしょうか?
 
【回答】
Curlコントロールパネルのデバッガタブ(バージョン4.0.x以前は、デバッグオプションタブ)で、「ロケーションの追加」ボタンを押下し、「Urlプレフィックスまたはディレクトリパス」に
「file:」と入力してOKボタンを押下して下さい。これにより、クライアントのファイル システム内のファイルでブレイクポイントを設定した場合に、実行が止まるようになります。

画面が歪む

【ご質問】
Curl RTEあるいはCDE(旧CurlIDE)のインストールは、成功したのに、デモの画面がゆがんでしまいます。
 
【回答】
ビデオカードのドライバのアップグレードを実施してください。

それでも解決しない時は、サポートまでお問い合わせください

ネットスケープを使ってインストールできない。

【ご質問】
ネットスケープのブラウザを使用してインストールしたが、何も起こりません。
 
【回答】
以下の内容を確認して下さい。

 プロキシサーバを使うときは、所属部署のシステム管理者か、ご自分のオペレーティング・システムに関するマニュアルで、インターネットオプションにプロキシサーバ情報を設定して下さい。
 ネットスケープSmartUpdateとJavaScriptが無効になっているとインストールすることが出来ません。

SmartUpdateを有効にするためには、次のように選択します。
 編集 > 設定 > 詳細 > SmartUpdate
 [SmartUpdate]の項目にチェックしてから、OKをクリックします。

JavaScriptを有効にするためには、次のように選択します。
 編集 > 設定 > 詳細
 [JavaScript]の項目にチェックして、OKをクリックします。

※Ver.7からはネットスケープはサポート対象外となっておりますのでご注意ください。

ダウンロードがはじまらない

【ご質問】
ダウンロードがはじまらない、または途中で中止されます。
 

【回答】
以下の原因が考えられます。

① インターネットが混雑している可能性があります。
 ダウンロードページが見られない、また、ファイルをクリックしてもダウンロードが始まらない場合は、時間をおいて、インターネットが混雑していないときに、再度、ダウンロードを行ってください。

② ダウンロードに必要な空き容量が足りない可能性があります。
 ハードディスクの空き容量を確認し、足りない場合はファイルを消すなどして容量を確保してください。
 ファイルの容量はダウンロード画面に記載されています。

独立型アプレットが起動できない

◆ご質問◆
独立型アプレットをWebサーバに配置し、”http://~/start.dcurl”とURLにアクセスしましたが、エラーが発生し起動することが出来ません。
どうすれば解決できるのでしょうか。

◆回答◆
独立型アプレットでは、URLの先頭で特別な curl://launch/ プレフィックスを使用する必要があります。
http://~ の前に curl://launch/ がついているか確認して下さい。

エラーメッセージ:「モード ‘w’ でファイル [URL] を開くことに失敗しました」

◆ご質問◆
以下のメッセージが表示されます。
「モード ‘w’ でファイル ‘[ファイルのURL]’を開くことに失敗しました
  要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。(1224)」

この問題を解消するにはどのようにしたらよいでしょうか。

◆回答◆
今回のエラーメッセージは、以下のように構成されています。

「モード ‘①’ でファイル ‘②’ を開くことに失敗しました: ③」

 ①ファイルの読み書き込みモードを表すものです。
  今回は、’w’ですので、書き込みしていることを表します。
 ②ファイルパス、ファイル名を表すものです。
 ③ここには、OSからのメッセージが格納されます。
   「要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。 (1224)」
    は、今回の現象を調査する際に重要となるメッセージとなります。

「ファイルが他のプロセス(ウイルスバスターなど)に利用されているため、
  書き込みモードで開くことに失敗した」ことが原因として考えられます。

Curl言語やシステムそのものに問題があるのではなく、
稼動しているOSや周辺のプロセス(アプリケーション)が起因している可能性があります。

エラーメッセージ:「InternetReadFileEx に失敗しました: (12031)」

◆ご質問◆
予期していないアプレット例外が発生し、「InternetReadFileEx に失敗しました: (12031)」というメッセージが表示されました。
これはどのようなときに発生するのでしょうか。

◆回答◆
Curlは通信にWindows APIのWinInetを利用しております。
今回のエラーはWinInetが出力したものであり、CurlはWinInetから受け取ったエラーを表示しているにすぎません。

エラーの原因はエラーコード(12031)より
「サーバとのコネクションが切断した」ためであると考えられます。

“パケットの情報”や”サーバのログ”、”ネットワーク障害が生じていないか”などをご確認ください。

TranscodingIOExceptionについて

◆ご質問◆
CsvDataWriterを利用してUTF-8の入力データをshift-jisで出力しようとしています。

その際にUTF-8のみに存在する文字が存在した場合、”TranscodingIOException”が発生してしまいます。
Exceptionを発生させずに文字化けしてでも入力データの最後まで出力させることは可能でしょうか。

◆回答◆
今回の場合、UTF-8で表現可能な文字に対応する文字コードがshift-jisには存在しないため、
“TransEncodingException”が発生しました。

そのため、残念ながらUTF-8にしか存在しない文字をshift-jisで
(文字化けの状態を含め)出力することは不可能です。

TransEncodingExceptionが発生した場合にも出力を行うためには、
例えばエラーが発生した際に読み込みに使用した文字コードではなく
別の文字コードを指定し読み込み直すといった処理が考えられます。

エラーメッセージ:「IDE/RTEのインストールが成功していないので、CDEプラグインのインストールをキャンセルしています。」

【ご質問】
このFAQはWindows2000上にCDEをインストールする際の問題です。
Curl CDEの導入がうまくいきません。
説明に従いインストールを進めていくと
Installing feature files:  CurlInstallHandler.jar
の段階で
「IDE/RTEのインストールが成功していないので、CDEプラグインのインストールをキャンセルしています。」
というメッセージが出力され、インストールが中断してしまいます。

【回答】
この問題はCDEのインストール時に使用するレジストリを確認するためのツールが
Windows2000には存在しないために発生しています。
(通常のWindows2000ではこのツールはインストールされていません。)

Windows2000でCDEを使用する場合は、以下のサイトの記述を参考に必要なツール
(Windows 2000 サポート ツール)をインストールして頂く必要があります。

「Windows 2000 サポート ツールを Windows 2000 Server ベースのコンピュータにインストールする方法」
http://support.microsoft.com/kb/301423/ja

ExcelのハイパーリンクからCurl起動をするとエラーになる

◆ご質問◆
ExcelのハイパーリンクからCurlアプレットにアクセスすると、エラーが発生します。
Curlはハイパーリンクからのアクセスには対応しているのでしょうか。

◆回答◆
Excelのハイパーリンクをクリックしての起動は、webサーバからではなく”ブラウザのキャッシュ”から起動されます。
つまり、Excelのハイパーリンクをクリック時に、一度そのリンク先のファイルをブラウザのキャッシュに保存し、
そこから起動しようとします。

これは、Curlの問題というよりExcelの挙動になります。
回避策は以下の通りです。

[回避策]
Excelのリンク先を通常のHTMLファイルにし、このファイルからCurlアプレットにリンクするように変更する。
(Excelのハイパーリンク→HTMLファイル→Curlアプレット)

ActiveXObject使用時にExcelのプロセスが残る

◆ご質問◆
ActiveXObjectを使用し、Excelファイルを操作すると、
Curlのブラウザを閉じるまでExcelのプロセスが消去されない。

Curlのブラウザを閉じずにExcelのプロセスを消去するにはどうしたらよいか。

◆回答◆
Excelのプロセスを消去するためには以下の操作などを実行する必要があります。
なお、この現象はCurlに限らず他のアプリケーションからExcelを呼出す場合にも発生します。

  1.Applicationオブジェクトは必ず Quitする。
  2.WorkBookオブジェクトは必ず Close する。
  3.宣言以外の場所で Excel. と書かない。
  4.参照は必ず宣言しているオブジェクトから書き始める。
  5.プロシージャ外で宣言しているオブジェクトは必ずNothingを使って破棄する。

アプレットの中で上記のような処理を正しく行っているか確認をお願いします。

SurfaceTooLargeExceptionについて

◆ご質問◆
処理の重いExcelを立ち上げているときに、
Curlのアプリケーションを実行すると”SurfaceTooLargeException”が発生する。
Exceptionの発生原因および対策はどのようなことが考えられるか。

◆回答◆
“SurfaceTooLargeException”はレンダリングに使用するグラフィックメモリが不足した場合に発生します。

対策としては以下のことが挙げられます。
 ・極力、必要最小限のメモリを使用する
 ・不要となったオブジェクトは適宜破棄するようなロジックにする

HTTPステータス:503

◆ご質問◆
アプレット起動時に「予期していないアプレット例外」(ステータスは503)が発生し、
キャッシュのクリア、Cookieの削除、ファイルの削除等行なっても改善されません。

発生の原因としてどのようなことが考えられるでしょうか。

◆回答◆
HTTPのステータスコード503は「Service Unavailable」であり、
一時的にレスポンスを返すことができない状態を意味します。

そのため、Curlアプリケーションがリクエストを送信して
どのようなレスポンスが(パケットレベルで)返却されているのかを調べてる必要があります。
その際にリクエスト時、送信されなければならないパラメータなどが
追加されているかどうかの確認もしなければなりません。

エラー発生時のパケットのキャプチャを行い、パケット内容の確認を行ってください。
また、このアプリケーションが動作しているサーバー回りの環境について、
ロードバランサやプロキシなどが使用されていないかの確認も行ってください。

StreamCorruptedExceptionについて

◆ご質問◆
アプリケーション起動時にStreamCorruptedExceptionが発生します。
(StreamCorruptedException: Internal serialization error: Bad magic number )
発生する原因は何でしょうか。

◆回答◆
StreamCorruptedExceptionはパーシスタントデータが何らかの理由で壊れた場合に発生します。

下記のようなことが考えられますが、根本的な原因は不明です。
 ・パーシスタントデータが記述されているファイルなどの内容が消去された
 ・ユーザーが誤ってファイルを書き換えた
 ・ファイルへ記述している途中でPCの電源が落とされた