touchlab-lab / knarch.db

K(otlin)N(ative)A(rchitecture) Database
https://touchlab.co/
Apache License 2.0
90 stars 9 forks source link

Kotlin/Native errors can be pretty useless #13

Open kpgalligan opened 6 years ago

kpgalligan commented 6 years ago

There's a validation phase that can fail and give zero feedback. In this case, a @SymbolName annotation had the wrong name, which was duplicated. Should figure out if the KN team wants individual reports of this or if its not really something that can be easily parsed out.

> Task :knarch-ios:compileKonanKnarchIos_arm64
error: compilation failed: Assertion failed

 * Source files: ContentValues.kt, Cursor.kt, DatabaseErrorHandler.kt, Functions.kt, PlatformSQLiteOpenHelper.kt, SQLiteCursorDriver.kt, SQLiteDatabase.kt, SQLiteException.kt, SQLiteOpenHelper.kt, SQLiteProgram.kt, SQLiteQuery.kt, SQLiteStatement.kt, DefaultSystemContext.kt, Log.kt, SystemContext.kt, AbstractCursor.kt, AbstractWindowedCursor.kt, ContentValues.kt, CrossProcessCursor.kt, Cursor.kt, CursorIndexOutOfBoundsException.kt, CursorWindow.kt, DatabaseErrorHandler.kt, DatabaseUtils.kt, DefaultDatabaseErrorHandler.kt, Functions.kt, SQLException.kt, StaleDataException.kt, CppCursorWindow.kt, SQLiteClosable.kt, SQLiteConnection.kt, SQLiteCursor.kt, SQLiteCursorDriver.kt, SQLiteDatabase.kt, SQLiteDatabaseConfiguration.kt, SQLiteDatabaseCorruptException.kt, SQLiteDatabaseProvider.kt, SQLiteDebug.kt, SQLiteDirectCursorDriver.kt, SQLiteException.kt, SQLiteGlobal.kt, SQLiteOpenHelper.kt, SQLiteProgram.kt, SQLiteQuery.kt, SQLiteQueryBuilder.kt, SQLiteSession.kt, SQLiteStatement.kt, SQLiteStatementInfo.kt, SQLiteTransactionListener.kt, File.kt, IOException.kt, Printer.kt, StdPrinter.kt, TypeAliases.kt, Functions.kt, PlatformSQLiteOpenHelper.kt, TypeAliases.kt
 * Compiler version info: Konan: 0.8-dev / Kotlin: 1.2.60
 * Output kind: LIBRARY

exception: java.lang.AssertionError: Assertion failed
        at org.jetbrains.kotlin.backend.konan.llvm.Llvm.externalFunction$backend_native_compiler(ContextUtils.kt:299)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitFunction(LlvmDeclarations.kt:399)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:52)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitSimpleFunction(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:53)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitSimpleFunction(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitSimpleFunction(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl.accept(IrFunctionImpl.kt:81)
        at org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl.acceptChildren(IrFileImpl.kt:71)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoidKt.acceptChildrenVoid(IrElementVisitorVoid.kt:245)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitElement(LlvmDeclarations.kt:202)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitPackageFragment(IrElementVisitorVoid.kt:30)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitPackageFragment(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:37)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitFile(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:38)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitFile(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.backend.konan.llvm.DeclarationsGeneratorVisitor.visitFile(LlvmDeclarations.kt:147)
        at org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl.accept(IrFileImpl.kt:68)
        at org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl.acceptChildren(IrModuleFragmentImpl.kt:49)
        at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoidKt.acceptChildrenVoid(IrElementVisitorVoid.kt:245)
        at org.jetbrains.kotlin.backend.konan.llvm.LlvmDeclarationsKt.createLlvmDeclarations(LlvmDeclarations.kt:33)
        at org.jetbrains.kotlin.backend.konan.llvm.IrToBitcodeKt.emitLLVM(IrToBitcode.kt:65)
        at org.jetbrains.kotlin.backend.konan.KonanDriverKt$runTopLevelPhases$4$2.invoke(KonanDriver.kt:97)
        at org.jetbrains.kotlin.backend.konan.KonanDriverKt$runTopLevelPhases$4$2.invoke(KonanDriver.kt)
        at org.jetbrains.kotlin.backend.konan.PhaseManager$phase$$inlined$with$lambda$1.invoke(KonanPhases.kt:139)
        at org.jetbrains.kotlin.backend.konan.PhaseManager$phase$$inlined$with$lambda$1.invoke(KonanPhases.kt:118)
        at org.jetbrains.kotlin.konan.util.UtilKt.profileIf(Util.kt:34)
        at org.jetbrains.kotlin.backend.konan.PhaseManager.phase$backend_native_compiler(KonanPhases.kt:138)
        at org.jetbrains.kotlin.backend.konan.KonanDriverKt$runTopLevelPhases$4.invoke(KonanDriver.kt:96)
        at org.jetbrains.kotlin.backend.konan.KonanDriverKt$runTopLevelPhases$4.invoke(KonanDriver.kt)
        at org.jetbrains.kotlin.backend.konan.PhaseManager$phase$$inlined$with$lambda$1.invoke(KonanPhases.kt:139)
        at org.jetbrains.kotlin.backend.konan.PhaseManager$phase$$inlined$with$lambda$1.invoke(KonanPhases.kt:118)
        at org.jetbrains.kotlin.konan.util.UtilKt.profileIf(Util.kt:34)
        at org.jetbrains.kotlin.backend.konan.PhaseManager.phase$backend_native_compiler(KonanPhases.kt:138)
        at org.jetbrains.kotlin.backend.konan.KonanDriverKt.runTopLevelPhases(KonanDriver.kt:90)
        at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:75)
        at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:42)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:95)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:50)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:91)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:69)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:37)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:180)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:171)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:197)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:188)
        at org.jetbrains.kotlin.konan.util.UtilKt.profileIf(Util.kt:34)
        at org.jetbrains.kotlin.konan.util.UtilKt.profile(Util.kt:29)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:190)
        at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:202)
        at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:27)

> Task :knarch-ios:compileKonanKnarchIos_arm64 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':knarch-ios:compileKonanKnarchIos_arm64'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 38s
5 actionable tasks: 2 executed, 3 up-to-date
Kevins-MacBook-Pro:knarch kgalligan$ ./buildall.sh build
~/temp4/knarch/cpp ~/temp4/knarch