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

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

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

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

Q&A

解決済

1回答

5463閲覧

環境の移行に伴うエラー:0xc0000005

miroa

総合スコア7

Java

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

0グッド

0クリップ

投稿2020/01/03 08:01

編集2020/01/03 11:43

コード

前提・実現したいこと

青空文庫のテキストファイルから受け取ったルビを外して、ウインドウアプリケーション上にルビのリストを展開するアプリを制作中です。現在、ウインドウアプリケーションでルビのリストとテキストを表示するところまでできています。
複数のPCでコードを書いてデータのやりとりをしながら作業しています。jdk11.0.2のVScodeからjdk13.0.1のVScodeのpcへの移行の際に問題が発生しています。

発生している問題・エラーメッセージ

複数のPCで作業していたのですが、データ移行する際にウインドウ部分が完全に動作しなくなりました。
エラーメッセージ
最初に実行してでたエラー:
java.lang.Error: Unresolved compilation problem
:調べたところ文字コード関連のようです。動作環境のコードがUTF-8なのでメモ帳でUTF-8に変換して文字化け部分を修正し実行したところ別のエラーが出ました。

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

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffc854af98a, pid=4992, tid=12936

JRE version: Java(TM) SE Runtime Environment (13.0.1+9) (build 13.0.1+9)
Java VM: Java HotSpot(TM) 64-Bit Server VM (13.0.1+9, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
Problematic frame:
C [awt.dll+0x8f98a]

No core dump will be written. Minidumps are not enabled by default on client versions
of Windows

C:\Users\roami\hs_err_pid4992.log

If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

どうやら不正アクセスに該当するエラーのようです。対処の仕様がなく行き詰っているところです。ご教授いただけますと幸いです。

該当のソースコード

長いですが全文のせます。
(Derubyは、青空文庫の本のtxtファイルを適切な形にして、漢字とルビのリストを返します。)

Java

1import javax.swing.*; 2import java.awt.*; 3import java.awt.event.*; 4import java.util.*; 5import java.io.*; 6import javax.swing.border.*; 7import javax.swing.text.*; 8import javax.swing.text.rtf.RTFEditorKit; 9class RubyFrame extends JFrame implements ActionListener{ 10 JLabel il; 11 JLabel ol; 12 JTextField it; 13 JTextField ot; 14 JButton is; 15 JButton os; 16 JCheckBox ch; 17 JButton rg; 18 JButton sm; 19 JPanel rb; 20 JTextPane ed; 21 JScrollPane s1; 22 JScrollPane s2; 23 Deruby deruby = new Deruby(); 24 LinkedList<String[]>rubyList=new LinkedList<String[]>(); 25 RubyFrame(){ 26 setTitle("テスト"); 27 setBounds(100,100,850,700); 28 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 29 il = new JLabel("変換元ファイルを指定"); 30 ol = new JLabel("変換先ファイルを指定"); 31 it = new JTextField("C:\MyGit-master\Dentaku\kappa.txt"); 32 ot = new JTextField("C:\Derubied"); 33 is= new JButton("変換元を参照"); 34 os= new JButton("変換先を参照"); 35 ch = new JCheckBox("ルビ部を辞書登録"); 36 rg = new JButton("登録"); 37 JPanel dt = new JPanel(); 38 dt.add(ch); 39 dt.add(rg); 40 sm = new JButton("変換"); 41 JPanel lt = new JPanel(); 42 rubyList=new LinkedList<String[]>(); 43 String[] rubyset = {"漢字","ルビ"}; 44 rubyList.add(rubyset); 45 lt.setLayout(new GridLayout(4,2)); 46 lt.add(il); 47 lt.add(ol); 48 lt.add(it); 49 lt.add(ot); 50 lt.add(is); 51 lt.add(os); 52 lt.add(dt); 53 lt.add(sm); 54 is.addActionListener(this); 55 os.addActionListener(this); 56 sm.addActionListener(this); 57 rg.addActionListener(this); 58 rb = new JPanel(); 59 rb.setLayout(new BoxLayout(rb, BoxLayout.Y_AXIS)); 60 if(rubyList!=null){ 61 for(String[] l:rubyList){ 62 JLabel i0=new JLabel(l[0]); 63 i0.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); 64 JLabel i1=new JLabel(l[1]); 65 i1.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); 66 JCheckBox i2 = new JCheckBox(""); 67 JPanel i3 = new JPanel(); 68 i3.setLayout(new GridLayout(1,3)); 69 i3.add(i0); 70 i3.add(i1); 71 i3.add(i2); 72 rb.add(i3); 73 } 74 } 75 s1 = new JScrollPane(rb); 76 this.add(s1,BorderLayout.WEST); 77 ed = new JTextPane(); 78 s2 = new JScrollPane(ed); 79 this.add(s2,BorderLayout.CENTER); 80 this.add(lt,BorderLayout.NORTH); 81 this.add(rb,BorderLayout.WEST); 82 this.add(ed,BorderLayout.CENTER); 83 setVisible(true); 84 } 85 public void actionPerformed(ActionEvent e){ 86 JButton button = (JButton)e.getSource(); 87 if(button.getText()=="変換元を参照"){ 88 JFileChooser fc = new JFileChooser(); 89 try{ 90 int answer=fc.showDialog(null, "決定"); 91 if (answer == JFileChooser.APPROVE_OPTION){ 92 it.setText(fc.getSelectedFile().getAbsolutePath()); 93 } 94 }catch(HeadlessException f){ 95 f.printStackTrace(); 96 } 97 }else if(button.getText()=="変換先を参照"){ 98 JFileChooser fc = new JFileChooser(); 99 fc.setFileSelectionMode(1); 100 try{ 101 int answer=fc.showDialog(null, "決定"); 102 if (answer == JFileChooser.APPROVE_OPTION){ 103 ot.setText(fc.getSelectedFile().getAbsolutePath()); 104 } 105 }catch(HeadlessException f){ 106 f.printStackTrace(); 107 } 108 }else if(button.getText()=="変換"){ 109 rubyList=deruby.delete(it.getText(),ot.getText()+"\tmp.txt"); 110 rb.removeAll(); 111 this.remove(s1); 112 this.remove(s2); 113 if(rubyList!=null){ 114 for(String[] l:rubyList){ 115 JLabel i0=new JLabel(l[0]); 116 i0.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); 117 JLabel i1=new JLabel(l[1]); 118 i1.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); 119 JCheckBox i2 = new JCheckBox(""); 120 JPanel i3 = new JPanel(); 121 i3.setLayout(new GridLayout(1,3)); 122 i3.add(i0); 123 i3.add(i1); 124 i3.add(i2); 125 rb.add(i3); 126 } 127 128 } 129 s1 = new JScrollPane(rb,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 130 this.add(s1,BorderLayout.WEST); 131 ed.setText(""); 132 FileInputStream fis=null; 133 InputStreamReader in=null; 134 BufferedReader reader=null; 135 String doc =""; 136 try{ 137 fis = new FileInputStream(ot.getText()+"\tmp.txt"); 138 }catch(FileNotFoundException f){ 139 f.printStackTrace(); 140 }try{ 141 in = new InputStreamReader(fis,"UTF-8"); 142 }catch(UnsupportedEncodingException f){ 143 f.printStackTrace(); 144 } 145 reader = new BufferedReader(in); 146 String p=null; 147 try{ 148 while((p=reader.readLine())!=null){ 149 // while(true){ 150 // if(p.length()>=leg){ 151 // doc=""+doc+p.substring(0,leg-1)+"\n"; 152 // p=p.substring(leg-1,p.length()); 153 // }else{ 154 doc=""+doc+p+"\n"; 155 // break; 156 // } 157 // } 158 } 159 }catch(IOException f){ 160 f.printStackTrace(); 161 } 162 ed.setText(doc); 163 s2 = new JScrollPane(ed,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 164 this.add(s2,BorderLayout.CENTER); 165 revalidate(); 166 }else{ 167 168 } 169 } 170 171 public static void main(String[] args){ 172 new RubyFrame(); 173 } 174} 175``` 176### 試したこと 177文字コードの確認、変更、githubやUSBなど複数の方法での移行等 178### 補足情報(FW/ツールのバージョンなど) 179VSCode&jdk1.0.2からVScode&jdk13.0.1への移行中

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

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

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

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

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

y_waiwai

2020/01/03 08:31

このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
guest

回答1

0

ベストアンサー

dllに起因するエラーは大抵の場合、javaなどが参照するdllのパスが間違っていることが大半ですね。
下記の方も似たような(同じProblematic frame:
C [awt.dll+0x8f98a]エラーですし)

https://qiita.com/solabito331/items/fad5a1eea3176aadd9f7

帰省中で確認はできませんが、vscodeのjava.home.pathなどの設定を見直してみてください

投稿2020/01/03 09:30

impepc

総合スコア86

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

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

miroa

2020/01/03 09:51

ご回答ありがとうございます!!vscodeのパスの設定など確認します!
miroa

2020/01/03 11:53

URLのとおりバージョンを下げたら解決しました! 本当に助かりました...ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問