Skip to content

java works in ptrace mode but not preload mode #2094

@sporksmith

Description

@sporksmith

From #2084.

The following simulation works in ptrace mode, but not in preload mode:

general:
  stop_time: 15s
network:
  graph:
    type: 1_gbit_switch
hosts:
  h1:
    network_node_id: 0
    ip_addr: "11.0.0.1"
    processes:
    - path: /usr/bin/java
      args: --version

Natively:

$ java --version
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)

ptrace mode:

$ rm -rf shadow.data && shadow --interpose-method=ptrace --log-level=debug java.yaml
...
** Shadow completed successfully
$ cat shadow.data/hosts/h1/h1.java.1000.stderr 
OpenJDK 64-Bit Server VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
OpenJDK 64-Bit Server VM warning: sched_getaffinity failed (Function not supported)- using online processor count (12) which may exceed available processors
$ cat shadow.data/hosts/h1/h1.java.1000.stdout 
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)

preload mode:

$ rm -rf shadow.data && shadow --interpose-method=preload --log-level=debug java.yaml
...
** Shadow did not complete successfully: Controller exited with code -1
$ cat shadow.data/hosts/h1/h1.java.1000.stderr 
OpenJDK 64-Bit Server VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
OpenJDK 64-Bit Server VM warning: sched_getaffinity failed (Function not supported)- using online processor count (12) which may exceed available processors
$ cat shadow.data/hosts/h1/h1.java.1000.stdout
$ cat shadow.data/hosts/h1/h1.java.1000.exitcode 
139

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: BugError or flaw producing unexpected results

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions