質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

3663閲覧

hs_err_pid664.logの原因について

3261

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

2クリップ

投稿2017/11/26 14:32

Java初心者です。
ボタンを押すと文章を表示するだけの簡単なアプリを作ってeclipseで実行中に以下のエラーメッセージが発生しました。エラー内容を検索したりしてみましたが原因がわからなかったので質問させていただきました。エラーログも掲載したので原因がわかる方、教えてください。
###エラーメッセージ

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d88202e, pid=664, tid=0x00000cc4

JRE version: Java(TM) SE Runtime Environment (8.0_151-b12) (build 1.8.0_151-b12)

Java VM: Java HotSpot(TM) Client VM (25.151-b12 mixed mode, sharing windows-x86 )

Problematic frame:

C [glass.dll+0x1202e]

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

An error report file with more information is saved as:

C:\Documents and Settings\   \eclipse-workspace\練習\hs_err_pid664.log

###該当のソースコード
package 練習;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class EventHandle extends Application {
public void start (Stage stage) {
stage.setWidth(300);
stage.setHeight(140);

Button button = new Button("ボタン"); button.setOnAction(event -> System.out.println("ボタンが押されました")); BorderPane root = new BorderPane(); root.setCenter(button); stage.setScene(new Scene(root)); stage.show(); } public static void main(String[] args) { launch(); }

}

###エラーログ
イメージ説明

A-pZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

同様のWindows XPで動作しないという報告が上がっています。
JDK 8 Update 151 - JavaFX - setOnAction - Crash in glass.dll when triggered

以下の理由で、この問題は修正されないものとして解決しています。

  • Windows 10 / windows 7 / windows 2012 では再現しない
  • Java 8ではWindows XPはサポートされない

投稿2017/11/28 03:39

shimitei

総合スコア799

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2017/11/28 03:44

XP(Win 5.?)がサポートされてないとするとNT(Win 4.?)もサポート対象外ということですね・・・なるほど・・・
3261

2017/11/28 08:15

分かりました。 回答ありがとうございました。
guest

0

無駄なコメントに終わるかも知れませんが・・・

プログラムコードの問題ではなく環境の問題だと思います。というのはネイティブコードを呼び出すようなことをしているわけではなく標準機能(JavaFX)しか利用していないにもかかわらずJVMが異常終了しているからです。普通そういうことは(JVMの秘孔でも突かない限り)起きないと思います。

一つの手段として、JavaFXの問題かどうか切り分けてみてはいかがでしょうか?次の2つのプログラムは実行できるでしょうか?

サンプル1が動かないとするとかなり致命的な環境問題と思います。
サンプル1が動き、サンプル2が動かないならGUI関連の問題かも知れません。
両方動いたとしたらJavaFX固有の問題かも知れません。グラフィックボードやドライバーによってはswingは動くがJavaFXが動かないということがある気がします。(なおパッケージ名やeclipseのワークスペースの場所には日本語を使わない方がよいかも知れません。関係ない気もすごくしますが・・・)

サンプル1(CUIアプリケーション)

java

1package sample1; 2 3public class Hello { 4 public static void main(String[] args) { 5 System.out.println("hello, world!"); 6 } 7}

サンプル2(GUI by swing)

java

1package sample2; 2 3import java.awt.*; 4import javax.swing.*; 5 6public class MyFrame extends JFrame { 7 public static void main(String[] args) { 8 new MyFrame().setVisible(true); 9 } 10 11 MyFrame() { 12 JLabel label = new JLabel("hello, world!"); 13 label.setPreferredSize(new Dimension(300, 300)); 14 getContentPane().add(label, BorderLayout.CENTER); 15 setDefaultCloseOperation(EXIT_ON_CLOSE); 16 pack(); 17 } 18}

投稿2017/11/27 11:12

編集2017/11/27 11:15
KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A-pZ

2017/11/27 16:57

私も環境依存ではないかなぁと思いました。特に実行時のJREならびにJavafx用のjarなど。 (パッケージ名が日本語でも動いてはいますが)
KSwordOfHaste

2017/11/27 21:51

Windows NTの32bitのようで、自分が知らない環境のため実験のしようがなく・・・切り分け方法を提案し詳しい方のヒントにしてもらうぐらいしか思いつきませんでした。JavaFX application threadで0番地参照で落ちているのでJavaFX用のネイティブコード(OpenJDK?)のバグのようにも思えるのですが・・・難しすぎて分かりません><
KSwordOfHaste

2017/11/27 22:03

質問者さんへ: ダンプを載せる場合画像ではなくテキストで載せないと詳しい方が見る場合に調べにくいはずです。ダンプ部分の先頭行の前の行と最終行の後の行へバッククォート文字3つ(```)だけの行を挿入すると質問文が乱れずにすみます。下記ページの「コードを入力」のところを参考にしてください。 https://teratail.com/help#about-markdown
3261

2017/11/28 08:15

早速試してみました。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問