Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug]: agentscope-dataagent fails to start — builderBootstrap throws "requires a non-noop snapshotSpec" (default single-node run)

Abierto Apto para principiantes
#1,600 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
docker, java, spring-boot

Línea de trabajo

Empieza en agentscope-examples/agents/agentscope-dataagent/src/main/java/io/agentscope/dataagent/web/config/DataAgentConfig.java, en builderBootstrap, y compara su configuración del sistema de archivos con la validación descrita en HarnessAgent.java y HarnessAgentBuilderSupport.java. Compila con el comando Maven proporcionado y ejecuta el fat jar para verificar que la configuración predeterminada llega a un servidor web en :8080; comprueba si las pruebas de contexto completo deshabilitadas revelan un bloqueo independiente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/examples bug

Describe the bug

agentscope-examples/agents/agentscope-dataagent fails to start with its default, single-node configuration. The Spring context aborts while creating the builderBootstrap bean (DataAgentConfig): it builds every HarnessAgent with a DockerFilesystemSpec but never opts out of the distributed-sandbox validation, so HarnessAgent.Builder.build() runs validateDistributedSandboxConfig, which throws because DockerFilesystemSpec defaults to a NoopSnapshotSpec.

The process exits ~5s after Starting DataAgentApp, before the web server starts. This is a pure in-JVM bean-initialization validation that runs before any sandbox container is created, so it fails regardless of deployment method (plain java -jar, Docker Compose, …) and regardless of whether a Docker daemon is available (I reproduced it with a healthy Docker daemon present).

In effect, the module README quick-start ("4. Run: java -jar target/agentscope-dataagent-*-exec.jar") does not work as written.

To Reproduce

  1. Build the module:
    mvn -pl agentscope-examples/agents/agentscope-dataagent -am package -DskipTests
    
  2. Run the fat jar (no extra config required; presence/absence of a Docker daemon makes no difference):
    java -jar agentscope-examples/agents/agentscope-dataagent/target/agentscope-dataagent-2.0.0-SNAPSHOT-exec.jar
    
  3. Startup fails after a few seconds.

Expected behavior

The default single-node configuration should boot to a running web server on :8080 (as the README quick-start implies), or the module should ship a working default sandbox/snapshot configuration so a fresh checkout starts out of the box.

Error messages

ERROR --- [           main] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name
'webhookCallbackController' ...: Unsatisfied dependency expressed through constructor parameter 0:
Error creating bean with name 'builderBootstrap' defined in class path resource
[io/agentscope/dataagent/web/config/DataAgentConfig.class]: Factory method 'builderBootstrap' threw
exception with message: filesystem(SandboxFilesystemSpec) requires a non-noop snapshotSpec to
restore workspace archives across distributed instances. Configure one via
SandboxFilesystemSpec.snapshotSpec(...). For single-node use, opt out via
.sandboxDistributed(SandboxDistributedOptions.builder().requireDistributed(false).build()).
	at io.agentscope.dataagent.web.DataAgentApp.main(DataAgentApp.java:40)
...
Caused by: java.lang.IllegalStateException: filesystem(SandboxFilesystemSpec) requires a non-noop
snapshotSpec to restore workspace archives across distributed instances. ... For single-node use,
opt out via .sandboxDistributed(SandboxDistributedOptions.builder().requireDistributed(false).build()).
	at io.agentscope.harness.agent.HarnessAgentBuilderSupport.validateDistributedSandboxConfig(HarnessAgentBuilderSupport.java:180)
	at io.agentscope.harness.agent.HarnessAgent$Builder.build(HarnessAgent.java:1601)
	at io.agentscope.dataagent.runtime.DataAgentBootstrap$Builder.build(DataAgentBootstrap.java:613)
	at io.agentscope.dataagent.web.config.DataAgentConfig.builderBootstrap(DataAgentConfig.java:214)
	...

Environment (please complete the following information):

  • AgentScope-Java Version: 2.0.0-RC1 (also reproduces on current main; the agentscope-dataagent module is identical between the v2.0.0-RC1 tag and main — verified with git diff v2.0.0-RC1 HEAD -- agentscope-examples/agents/agentscope-dataagent, no differences)
  • Java Version: 17 (Amazon Corretto 17.0.15)
  • OS: macOS (arm64)

Additional context

Root-cause chain:

  • DataAgentConfig#builderBootstrap configures every agent with
    new DockerFilesystemSpec().client(sandboxClient).isolationScope(IsolationScope.USER)
    (DataAgentConfig.java:208-211) but never calls .sandboxDistributed(...) nor .snapshotSpec(...).
  • DockerFilesystemSpec defaults snapshotSpec to new NoopSnapshotSpec() (DockerFilesystemSpec.java:35).
  • In HarnessAgent.Builder.build() the validation is skipped only when
    sandboxDistributedOptions != null && !requireDistributed (HarnessAgent.java:1597-1603).
    Since sandboxDistributed(...) is never set, the validation runs and
    validateDistributedSandboxConfig throws on the NoopSnapshotSpec
    (HarnessAgentBuilderSupport.java:177-187).

Suggested fix (matching the exception's own guidance) — for the single-node default, opt out in DataAgentConfig#builderBootstrap:

b.filesystem(new DockerFilesystemSpec().client(sandboxClient).isolationScope(IsolationScope.USER));
b.sandboxDistributed(SandboxDistributedOptions.builder().requireDistributed(false).build());

or configure a non-noop snapshotSpec. (For distributed/HA deployments a real snapshot spec + distributed Session would still be required.)

Possibly related: the module's three full-context @SpringBootTest classes — MarketContributionServiceTest, H2DemoSeedTest, JpaPersistenceIntegrationTest — are currently @Disabled("Pending fix for circular dependency between builderBootstrap and userSandboxRegistry"), so this startup path is not covered by an enabled test. I have not verified whether that circular-dependency issue surfaces after applying the requireDistributed(false) opt-out; it may be a second, related blocker.

A further, separate note for single-container deployments: even once startup is fixed, each per-user workspace is backed by a live Docker sandbox via the default DockerSandboxClient (DataAgentWorkspaceConfig#sandboxClient), so a single container would additionally need access to a Docker daemon (e.g. a mounted /var/run/docker.sock + the docker CLI) — or a non-Docker SandboxClient bean — for the chat/workspace path to work. Happy to open that as a separate issue if useful.

Lenguaje dominante
Java
Estrellas
6.1k
Forks
1.5k
Merge medio
1 d 19 h
PR fusionados (30 d)
145

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de agentscope-ai/agentscope-java

Todos los issues de agentscope-ai/agentscope-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.