The licensee found some classes crash with stack overflow in 1.4.2b23
on Windows 2000.
Reproduce :
1) unfold the attched crash.tar
=> you will see the "crash" dir. appear.
2) Go to crash dir. and invoke "java -server TEST"
=> You will see the attached crash.jpg file.
Configration:
MPU: Pentium 1.4 [GHz]
Mem: 384 [MB]
OS : Windows 2000 (SP2, Japanese)
JRE: 1.4.2
NOTE:
1) Additional information fron the licnesee
This issue does not occur on solaris box.
The following Tabel shows their result on each platform.
Win2000 Solaris7
----------------------------------------------
jdk1.3.1_08 -server NG OK
-hotspot OK OK
jdk1.4.1_02 -server NG OK
-hotspot OK OK
jdk1.4.2_b23 -server NG OK
-hotspot OK OK
----------------------------------------------
- "NG" means 'crash occurs", "OK" means "crash does not occur".
- They show the results on solaris box just for comparing with that
on Windows.
(Solaris box: sparc 600[Mhz] * 4CPU, 4.5[GB] Solaris7)
Besides, they sent stack traces with VC++ in each jre version.
They consider there seems some problems in c2 optimization
according to the traces.
===== CASE1: : invoke "java -server TEST" in 1.4.1_02 =====
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b3654f0, VectorSet & {...}, PhaseIdealLoop * 0x0b5060d0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 24 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364ef8, VectorSet & {...}, PhaseIdealLoop * 0x0b364ed0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 29 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364db8, VectorSet & {...}, PhaseIdealLoop * 0x0b364ea0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 29 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364da8, VectorSet & {...}, PhaseIdealLoop * 0x0b364d84,
........ Continue....
===== CASE2: : invoke "java_g -server TEST" in 1.4.1_02 =====
DUIterator_Common::sample(const Node * 0x189031e8) line 59 + 3 bytes
DUIterator_Fast::DUIterator_Fast(const Node * 0x189031e8, int 3) line 734 + 37
bytes
Node::fast_outs(DUIterator_Fast & {...}) line 763 + 19 bytes
PhaseIdealLoop::build_loop_tree(Node * 0x189031e8, int 1112) line 1463 + 27
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f67e8, int 1111) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7edc, int 1110) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7e8c, int 1109) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7d68, int 1108) line 1485 + 22
bytes
........ Continue....
===== CASE3: : invoke "java -server TEST" in 1.4.2b23 =====
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1580 + 3
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
........ Continue....
===== CASE4: : invoke "java_g -server TEST" in 1.4.2b23 =====
PhaseIdealLoop::build_loop_tree(Node * 0x191e1bd0, int 1091) line 1490 + 9 bytes
PhaseIdealLoop::build_loop_tree(Node * 0x191e1b5c, int 1091) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896c654, int 1090) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896ba9c, int 1089) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896ba5c, int 1088) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896b8f0, int 1087) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896b39c, int 1086) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896aa84, int 1085) line 1533 + 22
bytes
........ Continue....
2)Others
When I reproduce the crash, VC++ show the sttached image, "vc-view.jpg".
======================================================================
on Windows 2000.
Reproduce :
1) unfold the attched crash.tar
=> you will see the "crash" dir. appear.
2) Go to crash dir. and invoke "java -server TEST"
=> You will see the attached crash.jpg file.
Configration:
MPU: Pentium 1.4 [GHz]
Mem: 384 [MB]
OS : Windows 2000 (SP2, Japanese)
JRE: 1.4.2
NOTE:
1) Additional information fron the licnesee
This issue does not occur on solaris box.
The following Tabel shows their result on each platform.
Win2000 Solaris7
----------------------------------------------
jdk1.3.1_08 -server NG OK
-hotspot OK OK
jdk1.4.1_02 -server NG OK
-hotspot OK OK
jdk1.4.2_b23 -server NG OK
-hotspot OK OK
----------------------------------------------
- "NG" means 'crash occurs", "OK" means "crash does not occur".
- They show the results on solaris box just for comparing with that
on Windows.
(Solaris box: sparc 600[Mhz] * 4CPU, 4.5[GB] Solaris7)
Besides, they sent stack traces with VC++ in each jre version.
They consider there seems some problems in c2 optimization
according to the traces.
===== CASE1: : invoke "java -server TEST" in 1.4.1_02 =====
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b3654f0, VectorSet & {...}, PhaseIdealLoop * 0x0b5060d0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 24 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364ef8, VectorSet & {...}, PhaseIdealLoop * 0x0b364ed0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 29 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364db8, VectorSet & {...}, PhaseIdealLoop * 0x0b364ea0, PhaseIterGVN &
{...}, unsigned int * 0x0adbf474, int 190476528) line 451 + 29 bytes
NTarjan::DFS(NTarjan * const 0x0bc12f5c, Node * 0x6d5020de, NTarjan *
0x0b364da8, VectorSet & {...}, PhaseIdealLoop * 0x0b364d84,
........ Continue....
===== CASE2: : invoke "java_g -server TEST" in 1.4.1_02 =====
DUIterator_Common::sample(const Node * 0x189031e8) line 59 + 3 bytes
DUIterator_Fast::DUIterator_Fast(const Node * 0x189031e8, int 3) line 734 + 37
bytes
Node::fast_outs(DUIterator_Fast & {...}) line 763 + 19 bytes
PhaseIdealLoop::build_loop_tree(Node * 0x189031e8, int 1112) line 1463 + 27
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f67e8, int 1111) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7edc, int 1110) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7e8c, int 1109) line 1485 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x188f7d68, int 1108) line 1485 + 22
bytes
........ Continue....
===== CASE3: : invoke "java -server TEST" in 1.4.2b23 =====
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1580 + 3
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
Matcher::set_shared(Matcher * const 0x1826f598, Node * 0x0815acc7) line 1736 + 8
bytes
........ Continue....
===== CASE4: : invoke "java_g -server TEST" in 1.4.2b23 =====
PhaseIdealLoop::build_loop_tree(Node * 0x191e1bd0, int 1091) line 1490 + 9 bytes
PhaseIdealLoop::build_loop_tree(Node * 0x191e1b5c, int 1091) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896c654, int 1090) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896ba9c, int 1089) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896ba5c, int 1088) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896b8f0, int 1087) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896b39c, int 1086) line 1533 + 22
bytes
PhaseIdealLoop::build_loop_tree(Node * 0x1896aa84, int 1085) line 1533 + 22
bytes
........ Continue....
2)Others
When I reproduce the crash, VC++ show the sttached image, "vc-view.jpg".
======================================================================