Skip to content

Volatile lazy vals kill vm #548

Closed
Closed
@DarkDimius

Description

@DarkDimius

https://bugs.openjdk.java.net/browse/JDK-8068239

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000010af04691, pid=48994, tid=4867
#
# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x504691]  ObjectSynchronizer::FastHashCode(Thread*, oopDesc*)+0x1bd

Workaround - remove call to identityHashCode from https://github.com/lampepfl/dotty/blob/master/src/dotty/runtime/LazyVals.scala#L80
Unfortunately this makes initializations of same field across all class instances use same monitor for notifications. This is not a very big issue, as synchronization is used only to notify other threads. We do not run any user-defined code in synchronized block.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions