JDK-6309806 : c2 crashes in optimizer during OSR compilation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2005-08-11
  • Updated: 2010-04-03
  • Resolved: 2005-08-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6Resolved
Related Reports
Duplicate :  
Description
c2 optimizer enters inifinite recursion during OSR compilation causing JVM to crash.
How to reproduce:
java -server -Xmixed Tester_24

Comments
EVALUATION This one is good!!!! It is again dead loop but nice one - it causes recursive call of PhaseIterGVN::transform_old(). We don't have dead loop check in MulNode::Ideal(). So it is duplicate of 6297035. The case will be fixed with my dead loop elimination fix - I verified. +---+ Con1 #32251 | | / | OrI Con0 #65535 | | / | AndI | | + ---+ current thread: t@8 =>[1] ThreadLocalStorage::pd_raw_thread_id(0x1e84d8, 0x138f80, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at 0xfe565dcc [2] ThreadLocalStorage::thread(0xd4a7ecd4, 0xffff, 0xffff, 0x0, 0x0, 0x0), at 0xfe565834 [3] JavaThread::current(0x1, 0x138f80, 0xffffffff, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfe564d04 [4] ciEnv::data(0xd4a7f83c, 0x138f80, 0x1c6d00, 0x0, 0x1c7e38, 0x12d5a0), at 0xfe55e3ac [5] Compile::current(0x139240, 0xabababab, 0xffffffff, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfe559dac [6] Node::Node(0x1e84d8, 0x1, 0x18, 0x0, 0x0, 0x1c0520), at 0xfebf9800 [7] TypeNode::TypeNode(0x1e84d8, 0x138f80, 0x1, 0x0, 0xffffffe0, 0x139261), at 0xfe67140c [8] ConNode::ConNode(0x1e84d8, 0x138f80, 0xffff, 0x0, 0x4, 0x0), at 0xfe677b08 [9] ConINode::ConINode(0x1e84d8, 0x138f80, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at 0xfe7bdfb0 [10] PhaseValues::intcon(0xd4a7ecd4, 0xffff, 0xffff, 0x0, 0x0, 0x0), at 0xfec86938 [11] PhaseValues::makecon(0xd4a7ecd4, 0x138f80, 0xffffffff, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec86730 [12] PhaseIterGVN::makecon(0xd4a7ecd4, 0x138f80, 0x1c6d00, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec8978c [13] MulNode::Ideal(0x1e8498, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at 0xfebcdb08 [14] AndINode::Ideal(0x1e8498, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [15] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8498, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [16] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8498, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [17] MulNode::Ideal(0x1e8420, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [18] AndINode::Ideal(0x1e8420, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [19] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8420, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [20] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8420, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [21] MulNode::Ideal(0x1e83a8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [22] AndINode::Ideal(0x1e83a8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [23] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e83a8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [24] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e83a8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [25] MulNode::Ideal(0x1e8330, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [26] AndINode::Ideal(0x1e8330, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [27] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8330, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [28] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8330, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [29] MulNode::Ideal(0x1e82b8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [30] AndINode::Ideal(0x1e82b8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [31] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e82b8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [32] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e82b8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [33] MulNode::Ideal(0x1e8240, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [34] AndINode::Ideal(0x1e8240, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [35] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8240, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [36] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8240, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [37] MulNode::Ideal(0x1e81c8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [38] AndINode::Ideal(0x1e81c8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [39] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e81c8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [40] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e81c8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [41] MulNode::Ideal(0x1e8150, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [42] AndINode::Ideal(0x1e8150, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [43] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8150, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [44] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8150, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [45] MulNode::Ideal(0x1e80d8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [46] AndINode::Ideal(0x1e80d8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [47] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e80d8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [48] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e80d8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [49] MulNode::Ideal(0x1e8060, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [50] AndINode::Ideal(0x1e8060, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [51] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e8060, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [52] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e8060, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [53] MulNode::Ideal(0x1e7fe8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [54] AndINode::Ideal(0x1e7fe8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [55] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7fe8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [56] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7fe8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [57] MulNode::Ideal(0x1e7f70, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [58] AndINode::Ideal(0x1e7f70, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [59] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7f70, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [60] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7f70, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [61] MulNode::Ideal(0x1e7ef8, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at 0xfebcdd04 [62] AndINode::Ideal(0x1e7ef8, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [63] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7ef8, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [64] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7ef8, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [65] MulNode::Ideal(0x1e7e80, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [66] AndINode::Ideal(0x1e7e80, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [67] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7e80, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [68] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7e80, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [69] MulNode::Ideal(0x1e7e08, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [70] AndINode::Ideal(0x1e7e08, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [71] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7e08, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [72] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7e08, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [73] MulNode::Ideal(0x1e7d90, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [74] AndINode::Ideal(0x1e7d90, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [75] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7d90, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [76] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7d90, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [77] MulNode::Ideal(0x1e7d18, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at 0xfebcdd04 [78] AndINode::Ideal(0x1e7d18, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [79] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7d18, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [80] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7d18, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [81] MulNode::Ideal(0x1e7ca0, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [82] AndINode::Ideal(0x1e7ca0, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [83] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7ca0, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [84] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7ca0, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [85] MulNode::Ideal(0x1e7c28, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [86] AndINode::Ideal(0x1e7c28, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [87] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7c28, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [88] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7c28, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [89] MulNode::Ideal(0x1e7bb0, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [90] AndINode::Ideal(0x1e7bb0, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [91] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7bb0, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [92] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7bb0, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118 [93] MulNode::Ideal(0x1e7b38, 0xd4a7ecd4, 0x1, 0x0, 0x1b6eb8, 0xffe35468), at0xfebcdd04 [94] AndINode::Ideal(0x1e7b38, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x1c0520), at 0xfebd0714 [95] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7b38, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [96] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7b38, 0x1c6cc0, 0x0, 0x4, 0x0), at 0xfec88118 [97] MulNode::Ideal(0x1e7ac0, 0xd4a7ecd4, 0x1, 0x0, 0x1c1078, 0xd4a7e348), at0xfebcdd04 [98] AndINode::Ideal(0x1e7ac0, 0xd4a7ecd4, 0x1, 0x0, 0x0, 0x0), at 0xfebd0714 [99] PhaseIterGVN::transform_old(0xd4a7ecd4, 0x1e7ac0, 0x34, 0xfffffff8, 0xffffffe0, 0x139261), at 0xfec88244 [100] PhaseIterGVN::transform(0xd4a7ecd4, 0x1e7ac0, 0x1c6cc0, 0x0, 0x1c7e38, 0x12d5a0), at 0xfec88118
11-08-2005