Follow Us.RSS

突然、HTTP500エラーが発生するようになりました。

  • 新規投稿
  • ログイン

テーブルメーカー突然、HTTP500エラーが発生するようになりました。

いつもお世話になっております。
いままで普通に使えていたテーブルメーカーだったのですが、突然、HTTP500エラー等が発生するようになりました。
症状としては以下のようになります。

  • ログインせずに検索を実行するとHTTP500エラーが生じる。
    (ログインしていれば検索可能)
  • ソートを実行するとHTTP500エラーが生じる。
    (ログインしても実行できない)
  • データーベースの内容が破損。
    例1:テーブル最後尾のデータの破損)
    例2:本来あるはずのシートの中身が一部しか表示されない)

使用しているサーバ(lolipop)が最近新サーバーに移行するとのことで、データを移動したことくらいしか障害のおきる理由が思い当たりませんので、とりあえず、アップデートすれば改善するかと思い、最新版へ移行してみたのですが、状況は変わらないようです。

対処方法をご教示いただけましたら幸いです。

グラファイト-ショボン

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

ご質問ありがとうございます。

ロリポップのWAF(ウェブアプリケーションファイアウォール)は、CMONOS.JP のクエリを考慮していないため、CGI の動作によって頻繁にエラーを返します。

エラーを回避するには WAF を無効にしてください。
https://lolipop.jp/manual/user/waf-set/
CMONOS.JP は SQL を利用しませんので、WAF が防御するあらゆる攻撃は、もともと無意味です。

データが途中で切れる現象については、原因が分かりませんが、データベースが壊れているのではなく、特定文字を出力しようとすると強制終了するのではないかと思います。

こちらは、データベースの互換性に若干の問題があるのかもしれません。下記マニュアルをご参照ください。

以上参考になりましたら幸いです。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2015年12月25日(金) 11時17分31秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

WAF を無効にした結果エラーを回避できるようになりました。
ロリポップへ問い合せしましたところ、サーバー移行にあたりPerlが「5.8」から「5.10」に変更された模様ですが、旧バージョンのPerlへのパスの用意はないとのことでした…。

この場合、データベースの互換性問題の対処方法はありますでしょうか?
ご教示頂けましたら幸いです。

グラファイト-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

もし旧環境にアクセスできるようでしたら、下記をお試しください。

  1. 旧環境の「セットアップアシスタント」の「サイトテンプレート作成」で「サイトテンプレートに記事およびデータを含む。」をチェックし、「現在のディレクトリを元にサイトテンプレートを作成する」を実行します。
  2. 「セットアップアシスタント」の「サイトテンプレート書き出し」が動作する場合はこちらからサイトテンプレートを圧縮したものを書き出します。サイトの規模が大きい場合は書き出しに失敗する可能性があります。
  3. 上記が動作しない場合は、サイトテンプレートフォルダ「~/cgi-data/template/site/[サイトテンプレートフォルダ名]」を FTP ソフト等でダウンロードします。
  4. 新環境の「セットアップアシスタント」の「サイトテンプレート読み込み」が動作する場合はこちらから先ほど書き出したサイトテンプレート圧縮ファイルをファイルアップロードフォームで指定して読み込みます。
  5. 上記が動作しない場合は、ダウンロードしたサイトテンプレートフォルダを引っ越し先サーバの「~/cgi-data/template/site」フォルダにアップロードします。
  6. 引っ越し先サーバの引っ越し先ディレクトリに移動し、「セットアップアシスタント」の「サイトテンプレート適用」で先ほどアップロードしたサイトテンプレートを選択して「選択したサイトテンプレートをこのディレクトリに適用する」を実行します。

旧環境に接続できない場合は、次をおためしください。

  1. 「~/cgi-data/data」および「~/cgi-data/preferences」をダウンロードしてバックアップとします。
  2. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」についてバックアップを作成します。
  3. 上記が正常に完了したら、「セットアップアシスタント」の「データベース・設定 の復元」で「完全上書き」をチェックして「復元」します。

バックアップ処理が途中で止まってしまう場合、復元時にデータが欠損する可能性が高いのでご注意ください。

上記作業のあと、データベースの表示が強制終了する状況が悪化もせず改善もせず、作業前とまったく変わらない場合は、復元時に制御文字を除去する処理を加えてみますので、その旨ご連絡ください。

以上参考になりましたら幸いです。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月3日(日) 15時15分56秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

ご教示ありがとうございます。
いくつか使用しているテーブルメーカーの大半はまともに動作するようになったのですが、そのうちの一つの
音源DB」で「サーバーエラーが発生しました」とアラートが出てしまいなにも表示できない状態になってしまいました…。

この後どのように対処したらよろしいでしょうか。

グラファイト-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

ご報告ありがとうございます。旧環境に接続できない場合の手順を試されたという前提でお答えいたします。

  1. ダウンロードしておいた「~/cgi-data/data」および「~/cgi-data/preferences」を元の場所にアップロードして、バックアップ→復元作業前の状態に戻してください。
  2. この書き込みに添付したファイルをダウンロードし、ファイルを解凍します。
  3. 解凍して出来たファイル「BackUp.pm」および「Restore.pm」を「~/cgi-data/lib/CMONOS/CGI_Lib/Tools」フォルダの中にアップロードして既存ファイルを上書きします。その際、あらかじめ既存の「BackUp.pm」および「Restore.pm」をダウンロードしてバックアップとしてください。
  4. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」についてバックアップを作成します。
  5. 上記が正常に完了したら、「セットアップアシスタント」の「データベース・設定 の復元」で「完全上書き」をチェックして「復元」します。

添付したモジュールはこれまでのバージョンと異なり、バックアップ時と復元時に制御文字を除去する処理を追加してあります。もし不具合が(DBが非互換なために発生した)制御文字の出力に関係している場合は、モジュールを入れ替えて作業することで、正常に戻せる可能性があります。ただ、文字化けなどが発生するかもしれません。

以上参考になりましたら幸いです。

Re[2]:突然、HTTP500エラーが発生するようになりました。(7KB)
CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月4日(月) 23時52分55秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

たびたび申しわけありません。

ひょっとして、「音源DB」内のデータが不具合なせいかもしれないと思い、データを削除の上もう一度、「旧環境に接続できない場合」の対処を行ってみましたところ、「サーバーエラーが発生しました」のアラートは出なくなりました。
ですので、一つ前に質問させて頂いた件はお忘れ頂きたく思います。

しかし、やはり以前に例示したような表示の問題が生じてしまいます。
例1:テーブル最後尾のデータの破損)
例2:本来あるはずのシートの中身が一部しか表示されない)

対処方法をご教示頂けましたら幸いです。

グラファイト-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

一つ前の書き込みをお試しください。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月4日(月) 23時59分29秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

質問が行き違いになってしまい申しわけありません。

ご教示の方法を試しましたところ、
全てのテーブルメーカーで、添付ファイルのようなエラーが生じるようになってしまい、表示ができなくなってしまいました。

「BackUp.pm」および「Restore.pm」を元に戻して、再度バックアップを復元したほうがよいのでしょうか?

Re:突然、HTTP500エラーが発生するようになりました。
グラファイト-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

弊社のテスト環境ではおっしゃるような症状を再現できておりません。

  1. ダウンロードしておいた「~/cgi-data/data」および「~/cgi-data/preferences」を再度元の場所にアップロードして、バックアップ→復元作業前の状態に戻してください。
  2. テーブルメーカー環境設定がエラーが表示されることなく動作していることを確認します。動作していない場合はパーミッションに問題がある可能性があります。セットアップアシスタントの「パーミッション最適化」を実行してください。
  3. 「セットアップアシスタント」の「管理情報変更」で設定した「マスターパスワード」でログインします。
  4. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」についてバックアップを作成します。
  5. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」について「データベースを削除(メニューから選択)」します。
  6. 上記が正常に完了したら、データベース読み込みに失敗した旨表示されますが、それを無視して、「セットアップアシスタント」の「データベース・設定 の復元」で「完全上書き」をチェックして「復元」します。

上記お試しください。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月5日(火) 0時46分21秒

テーブルメーカーRe[3]:突然、HTTP500エラーが発生するようになりました。

すみません。一つ前の書き込みを試される前に、添付ファイルの「BackUp.pm」および「Restore.pm」に差し換えてくださいm(_ _)m。

Re[3]:突然、HTTP500エラーが発生するようになりました。(7KB)
CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月5日(火) 0時58分35秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

ご教示頂きました通りに再度実行してみましたところ、
「データーベース読み込みに失敗しました」
というアラートは生じなくなりました。
ありがとうございます。

しかし、最初に例示いたしました
例1:テーブル最後尾のデータの破損)
例2:本来あるはずのシートの中身が一部しか表示されない)
この現象は解決されないままとなっております。

対処方法をご教示頂けました幸いです。

グラファイト-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

ご報告ありがとうございます。
制御文字を除去しても状況が変わらないようですね。。。

バックアップファイルは、「~/cgi-data/data/CGIのフォルダ名」の中にある拡張子が .bak のファイルとなっております。

こちらはテキストファイルとなっており、「キー[TAB]値[改行]」の形式で記録されています。

データベース中の特定レコードに含まれる文字列が、データベース表示時にエラーを引き起こし、CGIが途中で強制終了しているものと思われます。ただその文字列が何なのかはわかりません。制御文字かと思いましたがそうではないようです。

ひとつひとつファイルをチェックして、おかしな文字列がないかどうかチェックする他ないように思います。表示されているファイルの次のファイルに問題があるということで、ある程度問題箇所の目星はつけられそうです。チェック後、バックアップを復元します。

ただ、レンタルサーバの仕様変更でこうしたことが起きているわけですから、レンタルサーバのサポートに復旧のため旧環境が必要なので用意してほしいとリクエストされてはいかがでしょうか。旧環境があれば、旧環境で作成したバックアップファイルを新環境で復元することで、復旧できるかと思います。

以上参考になりましたら幸いです。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月6日(水) 23時36分7秒

テーブルメーカーRe[3]:突然、HTTP500エラーが発生するようになりました。

追伸です。エラーを検出するために、KCatch.pm というデバッグスクリプトを利用して、エラーを表示できるかどうかお試しいただければと思います。

エラー情報を表示するには次のようにします。

  1. http://www.kawa.net/works/perl/catch/news.html こちらより KCatch.pm をダウンロードします。
  2. テーブルメーカーがあるディレクトリ「/cgi/CGIフォルダ名/」に KCatch.pm を入れます。
  3. 「/cgi/CGIフォルダ名/start.cgi」の三行目「#use KCatch qw( mode=html );」の行頭の「#」を削除します。
  4. この状態でアクセスするとエラー情報が表示されます。(深刻なエラーが起きている場合はエラー情報の表示に失敗します。)

上記をお試しいただき、表示されたエラーをこちらにコピーしていただけましたら、なんらかの解決をご呈示できるのではないかと思います。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年1月7日(木) 2時11分57秒

テーブルメーカーRe:突然、HTTP500エラーが発生するようになりました。

バタバタしておりまして、作業が進まず、時間が経っての再質問となってしまい申し訳ありません。

現在の状況をご説明しますと、

  1. 添付ファイル「BackUp.pm」および「Restore.pm」を試しても状況が改善しなかった。
  2. そのためバックアップファイルを照合し、不具合のある文字列をひとつひとつ洗い出していった。
  3. どうやらデーターの文字化けと改行で問題が発生していた様子。
  4. それらを改めると全てのデーターが表示できるようになりました。

と、ここまではよいのですが、

    1. テーブルメーカーで作っている
      音源DB」及び「映画DB」「画像DB」とカレンダーで作っている「公演予約」baobabで作っている「BBS
      アンケートで作っている「登録」パスワードの「ログイン」などでいか添付の画像のようなエラーが生じるようになってしまいました。
    2. また新規に登録したものでも文中に改行があると表示されなくなります。
    3. カートを見る」では添付画像の書式で
      「1.データベース読み込みに失敗しました。
      deco
      2.データベース読み込みに失敗しました。
      page」
    4. 注文履歴」「書籍DB」では添付画像の書式で

      「1.データベース読み込みに失敗しました。
      deco
      2.データベース読み込みに失敗しました。
      page
      3.データベース読み込みに失敗しました。
      inputfield」

    というようなエラーを生じるようになってしまいました。

    対処方法をご教示いただけますようお願いいたします。

    なお、別件の問題もあるのですが、そちらはこの問題を解決した後に別のトピックで質問させて頂きたく思います。

Re:突然、HTTP500エラーが発生するようになりました。
ボンダイ-ショボン

テーブルメーカーRe[2]:突然、HTTP500エラーが発生するようになりました。

ご質問ありがとうございます。
データを一つ一つチェックされたとのこと、たいへんな作業だったことと思います。

deco データベースは、棒グラフの幅などを保存している初期設定ファイルです。こちらはいったん削除して作りなおしてもそれほど再設定に時間はかからないかと思います。

~/cgi-data/preferences/common/deco(で始まるファイル/.bak以外)

を削除した後、「画像ライブラリ編集(共通)」で、棒グラフの幅などを再設定すると、エラーが出なくなるかと思います。

「page」「inputfield」でエラーが返るのも文字化けが発生していることが原因と思われます。

いったんバックアップを作成し、データと同じように文字化けがないか確認してください。ファイルの位置は

  • ~/cgi-data/preferences/CGIフォルダ名/page.bak
  • ~/cgi-data/preferences/CGIフォルダ名/field/inputfield.bak

になります。

その後、下記作業を実行してください。事前に ~/cgi-data/preferences」と「~/cgi-data/data」フォルダをダウンロードしてバックアップとすることを忘れずにお願いします。

データベースをいったん削除しないと、不具合が継続する可能性があります。必ずいったん削除してください。

上記作業後も改行でデータが消える場合は、DBM形式を変更した方がよいかも知れません。

  1. 「セットアップアシスタント」の「管理情報変更」で設定した「マスターパスワード」でログインします。
  2. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」についてバックアップを作成します。
  3. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」について「データベースを削除(メニューから選択)」します。
  4. 上記が正常に完了したら、データベース読み込みに失敗した旨表示されますが、それを無視して、「セットアップアシスタント」の「データベース・設定 の復元」で「完全上書き」をチェックして「復元」します。
  1. 「セットアップアシスタント」の「管理情報変更」で設定した「マスターパスワード」でログインします。
  2. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」についてバックアップを作成します。
  3. 「セットアップアシスタント」の「データベース・設定 のバックアップ」で「全てのデータ」「全ての初期設定」について「データベースを削除(メニューから選択)」します。
  4. 「~/cgi-data/lib/env.pl」をダウンロードし、67行目あたりで「$dbm_file = 'DB_File';」となっている部分を「$dbm_file = 'GDBM_File';」とします。もし現在が「GDBM_File」の場合は「DB_File」とします。
  5. セットアップアシスタントにアクセスすると、データベース読み込みに失敗した旨表示されますが、それを無視して、「セットアップアシスタント」の「データベース・設定 の復元」で「完全上書き」をチェックして「復元」します。

以上参考になりましたら幸いです。

CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari9.0
  • 2016年2月22日(月) 14時26分19秒
タイトルは内容を簡潔にまとめたものにしてください。
「質問です」などのタイトルで投稿することはできません。
アイコン
この E-Mail は表示されません。
添付ファイル
(< 1000000 byte)
サイズ (<800) × (<800) ピクセル
ユーザー環境MacOS X/AppleWebKit537.36
  • 新規投稿
  • ログイン