Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Execution might get stuck while handling references. #118

Open
XerTheSquirrel opened this issue Jun 13, 2021 · 0 comments
Open

Execution might get stuck while handling references. #118

XerTheSquirrel opened this issue Jun 13, 2021 · 0 comments
Labels
bug vm:springcoat SpringCoat Virtual Machine
Milestone

Comments

@XerTheSquirrel
Copy link
Member

XerTheSquirrel commented Jun 13, 2021

In String.intern(), execution may potentially get stuck while trying to intern() a String. Additionally this may happen in other locations.

See:

Java Over-Layer: Loading /home/circleci/project/emulators/emulator-base/build/lib/main/release/libemulator-base.so...
JNI Sub-Level: Loading Library...
Java Over-Layer: Binding methods...
JNI Sub-Level: Binding Methods...
JNI Sub-Level: Methods are now bound!
Java Over-Layer: Methods bound!
Java Over-Layer: Loading took 14ms
DB: Registering cldc-compact.jar (/home/circleci/project/modules/cldc-compact/build/squirreljme/vm-main-springcoat/cldc-compact.jar)
DB: Registering io.jar (/home/circleci/project/modules/io/build/squirreljme/vm-main-springcoat/io.jar)
DB: Registering collections.jar (/home/circleci/project/modules/collections/build/squirreljme/vm-main-springcoat/collections.jar)
DB: Registering tool-manifest-reader.jar (/home/circleci/project/modules/tool-manifest-reader/build/squirreljme/vm-main-springcoat/tool-manifest-reader.jar)
DB: Registering strings.jar (/home/circleci/project/modules/strings/build/squirreljme/vm-main-springcoat/strings.jar)
DB: Registering meep-midlet.jar (/home/circleci/project/modules/meep-midlet/build/squirreljme/vm-main-springcoat/meep-midlet.jar)
DB: Registering tool-manifest-writer.jar (/home/circleci/project/modules/tool-manifest-writer/build/squirreljme/vm-main-springcoat/tool-manifest-writer.jar)
DB: Registering tac.jar (/home/circleci/project/modules/tac/build/squirreljme/vm-main-springcoat/tac.jar)
DB: Registering cldc-compact-test.jar (/home/circleci/project/modules/cldc-compact/build/squirreljme/vm-test-springcoat/cldc-compact-test.jar)
Starting virtual machine (in net.multiphasicapps.tac.MainSingleRunner)...
DB: Starting main thread...
TD: Implement newInstance() access checks.
TD: Check permission: ("java.util.PropertyPermission" "lang.testmonitornotify.1")
DB: SET sub-after-sleep=int:5
DB: SET before-lock=int:0
DB: SET thread-created=int:2
DB: SET sub-in-lock=int:3
DB: SET in-lock=int:1
DB: SET sub-started=true
DB: SET after-lock=int:7
DB: SET expected-resume=int:6
DB: SET sub-after-notify=int:4
DB: About to run test...
DB: SET before-lock=int:0
DB: SET in-lock=int:1
BK2c
EXCEPTION SpringThread #2: hwThread-1
  | IN java.lang.ref.Reference (Reference.java)
  |- .get:()Ljava/lang/Object; @0 (:204 INVOKESTATIC@14)
  | IN java.lang.String (String.java)
  |- .intern:()Ljava/lang/String; @0 (:881 INVOKEVIRTUAL@48)
  | IN <guard>
  |- .<guard> @0
  | IN java.lang.Boolean (Boolean.java)
  |- .toString:(Z)Ljava/lang/String; @0 (:168 LDC@4)
  |- .toString:()Ljava/lang/String; @0 (:125 INVOKESTATIC@4)
  | IN net.multiphasicapps.tac.DataSerialization (DataSerialization.java)
  |- .serialize:(Ljava/lang/Object;)Ljava/lang/String; @0 (:249 INVOKEVIRTUAL@55)
  | IN net.multiphasicapps.tac.TestResultBuilder (TestResultBuilder.java)
  |- .putSecondaryValue:(Ljava/lang/String;Ljava/lang/Object;)V @0 (:150 INVOKESTATIC@17)
  | IN net.multiphasicapps.tac.__CoreTest__ (__CoreTest__.java)
  |- .secondary:(Ljava/lang/String;Ljava/lang/Object;)V @0 (:234 INVOKEVIRTUAL@6)
  | IN lang.TestMonitorNotify$__Sub__ (TestMonitorNotify.java)
  |- .run:()V @0 (:92 INVOKEVIRTUAL@12)
  | IN java.lang.__Start__ (__Start__.java)
  |- .__base:()V @0 (:72 INVOKEINTERFACE@43)
BK2c
EXCEPTION SpringThread #2: hwThread-1
  | IN java.lang.ref.Reference (Reference.java)
  |- .get:()Ljava/lang/Object; @0 (:203 GOTO@20)
  | IN java.lang.String (String.java)
  |- .intern:()Ljava/lang/String; @0 (:881 INVOKEVIRTUAL@48)
  | IN <guard>
  |- .<guard> @0
  | IN java.lang.Boolean (Boolean.java)
  |- .toString:(Z)Ljava/lang/String; @0 (:168 LDC@4)
  |- .toString:()Ljava/lang/String; @0 (:125 INVOKESTATIC@4)
  | IN net.multiphasicapps.tac.DataSerialization (DataSerialization.java)
  |- .serialize:(Ljava/lang/Object;)Ljava/lang/String; @0 (:249 INVOKEVIRTUAL@55)
  | IN net.multiphasicapps.tac.TestResultBuilder (TestResultBuilder.java)
  |- .putSecondaryValue:(Ljava/lang/String;Ljava/lang/Object;)V @0 (:150 INVOKESTATIC@17)
  | IN net.multiphasicapps.tac.__CoreTest__ (__CoreTest__.java)
  |- .secondary:(Ljava/lang/String;Ljava/lang/Object;)V @0 (:234 INVOKEVIRTUAL@6)
  | IN lang.TestMonitorNotify$__Sub__ (TestMonitorNotify.java)
  |- .run:()V @0 (:92 INVOKEVIRTUAL@12)
  | IN java.lang.__Start__ (__Start__.java)
  |- .__base:()V @0 (:72 INVOKEINTERFACE@43)
@XerTheSquirrel XerTheSquirrel added bug vm:springcoat SpringCoat Virtual Machine labels Jun 13, 2021
@XerTheSquirrel XerTheSquirrel added this to the Version 0.4.0 milestone Jun 13, 2021
@XerTheSquirrel XerTheSquirrel added this to To do in Version 0.4.0 (Dev 0.3.0) via automation Jun 13, 2021
@XerTheSquirrel XerTheSquirrel changed the title Execution might get stuck in String.intern(). Execution might get stuck while handling references. Jul 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug vm:springcoat SpringCoat Virtual Machine
Projects
Development

No branches or pull requests

1 participant