我正在向一些现有库添加 Kotlin 原生 linuxX64 目标支持。库已成功编译,但在运行测试用例时,出现以下运行时错误:
kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen kotlin.Array@1249428
at kfun:kotlin.Exception.<init>(kotlin.String?)kotlin.Exception (0x271205)
at kfun:kotlin.RuntimeException.<init>(kotlin.String?)kotlin.RuntimeException (0x2711c5)
at kfun:kotlin.native.concurrent.InvalidMutabilityException.<init>(kotlin.String)kotlin.native.concurrent.InvalidMutabilityException (0x272595)
at ThrowInvalidMutabilityException (0x3b0b53)
at (0x3b5733)
甚至 Kotlin 语言教程中给出的Object 示例 也没有提供类似的运行时异常。
我知道问题是由于冻结的物体造成的。但是我找不到修改单例对象的冻结成员的正确方法。