Skip to content

UnsatisfiedLinkError with Brotli in Node #1555

@sgammon

Description

@sgammon

Expected Behavior

Using the Brotli functions in node:zlib shouldn't crash

Actual Behaviour

It crashes

Stacktrace

elide run ./tools/scripts/brotli.mjs

Reading '/home/sam/workspace/elide/README.md'...
Compressing to '/home/sam/workspace/elide/README.md.br' with Brotli...
Uncaught fatal exception: org.graalvm.polyglot.PolyglotException: JavaObject[java.lang.UnsatisfiedLinkError]
org.graalvm.polyglot/org.graalvm.polyglot.Value.execute(Value.java:1047)
elide.tool.cli.cmd.repl.ToolShellCommand.execWrapped(ToolShellCommand.kt:1656)
elide.tool.cli.cmd.repl.ToolShellCommand.executeSource(ToolShellCommand.kt:1870)
elide.tool.cli.cmd.repl.ToolShellCommand.invoke$lambda$191$lambda$174(ToolShellCommand.kt:2808)
elide.tool.cli.AbstractSubcommand.withDeferredContext(AbstractSubcommand.kt:686)
elide.tool.cli.AbstractSubcommand.withDeferredContext$default(AbstractSubcommand.kt:680)
elide.tool.cli.cmd.repl.ToolShellCommand.invoke(ToolShellCommand.kt:2718)
elide.tool.cli.cmd.repl.ToolShellCommand$invoke$1.invokeSuspend(ToolShellCommand.kt)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
elide.tool.cli.Elide.invoke-AZeniH0(Elide.kt:517)
elide.tool.cli.AbstractToolCommand$call$$inlined$execute$1.invokeSuspend(AbstractToolCommand.kt:245)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:56)
picocli.CommandLine.executeUserObject(CommandLine.java:2031)
picocli.CommandLine.access$1500(CommandLine.java:148)
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
picocli.CommandLine.execute(CommandLine.java:2174)
elide.tool.cli.Elide$Companion.entry(Elide.kt:596)
elide.tool.cli.MainKt.main(main.kt:335)
[email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Uncaught fatal exception: org.graalvm.polyglot.PolyglotException: JavaObject[java.lang.UnsatisfiedLinkError]
org.graalvm.polyglot/org.graalvm.polyglot.Value.execute(Value.java:1047)
elide.tool.cli.cmd.repl.ToolShellCommand.execWrapped(ToolShellCommand.kt:1656)
elide.tool.cli.cmd.repl.ToolShellCommand.executeSource(ToolShellCommand.kt:1870)
elide.tool.cli.cmd.repl.ToolShellCommand.invoke$lambda$191$lambda$174(ToolShellCommand.kt:2808)
elide.tool.cli.AbstractSubcommand.withDeferredContext(AbstractSubcommand.kt:686)
elide.tool.cli.AbstractSubcommand.withDeferredContext$default(AbstractSubcommand.kt:680)
elide.tool.cli.cmd.repl.ToolShellCommand.invoke(ToolShellCommand.kt:2718)
elide.tool.cli.cmd.repl.ToolShellCommand$invoke$1.invokeSuspend(ToolShellCommand.kt)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
elide.tool.cli.Elide.invoke-AZeniH0(Elide.kt:517)
elide.tool.cli.AbstractToolCommand$call$$inlined$execute$1.invokeSuspend(AbstractToolCommand.kt:245)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:56)
picocli.CommandLine.executeUserObject(CommandLine.java:2031)
picocli.CommandLine.access$1500(CommandLine.java:148)
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
picocli.CommandLine.execute(CommandLine.java:2174)
elide.tool.cli.Elide$Companion.entry(Elide.kt:596)
elide.tool.cli.MainKt.main(main.kt:335)
[email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
JavaObject[java.lang.UnsatisfiedLinkError]
        at org.graalvm.polyglot/org.graalvm.polyglot.Value.execute(Value.java:1047)
        at elide.tool.cli.cmd.repl.ToolShellCommand.execWrapped(ToolShellCommand.kt:1656)
        at elide.tool.cli.cmd.repl.ToolShellCommand.executeSource(ToolShellCommand.kt:1870)
        at elide.tool.cli.cmd.repl.ToolShellCommand.invoke$lambda$191$lambda$174(ToolShellCommand.kt:2808)
        at elide.tool.cli.AbstractSubcommand.withDeferredContext(AbstractSubcommand.kt:686)
        at elide.tool.cli.AbstractSubcommand.withDeferredContext$default(AbstractSubcommand.kt:680)
        at elide.tool.cli.cmd.repl.ToolShellCommand.invoke(ToolShellCommand.kt:2718)
        at elide.tool.cli.cmd.repl.ToolShellCommand$invoke$1.invokeSuspend(ToolShellCommand.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
        at elide.tool.cli.Elide.invoke-AZeniH0(Elide.kt:517)
        at elide.tool.cli.AbstractToolCommand$call$$inlined$execute$1.invokeSuspend(AbstractToolCommand.kt:245)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:293)
        at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:56)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
        at picocli.CommandLine.execute(CommandLine.java:2174)
        at elide.tool.cli.Elide$Companion.entry(Elide.kt:596)
        at elide.tool.cli.MainKt.main(main.kt:335)
        at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Exiting with code -1 due to uncaught org.graalvm.polyglot.PolyglotException: JavaObject[java.lang.UnsatisfiedLinkError]

Steps To Reproduce

  1. Build Elide at latest
  2. Run elide ./tools/scripts/brotli.mjs

Environment Information

  • Operating System: Linux
  • Architecture: x86-64

Runtime

Native

Language

JavaScript

Example Application

No response

Version

1.0.0-beta8-rc3

Metadata

Metadata

Assignees

Labels

api:nodeNode API and stdlibbugSomething isn't workinglang:javascriptIssues relating to JavaScript

Type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions