-
Notifications
You must be signed in to change notification settings - Fork 902
Closed
Labels
📚 postgresql💻 linux🔧 golangbugSomething isn't workingSomething isn't workingregressionupstreamIssue is caused by a dependencyIssue is caused by a dependency
Description
Version
1.28.0
What happened?
sqlc generate crashes. It did work using sqlc 1.27.0
Relevant log output
$ sqlc generate
panic: start function[17] failed: wasm error: out of bounds memory access
wasm stack trace:
.$17()
goroutine 15 [running]:
github.com/wasilibs/go-pgquery/parser.newABI()
$HOME/go/pkg/mod/github.com/wasilibs/go-pgquery@v0.0.0-20241011013927-817756c5aae4/parser/parser_wazero.go:161 +0x15b0
github.com/wasilibs/go-pgquery/parser.getABI()
$HOME/go/pkg/mod/github.com/wasilibs/go-pgquery@v0.0.0-20241011013927-817756c5aae4/parser/parser_wazero.go:203 +0x14a
github.com/wasilibs/go-pgquery/parser.ParseToProtobuf({0xc000524800, 0x4345})
$HOME/go/pkg/mod/github.com/wasilibs/go-pgquery@v0.0.0-20241011013927-817756c5aae4/parser/parser_wazero.go:62 +0x52
github.com/wasilibs/go-pgquery.Parse({0xc000524800?, 0xc00054c000?})
$HOME/go/pkg/mod/github.com/wasilibs/go-pgquery@v0.0.0-20241011013927-817756c5aae4/pg_query.go:27 +0x18
github.com/sqlc-dev/sqlc/internal/engine/postgresql.(*Parser).Parse(0x0?, {0x1d9eb00?, 0xc0005a0fa0?})
$HOME/go/pkg/mod/github.com/sqlc-dev/sqlc@v1.28.0/internal/engine/postgresql/parse.go:154 +0x57
github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).parseCatalog(0xc000622a08, {0xc00008f7e0?, 0xc000602060?, 0xa?})
$HOME/go/pkg/mod/github.com/sqlc-dev/sqlc@v1.28.0/internal/compiler/compile.go:42 +0x238
github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).ParseCatalog(...)
$HOME/go/pkg/mod/github.com/sqlc-dev/sqlc@v1.28.0/internal/compiler/engine.go:68
github.com/sqlc-dev/sqlc/internal/cmd.parse({_, _}, {_, _}, {_, _}, {{0x0, 0x0}, {0xc000602060, 0xa}, ...}, ...)
$HOME/go/pkg/mod/github.com/sqlc-dev/sqlc@v1.28.0/internal/cmd/generate.go:308 +0x198
github.com/sqlc-dev/sqlc/internal/cmd.processQuerySets.func1()
$HOME/go/pkg/mod/github.com/sqlc-dev/sqlc@v1.28.0/internal/cmd/process.go:107 +0x81a
golang.org/x/sync/errgroup.(*Group).Go.func1()
$HOME/go/pkg/mod/golang.org/x/sync@v0.11.0/errgroup/errgroup.go:78 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
$HOME/go/pkg/mod/golang.org/x/sync@v0.11.0/errgroup/errgroup.go:75 +0x93
What operating system are you using?
Linux
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go
karaMuha, dunghm19, gfx, Dzejk0p, rverst and 1 more
Metadata
Metadata
Assignees
Labels
📚 postgresql💻 linux🔧 golangbugSomething isn't workingSomething isn't workingregressionupstreamIssue is caused by a dependencyIssue is caused by a dependency
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
dunghm19 commentedon Feb 14, 2025
Have you found a solution yet?
luyendx commentedon Feb 14, 2025
i have same issue with go1.24.0 windows/amd64
i did work with sqlc 1.27.0
karaMuha commentedon Feb 14, 2025
I have the same issue with go 1.24.0 linux/amd64
kyleconroy commentedon Feb 15, 2025
Hey everyone, thanks for helping track down this issue. I think this may be an upstream issue (wasilibs/go-pgquery#34). In the meantime, can you please post a bit more information about your error?
kyleconroy commentedon Feb 15, 2025
Confirmed this is an upstream issue, tracking here tetratelabs/wazero#2375
ptman commentedon Feb 24, 2025
Now that it's fixed, and a new version of wazero has been released, sqlc needs to upgrade the deps for go 1.24 compat. There seems to be a problem with pg_query_go/v5 vs. pg_query_go/v6.
Waldenesque commentedon Feb 25, 2025
Don't know if this is worth noting or not...
tetratelabs/wazero#2382
Might still be another patch bump to wazero coming before long?
3 remaining items
danielalexis commentedon Mar 18, 2025
nixoncode commentedon Mar 18, 2025
I really didn't want to downgrade go, I switched to wsl on windows and ran the
sqlc generate
command and it worked.is it only isolated to Windows?
Cesar-Castill0 commentedon Mar 19, 2025
Using Go 1.23 and SQLC 1.27 in WSL works for me. Alternatively, you could use a Go version manager (like gvm) to run SQLC on Go 1.27 or below, while keeping your main project on Go 1.24.
nixoncode commentedon Mar 19, 2025
I'm on 1.24/1.28 myself. I managed to run it successfully on WSL, Windows still throws the error, I was just suggesting that it might be a windows only issue.
Thanks for the gvm suggestion, never heard of it but it sounds cool.
Cesar-Castill0 commentedon Mar 20, 2025
I hear you , I was actually responding to Dzejk0p that WSL also works for me. In my testing I only got the issue with go 1.24* on windows with several sqlc versions, tried it on a Linux mint machine (go 1.24*) with no issues, definitely possible that the issue is windows specific. And Yeah I recently learned of it myself haha
danielalexis commentedon Mar 20, 2025
Cesar-Castill0 commentedon Mar 21, 2025
Corrected, thanks
kyleconroy commentedon Mar 26, 2025
A fix has been merged into main. Release should be going out next week. Please test the fix on main to make sure it's working for you.
Nick-Anderssohn commentedon Mar 27, 2025
Just tried main; it fixed the issue for me.
kyleconroy commentedon Apr 16, 2025
Alright, sadly the release workflow is borked right now due to some Apple code signing issues. I'm going to be traveling, so I'm not sure a release will happen in the next 10 days. I could tag a new release and not provide binaries, but that would cause more confusion.
In the meantime, please install from main which fixes this issue.
kyleconroy commentedon Apr 17, 2025
Okay, got 1.29.0 out with this fix :)