Skip to content

Crash when referencing terms from scratch eval scope in code #5764

Open
@xaviershay

Description

@xaviershay

Describe and demonstrate the bug

Running the following transcript:

``` unison
> x = "hi"


y = x
```

``` ucm
scratch/main> add
```

Results in this exception:

Here's a stringy rendering of the exception:

  SqliteQueryException {sql = "SELECT object.id FROM object JOIN hash ON object.primary_hash_id = hash.id WHERE hash.base32 = ? COLLATE NOCASE", params = [SQLText "prs1l9jbi9jj5lq13bt7q4g72tso2ntq8iqf4pcr69qtvao43aokas88u3d4bu948gljmp2qdm30jsfocv388ero8krdor0sbeta6go"], exception = ExpectedExactlyOneRowException {rows = "[]"}, callStack = [("throwSqliteQueryException",SrcLoc {srcLocPackage = "unison-sqlite-0.0.0-AuE6EcOVVOP3xnYbxnIgqX", srcLocModule = "Unison.Sqlite.Connection", srcLocFile = "src/Unison/Sqlite/Connection.hs", srcLocStartLine = 318, srcLocStartCol = 7, srcLocEndLine = 318, srcLocEndCol = 32}),("gqueryListCheck",SrcLoc {srcLocPackage = "unison-sqlite-0.0.0-AuE6EcOVVOP3xnYbxnIgqX", srcLocModule = "Unison.Sqlite.Connection", srcLocFile = "src/Unison/Sqlite/Connection.hs", srcLocStartLine = 306, srcLocStartCol = 3, srcLocEndLine = 306, srcLocEndCol = 18}),("queryListRowCheck",SrcLoc {srcLocPackage = "unison-sqlite-0.0.0-AuE6EcOVVOP3xnYbxnIgqX", srcLocModule = "Unison.Sqlite.Connection", srcLocFile = "src/Unison/Sqlite/Connection.hs", srcLocStartLine = 289, srcLocStartCol = 3, srcLocEndLine = 289, srcLocEndCol = 20}),("queryOneRow",SrcLoc {srcLocPackage = "unison-sqlite-0.0.0-AuE6EcOVVOP3xnYbxnIgqX", srcLocModule = "Unison.Sqlite.Connection", srcLocFile = "src/Unison/Sqlite/Connection.hs", srcLocStartLine = 295, srcLocStartCol = 41, srcLocEndLine = 295, srcLocEndCol = 52}),("queryOneCol",SrcLoc {srcLocPackage = "unison-sqlite-0.0.0-AuE6EcOVVOP3xnYbxnIgqX", srcLocModule = "Unison.Sqlite.Transaction", srcLocFile = "src/Unison/Sqlite/Transaction.hs", srcLocStartLine = 298, srcLocStartCol = 24, srcLocEndLine = 298, srcLocEndCol = 46}),("queryOneCol",SrcLoc {srcLocPackage = "unison-codebase-sqlite-0.0.0-EMsM4VmSIlC8jsclwPCYAK", srcLocModule = "U.Codebase.Sqlite.Queries", srcLocFile = "./U/Codebase/Sqlite/Queries.hs", srcLocStartLine = 854, srcLocStartCol = 3, srcLocEndLine = 854, srcLocEndCol = 14})], connection = Connection { name = "main", file = "/tmp/transcript-9f62062827d04afd/.unison/v2/unison.sqlite3" }, threadId = ThreadId 8}

This should be a failure, not an exception.

Environment:

> ucm --version
unison version: release/0.5.41 (built on 2025-05-19)
> uname -a
Linux apollo 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions