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

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

Closed
nbauernfeind opened this issue Oct 18, 2024 · 1 comment · Fixed by #6451
Closed

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

nbauernfeind opened this issue Oct 18, 2024 · 1 comment · Fixed by #6451
Assignees
Labels
bug Something isn't working triage

Comments

@nbauernfeind
Copy link
Member

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.

@nbauernfeind nbauernfeind added bug Something isn't working triage labels Oct 18, 2024
@nbauernfeind nbauernfeind self-assigned this Oct 18, 2024
nbauernfeind added a commit to nbauernfeind/deephaven-core that referenced this issue Nov 29, 2024
@nbauernfeind
Copy link
Member Author

I actually was able to reproduce this with this snippet:

src = timeTable("PT1s").update(
    "S = `ii = ` + ii",
    "C = (char)(ii)",
    "F = (float) ii * 0.1f", 
    "D = (double) ii * 0.1", 
    "B = (byte) ii", 
    "H = (short) ii",
    "I = (int) ii",
    "L = (long) ii",
    "T = (Boolean)(ii % 2 == 0)").groupBy("Timestamp")

src_arr = src.update(
    "Timestamp = new Instant[] { Timestamp, Timestamp }",
    "S = new String[] { S, S }",
    "C = new char[] { C, C }",
    "F = new float[] { F, F }",
    "D = new double[] { D, D }",
    "B = new byte[] { B, B }",
    "H = new short[] { H, H }",
    "I = new int[] { I, I }",
    "L = new long[] { L, L }",
    "T = new boolean[] { T, T }")

Not sure if it is even relevant that it was in my barrage_types branch. Single line fix PR incoming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant