すべてのカテゴリ » インターネット・パソコン » その他

質問

終了

サイト(げん玉)を閲覧していると、「Stack overflow at line: 0」というものが出てきました。
とりあえず「OK」か「閉じる」しかなかったので「OK」をクリックしましたが、同じものが何度も続けて出てきました。30回ぐらいは出てきたと思います。

何があったのでこんな事になったんでしょうか?
「Stack overflow at line: 0」とはどういう意味ですか?

===補足===
PC関連の知識が乏しいので、出来るだけ噛み砕いてお願いします。

あと、この表示が何度も出たのは、何か危険なんでしょうか。

  • 質問者:キグルミヒツジ
  • 質問日時:2010-03-10 12:33:16
  • 0

*情報セキュリティー用語辞典・用語集によると
スタックオーバーフロー(Stack Overflow)とは、後入れ先出し型のメモリ領域(スタック)からデータがあふれてしまうことです。
スタックとは、OSやアプリケーションのプログラムがデータを格納するために確保するメモリ領域のことで、後から入れたデータを先に取り出すという LIFO(Last In, First Out)のしくみを持っています。スタックはサブルーチンをコールする際の戻り番地を格納する用途にも使われます。
ここで、あるプログラムが他のプログラムから渡されたデータの長さなどの検証を行わない場合、確保されたヒープメモリ領域の大きさを超えるデータが入力されると、本来書き込むことができない隣接のメモリ領域へデータが書き込まれる可能性があります。このスタックオーバーフローの脆弱性を利用して、悪意のあるユーザがリモートから攻撃を行う危険性があります。例えば、戻り番地を上書きしてしまうことにより、攻撃者が実行したいプログラムを走らせる等です。
修正プログラムの適用もしくは修正済みプログラムパッケージへの更新が必要です。

とありました。

*データの量が多すぎてメモリがいっぱいになってしまってるので、これ以上は閲覧できない状態に陥っていることを示しています。
なんでいっぱいになっているという信号を受け取ってしまうのかといえば、その原因は主にJavaScriptのせい。無限ループしてしまうのだそうです。まあ、こちらに原因があるってことではありますが、これがまたInternetExplorerでしか起こらない現象なんだそうです。

  • 回答者:とくめい (質問から16分後)
  • 3
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

並び替え:

メッセージの意味は恐らく
「プログラムの開始直後にスタックオーバーフローが発生しました」
と言う意味だと思います。

スタックとは、プログラムが動作する際に確保される一時メモリーの事です。
つまり、一時領域が足りなくなって溢れている事を意味します。
考えられる原因はプログラムのバグ又はメモリ不足又はプログラム作成時に適切なスタック領域を設定しなかった等が考えられます。
恐らくサイト側のサイトの構文ミスが原因でしょうね。^^;

  • 回答者:匿名 (質問から7日後)
  • 2
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

意味的には「0行でスタックがあふれた」ということ。
IEエンジンだと出るのでIEエンジンの問題と思われるが、サイトの推奨ブラウザがIEになっているのなら、それを承知で放置しているサイトの問題ともいえる。

  • 回答者:匿名希望 (質問から3時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る