deephaven / deephaven-core

Deephaven Community Core
Other
257 stars 80 forks source link

QueryCompiler IllegalStateException in Embedded Server - "no source files" #6216

Open nbauernfeind opened 1 month ago

nbauernfeind commented 1 month ago

Was found via an EmbeddedServer usage:

from deephaven_server.server import Server

def start_server(port: int = 10000) -> Server:
    extra_classpath: list[str] = []
    if (path := os.environ.get("EXTRA_CLASSPATH")) is not None:
        extra_classpath.append(path)
    server = Server(
        port=port,
        jvm_args=[
            "-Xmx4g",
            "-Dprocess.info.system-info.enabled=false",
            "-DAuthHandlers=io.deephaven.auth.AnonymousAuthenticationHandler",
        ],
        extra_classpath=extra_classpath,
    )
    server.start()  # type: ignore
    return server

The error:

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "[ ... SNIP ... ]", line 87, in exclusive_lock
    yield
  File "[ ... SNIP ... ]", line 94, in test_visit_classifier_product
    from app_d.visit_classifier.visit import avro
  File "[ ... SNIP ... ]", line 98, in <module>
    .update_view(
     ^^^^^^^^^^^^
  File "[ ... SNIP ... ]", line 1053, in update_view
    raise DHError(e, "table update_view operation failed.") from e
deephaven.dherror.DHError: table update_view operation failed. : RuntimeError: java.lang.IllegalStateException: error: no source files
Traceback (most recent call last):
  File "[ ... SNIP ... ]/.venv/lib/python3.12/site-packages/deephaven/table.py", line 1051, in update_view
    return Table(j_table=self.j_table.updateView(*formulas))
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: java.lang.IllegalStateException: error: no source files
        at jdk.compiler/com.sun.tools.javac.main.Arguments.reportDiag(Arguments.java:895)
        at jdk.compiler/com.sun.tools.javac.main.Arguments.validate(Arguments.java:462)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.prepareCompiler(JavacTaskImpl.java:189)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:101)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
        at io.deephaven.engine.context.QueryCompilerImpl.doCreateClassesSingleRound(QueryCompilerImpl.java:970)
        at io.deephaven.engine.context.QueryCompilerImpl.doCreateClasses(QueryCompilerImpl.java:924)
        at io.deephaven.engine.context.QueryCompilerImpl.lambda$maybeCreateClasses$6(QueryCompilerImpl.java:887)
        at io.deephaven.engine.table.impl.util.JobScheduler.lambda$iterateParallel$1(JobScheduler.java:356)
        at io.deephaven.engine.table.impl.util.JobScheduler$IterationManager$TaskInvoker.execute(JobScheduler.java:258)
        at io.deephaven.engine.table.impl.util.JobScheduler$IterationManager.lambda$startTasks$0(JobScheduler.java:164)
        at io.deephaven.engine.table.impl.util.ImmediateJobScheduler.lambda$submit$0(ImmediateJobScheduler.java:40)
        at io.deephaven.engine.table.impl.util.ImmediateJobScheduler.submit(ImmediateJobScheduler.java:54)
        at io.deephaven.engine.table.impl.util.JobScheduler$IterationManager.startTasks(JobScheduler.java:164)
        at io.deephaven.engine.table.impl.util.JobScheduler.iterateParallel(JobScheduler.java:395)
        at io.deephaven.engine.table.impl.util.JobScheduler.iterateParallel(JobScheduler.java:351)
        at io.deephaven.engine.context.QueryCompilerImpl.maybeCreateClasses(QueryCompilerImpl.java:883)
        at io.deephaven.engine.context.QueryCompilerImpl.compileHelper(QueryCompilerImpl.java:562)
        at io.deephaven.engine.context.QueryCompilerImpl.compile(QueryCompilerImpl.java:275)
        at io.deephaven.engine.table.impl.QueryCompilerRequestProcessor$BatchProcessor.compile(QueryCompilerRequestProcessor.java:141)
        at io.deephaven.engine.table.impl.select.analyzers.SelectAndViewAnalyzer.createContext(SelectAndViewAnalyzer.java:156)
        at io.deephaven.engine.table.impl.QueryTable.lambda$viewOrUpdateView$42(QueryTable.java:1759)
        at io.deephaven.engine.table.impl.remote.ConstructSnapshot.callDataSnapshotFunction(ConstructSnapshot.java:1397)
        at io.deephaven.engine.table.impl.remote.ConstructSnapshot.callDataSnapshotFunction(ConstructSnapshot.java:1193)
        at io.deephaven.engine.table.impl.BaseTable.initializeWithSnapshot(BaseTable.java:1296)
        at io.deephaven.engine.table.impl.QueryTable.lambda$viewOrUpdateView$43(QueryTable.java:1756)
        at io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder.withNugget(QueryPerformanceRecorder.java:369)
        at io.deephaven.engine.table.impl.QueryTable.lambda$viewOrUpdateView$44(QueryTable.java:1750)
        at io.deephaven.engine.table.impl.QueryTable.memoizeResult(QueryTable.java:3646)
        at io.deephaven.engine.table.impl.QueryTable.viewOrUpdateView(QueryTable.java:1749)
        at io.deephaven.engine.table.impl.QueryTable.updateView(QueryTable.java:1735)
        at io.deephaven.engine.table.impl.QueryTable.updateView(QueryTable.java:98)
        at io.deephaven.api.TableOperationsDefaults.updateView(TableOperationsDefaults.java:87)

Still triaging.