segfault of binary release after upgrade from debian bullseye to bookworm #1561

Open
opened 2023-06-26 15:14:35 +00:00 by philpep · 3 comments

Description

Hi, I run vikunja api in a debian based container and I get a segfault after upgrading my container from bullseye to bookworm.

2023/06/26 15:02:36 Using config file: /etc/vikunja/config.yml
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x27020 pc=0x27020]

runtime stack:
runtime.throw({0x147ff9a?, 0x7f237bd42fe0?})
	/usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7ffebcbe3038 sp=0x7ffebcbe3008 pc=0x43bedd
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:821 +0x3e9 fp=0x7ffebcbe3098 sp=0x7ffebcbe3038 pc=0x452189

goroutine 1 [syscall]:
runtime.cgocall(0x1122820, 0xc0004a06c8)
	/usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc0004a06a0 sp=0xc0004a0668 pc=0x40845c
os/user._Cfunc_mygetpwuid_r(0x3e8, 0xc000046050, 0x46, 0xc00004a140, 0xc00004a144)
	_cgo_gotypes.go:159 +0x65 fp=0xc0004a06c8 sp=0xc0004a06a0 pc=0xbff6c5
os/user._C_getpwuid_r(0x2262440?, 0xc0004a07f8?, 0x411e48?)
	/usr/local/go/src/os/user/cgo_lookup_cgo.go:91 +0xa5 fp=0xc0004a0788 sp=0xc0004a06c8 pc=0xbff865
os/user.lookupUnixUid.func1({0xc000046050?, 0x10?, 0x13085a0?})
	/usr/local/go/src/os/user/cgo_lookup_unix.go:57 +0x65 fp=0xc0004a0830 sp=0xc0004a0788 pc=0xbff0e5
os/user.retryWithBuffer(0x54d805?, 0xc0004a08f0)
	/usr/local/go/src/os/user/cgo_lookup_unix.go:171 +0x69 fp=0xc0004a0890 sp=0xc0004a0830 pc=0xbff469
os/user.lookupUnixUid(0x3e8)
	/usr/local/go/src/os/user/cgo_lookup_unix.go:55 +0x94 fp=0xc0004a0950 sp=0xc0004a0890 pc=0xbfef74
os/user.current()
	/usr/local/go/src/os/user/cgo_lookup_unix.go:19 +0x47 fp=0xc0004a0990 sp=0xc0004a0950 pc=0xbfeec7
os/user.Current.func1()
	/usr/local/go/src/os/user/lookup.go:22 +0x17 fp=0xc0004a09a0 sp=0xc0004a0990 pc=0xbff937
sync.(*Once).doSlow(0x10?, 0x10?)
	/usr/local/go/src/sync/once.go:74 +0xc2 fp=0xc0004a0a00 sp=0xc0004a09a0 pc=0x48b182
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:65
os/user.Current()
	/usr/local/go/src/os/user/lookup.go:22 +0x37 fp=0xc0004a0a30 sp=0xc0004a0a00 pc=0xbff557
github.com/lib/pq.sslClientCertificates(0xc000002000, 0xc0001b9e60?)
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/ssl.go:110 +0x27d fp=0xc0004a0d58 sp=0xc0004a0a30 pc=0xc18c9d
github.com/lib/pq.ssl(0xc0001b9e60?)
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/ssl.go:64 +0x29b fp=0xc0004a0dc0 sp=0xc0004a0d58 pc=0xc1879b
github.com/lib/pq.(*conn).ssl(0xc000142000, 0xc00004a020?)
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:1091 +0x28 fp=0xc0004a0e48 sp=0xc0004a0dc0 pc=0xc07dc8
github.com/lib/pq.(*Connector).open(0xc000530330, {0x17ceba0, 0xc00004a020})
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:361 +0x278 fp=0xc0004a0fc0 sp=0xc0004a0e48 pc=0xc03078
github.com/lib/pq.DialOpen({0x17cb340?, 0xc000220310}, {0xc000149b20?, 0xc0004a10c0?})
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:328 +0x7b fp=0xc0004a0ff0 sp=0xc0004a0fc0 pc=0xc02d9b
github.com/lib/pq.Open(...)
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:318
github.com/lib/pq.Driver.Open({}, {0xc000149b20, 0x66})
	/srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:56 +0x88 fp=0xc0004a1088 sp=0xc0004a0ff0 pc=0xc016c8
github.com/lib/pq.(*Driver).Open(0x17ce040?, {0xc000149b20?, 0x0?})
	<autogenerated>:1 +0x32 fp=0xc0004a10a8 sp=0xc0004a1088 pc=0xc1b572
database/sql.dsnConnector.Connect(...)
	/usr/local/go/src/database/sql/sql.go:758
database/sql.(*dsnConnector).Connect(0x17ce040?, {0xc0001b9b00?, 0x47b0f5?})
	<autogenerated>:1 +0x3a fp=0xc0004a10d0 sp=0xc0004a10a8 pc=0x89bcba
database/sql.(*DB).conn(0xc000521ad0, {0x17ceba0, 0xc00004a020}, 0x1)
	/usr/local/go/src/database/sql/sql.go:1387 +0x763 fp=0xc0004a1248 sp=0xc0004a10d0 pc=0x88f8e3
database/sql.(*DB).query(0xc0004a12f0?, {0x17ceba0, 0xc00004a020}, {0xc0000aed00, 0x35}, {0xc000126ac0, 0x1, 0x1}, 0x0?)
	/usr/local/go/src/database/sql/sql.go:1721 +0x5d fp=0xc0004a12c8 sp=0xc0004a1248 pc=0x89211d
database/sql.(*DB).QueryContext.func1(0x35?)
	/usr/local/go/src/database/sql/sql.go:1704 +0x55 fp=0xc0004a1330 sp=0xc0004a12c8 pc=0x891fb5
database/sql.(*DB).retry(0xc000505e00?, 0xc0004a13a0)
	/usr/local/go/src/database/sql/sql.go:1538 +0x47 fp=0xc0004a1378 sp=0xc0004a1330 pc=0x890707
database/sql.(*DB).QueryContext(0xc00008af60?, {0x17ceba0?, 0xc00004a020?}, {0xc0000aed00?, 0xc0000aed00?}, {0xc000126ac0?, 0xc0004a1488?, 0xc0004a1478?})
	/usr/local/go/src/database/sql/sql.go:1703 +0xcc fp=0xc0004a1408 sp=0xc0004a1378 pc=0x891ecc
xorm.io/xorm/core.(*DB).QueryContext(0xc00008af60, {0x17ceba0?, 0xc00004a020}, {0xc0000aed00, 0x35}, {0xc000126ac0, 0x1, 0x1})
	/srv/app/pkg/mod/xorm.io/xorm@v1.3.2/core/db.go:151 +0x1f7 fp=0xc0004a14a8 sp=0xc0004a1408 pc=0xa46c37
xorm.io/xorm/dialects.(*postgres).GetTables(0x100237c1eb108?, {0x17c65c0?, 0xc00008af60?}, {0x17ceba0?, 0xc00004a020?})
	/srv/app/pkg/mod/xorm.io/xorm@v1.3.2/dialects/postgres.go:1230 +0x1ca fp=0xc0004a15c0 sp=0xc0004a14a8 pc=0xa7490a
xorm.io/xorm.(*Session).Sync(0xc000521d40, {0xc0004a1bd8, 0x1, 0xc0001b9c20?})
	/srv/app/pkg/mod/xorm.io/xorm@v1.3.2/session_schema.go:262 +0x115 fp=0xc0004a1b18 sp=0xc0004a15c0 pc=0xacb5f5
xorm.io/xorm.(*Engine).Sync(0x12e1ae0?, {0xc0004a1bd8, 0x1, 0x1})
	/srv/app/pkg/mod/xorm.io/xorm@v1.3.2/engine.go:1122 +0x7f fp=0xc0004a1b78 sp=0xc0004a1b18 pc=0xaa4e1f
xorm.io/xorm.(*Engine).Sync2(...)
	/srv/app/pkg/mod/xorm.io/xorm@v1.3.2/engine.go:1128
src.techknowlogick.com/xormigrate.(*Xormigrate).createMigrationTableIfNotExists(...)
	/srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:289
src.techknowlogick.com/xormigrate.(*Xormigrate).migrate(0xc0001b9a10, {0x0, 0x0})
	/srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:122 +0x2d4 fp=0xc0004a1cb8 sp=0xc0004a1b78 pc=0xc4d494
src.techknowlogick.com/xormigrate.(*Xormigrate).Migrate(...)
	/srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:98
code.vikunja.io/api/pkg/migration.Migrate(0x4?)
	/source/pkg/migration/migration.go:68 +0x27 fp=0xc0004a1d08 sp=0xc0004a1cb8 pc=0xe6dc67
code.vikunja.io/api/pkg/initialize.FullInit()
	/source/pkg/initialize/init.go:85 +0xac fp=0xc0004a1d28 sp=0xc0004a1d08 pc=0xe7cf4c
code.vikunja.io/api/pkg/cmd.glob..func24(0x2176620?, {0x143c226?, 0x0?, 0x0?})
	/source/pkg/cmd/web.go:72 +0x17 fp=0xc0004a1d38 sp=0xc0004a1d28 pc=0x105ea37
github.com/spf13/cobra.(*Command).execute(0x2176620, {0xc000040240, 0x0, 0x0})
	/srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:905 +0x7b3 fp=0xc0004a1e70 sp=0xc0004a1d38 pc=0x5be353
github.com/spf13/cobra.(*Command).ExecuteC(0x2176620)
	/srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd fp=0xc0004a1f28 sp=0xc0004a1e70 pc=0x5bec7d
github.com/spf13/cobra.(*Command).Execute(...)
	/srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968
code.vikunja.io/api/pkg/cmd.Execute()
	/source/pkg/cmd/cmd.go:44 +0x25 fp=0xc0004a1f70 sp=0xc0004a1f28 pc=0x105b225
main.main()
	/source/main.go:22 +0x17 fp=0xc0004a1f80 sp=0xc0004a1f70 pc=0x105f077
runtime.main()
	/usr/local/go/src/runtime/proc.go:250 +0x207 fp=0xc0004a1fe0 sp=0xc0004a1f80 pc=0x43e7c7
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0004a1fe8 sp=0xc0004a1fe0 pc=0x46f581

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000060fb0 sp=0xc000060f90 pc=0x43ebf6
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.forcegchelper()
	/usr/local/go/src/runtime/proc.go:305 +0xb0 fp=0xc000060fe0 sp=0xc000060fb0 pc=0x43ea30
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000060fe8 sp=0xc000060fe0 pc=0x46f581
created by runtime.init.6
	/usr/local/go/src/runtime/proc.go:293 +0x25

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000061780 sp=0xc000061760 pc=0x43ebf6
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
	/usr/local/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc0000617c8 sp=0xc000061780 pc=0x429e9e
runtime.gcenable.func1()
	/usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc0000617e0 sp=0xc0000617c8 pc=0x41f126
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000617e8 sp=0xc0000617e0 pc=0x46f581
created by runtime.gcenable
	/usr/local/go/src/runtime/mgc.go:178 +0x6b

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xc00007e000?, 0x17bab40?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000061f70 sp=0xc000061f50 pc=0x43ebf6
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.(*scavengerState).park(0x222a580)
	/usr/local/go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000061fa0 sp=0xc000061f70 pc=0x427d93
runtime.bgscavenge(0x0?)
	/usr/local/go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000061fc8 sp=0xc000061fa0 pc=0x428385
runtime.gcenable.func2()
	/usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc000061fe0 sp=0xc000061fc8 pc=0x41f0c6
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x46f581
created by runtime.gcenable
	/usr/local/go/src/runtime/mgc.go:179 +0xaa

goroutine 5 [finalizer wait]:
runtime.gopark(0x1a0?, 0x222b3c0?, 0x60?, 0x78?, 0xc000060770?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000060628 sp=0xc000060608 pc=0x43ebf6
runtime.runfinq()
	/usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000607e0 sp=0xc000060628 pc=0x41e167
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000607e8 sp=0xc0000607e0 pc=0x46f581
created by runtime.createfing
	/usr/local/go/src/runtime/mfinal.go:163 +0x45

goroutine 18 [GC worker (idle)]:
runtime.gopark(0xba0a75?, 0x409fbd?, 0xc0?, 0xa3?, 0xc0000627a8?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000062750 sp=0xc000062730 pc=0x43ebf6
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0000627e0 sp=0xc000062750 pc=0x420e91
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000627e8 sp=0xc0000627e0 pc=0x46f581
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 8 [GC worker (idle)]:
runtime.gopark(0x19db72c58045?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000062f50 sp=0xc000062f30 pc=0x43ebf6
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000062fe0 sp=0xc000062f50 pc=0x420e91
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000062fe8 sp=0xc000062fe0 pc=0x46f581
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x19db72c57be2?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005c750 sp=0xc00005c730 pc=0x43ebf6
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005c7e0 sp=0xc00005c750 pc=0x420e91
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005c7e8 sp=0xc00005c7e0 pc=0x46f581
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x19db72c58ee6?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005cf50 sp=0xc00005cf30 pc=0x43ebf6
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005cfe0 sp=0xc00005cf50 pc=0x420e91
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005cfe8 sp=0xc00005cfe0 pc=0x46f581
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 9 [select]:
runtime.gopark(0xc00005d788?, 0x2?, 0x48?, 0x1e?, 0xc00005d784?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005d610 sp=0xc00005d5f0 pc=0x43ebf6
runtime.selectgo(0xc00005d788, 0xc00005d780, 0x0?, 0x0, 0x0?, 0x1)
	/usr/local/go/src/runtime/select.go:327 +0x7be fp=0xc00005d750 sp=0xc00005d610 pc=0x44e49e
database/sql.(*DB).connectionOpener(0xc000521ad0, {0x17ceb68, 0xc000535e50})
	/usr/local/go/src/database/sql/sql.go:1218 +0x8d fp=0xc00005d7b8 sp=0xc00005d750 pc=0x88ec0d
database/sql.OpenDB.func1()
	/usr/local/go/src/database/sql/sql.go:791 +0x2e fp=0xc00005d7e0 sp=0xc00005d7b8 pc=0x88cf8e
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005d7e8 sp=0xc00005d7e0 pc=0x46f581
created by database/sql.OpenDB
	/usr/local/go/src/database/sql/sql.go:791 +0x18d

My dockerfile:

FROM debian:bookworm-slim
RUN apt-get update && apt-get -y install \
    unzip \
    wget \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*
RUN mkdir /etc/vikunja
ARG VERSION=0.20.4
ARG DIST=vikunja-v$VERSION-linux-amd64-full.zip
ARG URL=https://dl.vikunja.io/api/$VERSION/$DIST
ARG SHA512=cee6a3fbed0d62b8c9b3c92059f25722c7d18d1d165e18591298ecc6733dbd9a79d4ce72f8a6e9c99dd94ddfc141bc14d89476719fe67d1bcad8585fd6156e0a
RUN wget -O $DIST $URL && \
    echo "expected SHA512=$(sha512sum $DIST)" && \
    echo "$SHA512  $DIST" | sha512sum -c - && \
    unzip -d vikunja $DIST && \
    mv vikunja/vikunja-v$VERSION-linux-amd64 /usr/local/bin/vikunja && \
    mv vikunja/config.yml.sample /etc/vikunja/config.yml && \
    rm -rf vikunja $DIST
RUN useradd --create-home --home-dir /var/lib/vikunja --shell /bin/bash vikunja
WORKDIR /var/lib/vikunja
USER vikunja
CMD ["vikunja"]

I use PostgreSQL 15 as database.

Thanks!

Vikunja Frontend Version

0.20.5

Vikunja API Version

0.20.4

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

No

Screenshots

No response

### Description Hi, I run vikunja api in a debian based container and I get a segfault after upgrading my container from bullseye to bookworm. ``` 2023/06/26 15:02:36 Using config file: /etc/vikunja/config.yml fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x27020 pc=0x27020] runtime stack: runtime.throw({0x147ff9a?, 0x7f237bd42fe0?}) /usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7ffebcbe3038 sp=0x7ffebcbe3008 pc=0x43bedd runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:821 +0x3e9 fp=0x7ffebcbe3098 sp=0x7ffebcbe3038 pc=0x452189 goroutine 1 [syscall]: runtime.cgocall(0x1122820, 0xc0004a06c8) /usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc0004a06a0 sp=0xc0004a0668 pc=0x40845c os/user._Cfunc_mygetpwuid_r(0x3e8, 0xc000046050, 0x46, 0xc00004a140, 0xc00004a144) _cgo_gotypes.go:159 +0x65 fp=0xc0004a06c8 sp=0xc0004a06a0 pc=0xbff6c5 os/user._C_getpwuid_r(0x2262440?, 0xc0004a07f8?, 0x411e48?) /usr/local/go/src/os/user/cgo_lookup_cgo.go:91 +0xa5 fp=0xc0004a0788 sp=0xc0004a06c8 pc=0xbff865 os/user.lookupUnixUid.func1({0xc000046050?, 0x10?, 0x13085a0?}) /usr/local/go/src/os/user/cgo_lookup_unix.go:57 +0x65 fp=0xc0004a0830 sp=0xc0004a0788 pc=0xbff0e5 os/user.retryWithBuffer(0x54d805?, 0xc0004a08f0) /usr/local/go/src/os/user/cgo_lookup_unix.go:171 +0x69 fp=0xc0004a0890 sp=0xc0004a0830 pc=0xbff469 os/user.lookupUnixUid(0x3e8) /usr/local/go/src/os/user/cgo_lookup_unix.go:55 +0x94 fp=0xc0004a0950 sp=0xc0004a0890 pc=0xbfef74 os/user.current() /usr/local/go/src/os/user/cgo_lookup_unix.go:19 +0x47 fp=0xc0004a0990 sp=0xc0004a0950 pc=0xbfeec7 os/user.Current.func1() /usr/local/go/src/os/user/lookup.go:22 +0x17 fp=0xc0004a09a0 sp=0xc0004a0990 pc=0xbff937 sync.(*Once).doSlow(0x10?, 0x10?) /usr/local/go/src/sync/once.go:74 +0xc2 fp=0xc0004a0a00 sp=0xc0004a09a0 pc=0x48b182 sync.(*Once).Do(...) /usr/local/go/src/sync/once.go:65 os/user.Current() /usr/local/go/src/os/user/lookup.go:22 +0x37 fp=0xc0004a0a30 sp=0xc0004a0a00 pc=0xbff557 github.com/lib/pq.sslClientCertificates(0xc000002000, 0xc0001b9e60?) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/ssl.go:110 +0x27d fp=0xc0004a0d58 sp=0xc0004a0a30 pc=0xc18c9d github.com/lib/pq.ssl(0xc0001b9e60?) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/ssl.go:64 +0x29b fp=0xc0004a0dc0 sp=0xc0004a0d58 pc=0xc1879b github.com/lib/pq.(*conn).ssl(0xc000142000, 0xc00004a020?) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:1091 +0x28 fp=0xc0004a0e48 sp=0xc0004a0dc0 pc=0xc07dc8 github.com/lib/pq.(*Connector).open(0xc000530330, {0x17ceba0, 0xc00004a020}) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:361 +0x278 fp=0xc0004a0fc0 sp=0xc0004a0e48 pc=0xc03078 github.com/lib/pq.DialOpen({0x17cb340?, 0xc000220310}, {0xc000149b20?, 0xc0004a10c0?}) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:328 +0x7b fp=0xc0004a0ff0 sp=0xc0004a0fc0 pc=0xc02d9b github.com/lib/pq.Open(...) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:318 github.com/lib/pq.Driver.Open({}, {0xc000149b20, 0x66}) /srv/app/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:56 +0x88 fp=0xc0004a1088 sp=0xc0004a0ff0 pc=0xc016c8 github.com/lib/pq.(*Driver).Open(0x17ce040?, {0xc000149b20?, 0x0?}) <autogenerated>:1 +0x32 fp=0xc0004a10a8 sp=0xc0004a1088 pc=0xc1b572 database/sql.dsnConnector.Connect(...) /usr/local/go/src/database/sql/sql.go:758 database/sql.(*dsnConnector).Connect(0x17ce040?, {0xc0001b9b00?, 0x47b0f5?}) <autogenerated>:1 +0x3a fp=0xc0004a10d0 sp=0xc0004a10a8 pc=0x89bcba database/sql.(*DB).conn(0xc000521ad0, {0x17ceba0, 0xc00004a020}, 0x1) /usr/local/go/src/database/sql/sql.go:1387 +0x763 fp=0xc0004a1248 sp=0xc0004a10d0 pc=0x88f8e3 database/sql.(*DB).query(0xc0004a12f0?, {0x17ceba0, 0xc00004a020}, {0xc0000aed00, 0x35}, {0xc000126ac0, 0x1, 0x1}, 0x0?) /usr/local/go/src/database/sql/sql.go:1721 +0x5d fp=0xc0004a12c8 sp=0xc0004a1248 pc=0x89211d database/sql.(*DB).QueryContext.func1(0x35?) /usr/local/go/src/database/sql/sql.go:1704 +0x55 fp=0xc0004a1330 sp=0xc0004a12c8 pc=0x891fb5 database/sql.(*DB).retry(0xc000505e00?, 0xc0004a13a0) /usr/local/go/src/database/sql/sql.go:1538 +0x47 fp=0xc0004a1378 sp=0xc0004a1330 pc=0x890707 database/sql.(*DB).QueryContext(0xc00008af60?, {0x17ceba0?, 0xc00004a020?}, {0xc0000aed00?, 0xc0000aed00?}, {0xc000126ac0?, 0xc0004a1488?, 0xc0004a1478?}) /usr/local/go/src/database/sql/sql.go:1703 +0xcc fp=0xc0004a1408 sp=0xc0004a1378 pc=0x891ecc xorm.io/xorm/core.(*DB).QueryContext(0xc00008af60, {0x17ceba0?, 0xc00004a020}, {0xc0000aed00, 0x35}, {0xc000126ac0, 0x1, 0x1}) /srv/app/pkg/mod/xorm.io/xorm@v1.3.2/core/db.go:151 +0x1f7 fp=0xc0004a14a8 sp=0xc0004a1408 pc=0xa46c37 xorm.io/xorm/dialects.(*postgres).GetTables(0x100237c1eb108?, {0x17c65c0?, 0xc00008af60?}, {0x17ceba0?, 0xc00004a020?}) /srv/app/pkg/mod/xorm.io/xorm@v1.3.2/dialects/postgres.go:1230 +0x1ca fp=0xc0004a15c0 sp=0xc0004a14a8 pc=0xa7490a xorm.io/xorm.(*Session).Sync(0xc000521d40, {0xc0004a1bd8, 0x1, 0xc0001b9c20?}) /srv/app/pkg/mod/xorm.io/xorm@v1.3.2/session_schema.go:262 +0x115 fp=0xc0004a1b18 sp=0xc0004a15c0 pc=0xacb5f5 xorm.io/xorm.(*Engine).Sync(0x12e1ae0?, {0xc0004a1bd8, 0x1, 0x1}) /srv/app/pkg/mod/xorm.io/xorm@v1.3.2/engine.go:1122 +0x7f fp=0xc0004a1b78 sp=0xc0004a1b18 pc=0xaa4e1f xorm.io/xorm.(*Engine).Sync2(...) /srv/app/pkg/mod/xorm.io/xorm@v1.3.2/engine.go:1128 src.techknowlogick.com/xormigrate.(*Xormigrate).createMigrationTableIfNotExists(...) /srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:289 src.techknowlogick.com/xormigrate.(*Xormigrate).migrate(0xc0001b9a10, {0x0, 0x0}) /srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:122 +0x2d4 fp=0xc0004a1cb8 sp=0xc0004a1b78 pc=0xc4d494 src.techknowlogick.com/xormigrate.(*Xormigrate).Migrate(...) /srv/app/pkg/mod/src.techknowlogick.com/xormigrate@v1.5.0/xormigrate.go:98 code.vikunja.io/api/pkg/migration.Migrate(0x4?) /source/pkg/migration/migration.go:68 +0x27 fp=0xc0004a1d08 sp=0xc0004a1cb8 pc=0xe6dc67 code.vikunja.io/api/pkg/initialize.FullInit() /source/pkg/initialize/init.go:85 +0xac fp=0xc0004a1d28 sp=0xc0004a1d08 pc=0xe7cf4c code.vikunja.io/api/pkg/cmd.glob..func24(0x2176620?, {0x143c226?, 0x0?, 0x0?}) /source/pkg/cmd/web.go:72 +0x17 fp=0xc0004a1d38 sp=0xc0004a1d28 pc=0x105ea37 github.com/spf13/cobra.(*Command).execute(0x2176620, {0xc000040240, 0x0, 0x0}) /srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:905 +0x7b3 fp=0xc0004a1e70 sp=0xc0004a1d38 pc=0x5be353 github.com/spf13/cobra.(*Command).ExecuteC(0x2176620) /srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd fp=0xc0004a1f28 sp=0xc0004a1e70 pc=0x5bec7d github.com/spf13/cobra.(*Command).Execute(...) /srv/app/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968 code.vikunja.io/api/pkg/cmd.Execute() /source/pkg/cmd/cmd.go:44 +0x25 fp=0xc0004a1f70 sp=0xc0004a1f28 pc=0x105b225 main.main() /source/main.go:22 +0x17 fp=0xc0004a1f80 sp=0xc0004a1f70 pc=0x105f077 runtime.main() /usr/local/go/src/runtime/proc.go:250 +0x207 fp=0xc0004a1fe0 sp=0xc0004a1f80 pc=0x43e7c7 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0004a1fe8 sp=0xc0004a1fe0 pc=0x46f581 goroutine 2 [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000060fb0 sp=0xc000060f90 pc=0x43ebf6 runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:387 runtime.forcegchelper() /usr/local/go/src/runtime/proc.go:305 +0xb0 fp=0xc000060fe0 sp=0xc000060fb0 pc=0x43ea30 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000060fe8 sp=0xc000060fe0 pc=0x46f581 created by runtime.init.6 /usr/local/go/src/runtime/proc.go:293 +0x25 goroutine 3 [GC sweep wait]: runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000061780 sp=0xc000061760 pc=0x43ebf6 runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:387 runtime.bgsweep(0x0?) /usr/local/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc0000617c8 sp=0xc000061780 pc=0x429e9e runtime.gcenable.func1() /usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc0000617e0 sp=0xc0000617c8 pc=0x41f126 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000617e8 sp=0xc0000617e0 pc=0x46f581 created by runtime.gcenable /usr/local/go/src/runtime/mgc.go:178 +0x6b goroutine 4 [GC scavenge wait]: runtime.gopark(0xc00007e000?, 0x17bab40?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000061f70 sp=0xc000061f50 pc=0x43ebf6 runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:387 runtime.(*scavengerState).park(0x222a580) /usr/local/go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000061fa0 sp=0xc000061f70 pc=0x427d93 runtime.bgscavenge(0x0?) /usr/local/go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000061fc8 sp=0xc000061fa0 pc=0x428385 runtime.gcenable.func2() /usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc000061fe0 sp=0xc000061fc8 pc=0x41f0c6 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x46f581 created by runtime.gcenable /usr/local/go/src/runtime/mgc.go:179 +0xaa goroutine 5 [finalizer wait]: runtime.gopark(0x1a0?, 0x222b3c0?, 0x60?, 0x78?, 0xc000060770?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000060628 sp=0xc000060608 pc=0x43ebf6 runtime.runfinq() /usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000607e0 sp=0xc000060628 pc=0x41e167 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000607e8 sp=0xc0000607e0 pc=0x46f581 created by runtime.createfing /usr/local/go/src/runtime/mfinal.go:163 +0x45 goroutine 18 [GC worker (idle)]: runtime.gopark(0xba0a75?, 0x409fbd?, 0xc0?, 0xa3?, 0xc0000627a8?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000062750 sp=0xc000062730 pc=0x43ebf6 runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0000627e0 sp=0xc000062750 pc=0x420e91 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000627e8 sp=0xc0000627e0 pc=0x46f581 created by runtime.gcBgMarkStartWorkers /usr/local/go/src/runtime/mgc.go:1199 +0x25 goroutine 8 [GC worker (idle)]: runtime.gopark(0x19db72c58045?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000062f50 sp=0xc000062f30 pc=0x43ebf6 runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000062fe0 sp=0xc000062f50 pc=0x420e91 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000062fe8 sp=0xc000062fe0 pc=0x46f581 created by runtime.gcBgMarkStartWorkers /usr/local/go/src/runtime/mgc.go:1199 +0x25 goroutine 34 [GC worker (idle)]: runtime.gopark(0x19db72c57be2?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005c750 sp=0xc00005c730 pc=0x43ebf6 runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005c7e0 sp=0xc00005c750 pc=0x420e91 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005c7e8 sp=0xc00005c7e0 pc=0x46f581 created by runtime.gcBgMarkStartWorkers /usr/local/go/src/runtime/mgc.go:1199 +0x25 goroutine 35 [GC worker (idle)]: runtime.gopark(0x19db72c58ee6?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005cf50 sp=0xc00005cf30 pc=0x43ebf6 runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005cfe0 sp=0xc00005cf50 pc=0x420e91 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005cfe8 sp=0xc00005cfe0 pc=0x46f581 created by runtime.gcBgMarkStartWorkers /usr/local/go/src/runtime/mgc.go:1199 +0x25 goroutine 9 [select]: runtime.gopark(0xc00005d788?, 0x2?, 0x48?, 0x1e?, 0xc00005d784?) /usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005d610 sp=0xc00005d5f0 pc=0x43ebf6 runtime.selectgo(0xc00005d788, 0xc00005d780, 0x0?, 0x0, 0x0?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x7be fp=0xc00005d750 sp=0xc00005d610 pc=0x44e49e database/sql.(*DB).connectionOpener(0xc000521ad0, {0x17ceb68, 0xc000535e50}) /usr/local/go/src/database/sql/sql.go:1218 +0x8d fp=0xc00005d7b8 sp=0xc00005d750 pc=0x88ec0d database/sql.OpenDB.func1() /usr/local/go/src/database/sql/sql.go:791 +0x2e fp=0xc00005d7e0 sp=0xc00005d7b8 pc=0x88cf8e runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005d7e8 sp=0xc00005d7e0 pc=0x46f581 created by database/sql.OpenDB /usr/local/go/src/database/sql/sql.go:791 +0x18d ``` My dockerfile: ``` FROM debian:bookworm-slim RUN apt-get update && apt-get -y install \ unzip \ wget \ ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN mkdir /etc/vikunja ARG VERSION=0.20.4 ARG DIST=vikunja-v$VERSION-linux-amd64-full.zip ARG URL=https://dl.vikunja.io/api/$VERSION/$DIST ARG SHA512=cee6a3fbed0d62b8c9b3c92059f25722c7d18d1d165e18591298ecc6733dbd9a79d4ce72f8a6e9c99dd94ddfc141bc14d89476719fe67d1bcad8585fd6156e0a RUN wget -O $DIST $URL && \ echo "expected SHA512=$(sha512sum $DIST)" && \ echo "$SHA512 $DIST" | sha512sum -c - && \ unzip -d vikunja $DIST && \ mv vikunja/vikunja-v$VERSION-linux-amd64 /usr/local/bin/vikunja && \ mv vikunja/config.yml.sample /etc/vikunja/config.yml && \ rm -rf vikunja $DIST RUN useradd --create-home --home-dir /var/lib/vikunja --shell /bin/bash vikunja WORKDIR /var/lib/vikunja USER vikunja CMD ["vikunja"] ``` I use PostgreSQL 15 as database. Thanks! ### Vikunja Frontend Version 0.20.5 ### Vikunja API Version 0.20.4 ### Browser and version _No response_ ### Can you reproduce the bug on the Vikunja demo site? No ### Screenshots _No response_
philpep added the
kind/bug
label 2023-06-26 15:14:35 +00:00
Owner

What kind of container? Did you build it yourself?

What kind of container? Did you build it yourself?
Author

What kind of container? Did you build it yourself?

docker container. Yes I build myself.

My configuration looks like :

database:
  type: postgres
  [...]
  sslmode: require
  sslcert: ""
  sslkey: ""
  sslrootcert: ""

I noticed changing sslmode to disable doesn't trigger the bug. So I guess it's a bug in lib/pq related to sslmode. But I wonder why this occur on a bookworm container and not on bullseye since the vikunja binary the same and is statically built and should not depend on container environment.

> What kind of container? Did you build it yourself? docker container. Yes I build myself. My configuration looks like : ``` database: type: postgres [...] sslmode: require sslcert: "" sslkey: "" sslrootcert: "" ``` I noticed changing sslmode to `disable` doesn't trigger the bug. So I guess it's a bug in lib/pq related to sslmode. But I wonder why this occur on a bookworm container and not on bullseye since the vikunja binary the same and is statically built and should not depend on container environment.
Owner

Can you share your docker run config / dockerfile?

The error message sounds like the built binary still depends on system libraries or old binary artifacts which are not present after the upgrade. The SQL part of Vikunja still requires those.

Why are you building your own docker images instead of using the official ones?

Can you share your docker run config / dockerfile? The error message sounds like the built binary still depends on system libraries or old binary artifacts which are not present after the upgrade. The SQL part of Vikunja still requires those. Why are you building your own docker images instead of using the official ones?
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: vikunja/vikunja#1561
No description provided.