Skip to content

Termux support! #1

@IzumiSenaSora

Description

@IzumiSenaSora
~/tmp $ ./plainnas-linux-arm64 run
2026/01/18 00:16:59 error creating database directory: mkdir /var: read-only file system
panic: error creating database directory: mkdir /var: read-only file system

goroutine 1 [running]:
log.Panicf({0x9d5280?, 0x11?}, {0x4000587a10?, 0x0?, 0x0?})
        /opt/hostedtoolcache/go/1.25.5/x64/src/log/log.go:460 +0x70
ismartcoding/plainnas/internal/db.GetDefault.func1()
        /home/runner/work/plainnas/plainnas/internal/db/db.go:39 +0xa4
sync.(*Once).doSlow(0x1?, 0x71f74bf200?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/sync/once.go:78 +0xe0
sync.(*Once).Do(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/sync/once.go:69
ismartcoding/plainnas/internal/db.GetDefault()
        /home/runner/work/plainnas/plainnas/internal/db/db.go:35 +0x40
ismartcoding/plainnas/internal/db.ensureURLTokenLoaded()
        /home/runner/work/plainnas/plainnas/internal/db/urltoken.go:19 +0x20
ismartcoding/plainnas/internal/db.EnsureURLToken.func1()
        /home/runner/work/plainnas/plainnas/internal/db/urltoken.go:34 +0x1c
sync.(*Once).doSlow(0x1?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/sync/once.go:78 +0xe0
sync.(*Once).Do(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/sync/once.go:69
ismartcoding/plainnas/internal/db.EnsureURLToken()
        /home/runner/work/plainnas/plainnas/internal/db/urltoken.go:33 +0x40
ismartcoding/plainnas/cmd.init.func2(0x40000c3000?, {0x9ab1dd?, 0x4?, 0x9ab1e1?})
        /home/runner/work/plainnas/plainnas/cmd/run.go:37 +0xf8
github.com/spf13/cobra.(*Command).execute(0x2147640, {0x217e6c0, 0x0, 0x0})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019 +0x7bc
github.com/spf13/cobra.(*Command).ExecuteC(0x2147900)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x350
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071
ismartcoding/plainnas/cmd.Execute()
        /home/runner/work/plainnas/plainnas/cmd/root.go:26 +0xc0
main.main()
        /home/runner/work/plainnas/plainnas/main.go:12 +0x48
~/tmp $
~/tmp $ ./plainnas-linux-arm64 install                                 
== Installing dependencies ==
SIGSYS: bad system call
PC=0x132f0 m=0 sigcode=1

goroutine 1 gp=0x40000021c0 m=0 mp=0x2156980 [syscall]:
syscall.Syscall6(0x1b7, 0xffffffffffffff9c, 0x400042bbf0, 0x1, 0x200, 0x0, 0x0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/syscall/syscall_linux.go:96 +0x2c fp=0x4000507640 sp=0x40005075e0 pc=0xb1b5c
syscall.faccessat2(0xffffffffffffff9c, {0x400042bad0?, 0x400042bbc0?}, 0x1, 0x200)                                                                    /opt/hostedtoolcache/go/1.25.5/x64/src/syscall/zsyscall_linux_arm64.go:33 +0x84 fp=0x40005076a0 sp=0x4000507640 pc=0xae8f4            syscall.Faccessat(0xffffffffffffff9c, {0x400042bad0, 0x2b}, 0x1, 0x200)
        /opt/hostedtoolcache/go/1.25.5/x64/src/syscall/syscall_linux.go:167 +0x3c fp=0x4000507780 sp=0x40005076a0 pc=0xad14c                  internal/syscall/unix.Eaccess(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/internal/syscall/unix/eaccess.go:23                                                            os/exec.findExecutable({0x400042bad0, 0x2b})
        /opt/hostedtoolcache/go/1.25.5/x64/src/os/exec/lp_unix.go:31 +0x64 fp=0x40005077d0 sp=0x4000507780 pc=0xf6e64
os/exec.LookPath({0x9b4074, 0x7})
        /opt/hostedtoolcache/go/1.25.5/x64/src/os/exec/lp_unix.go:75 +0x24c fp=0x4000507870 sp=0x40005077d0 pc=0xf71dc
ismartcoding/plainnas/cmd/install.hasCmd(...)
        /home/runner/work/plainnas/plainnas/cmd/install/packages.go:157
ismartcoding/plainnas/cmd/install.detectPkgManager()
        /home/runner/work/plainnas/plainnas/cmd/install/packages.go:139 +0x28 fp=0x4000507890 sp=0x4000507870 pc=0x1a7f68
ismartcoding/plainnas/cmd/install.ensureInstalled({{0x9c857b, 0x1a}, {0x400058d380, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x9b9eda, 0xd}, ...})
        /home/runner/work/plainnas/plainnas/cmd/install/packages.go:36 +0xb0 fp=0x40005079d0 sp=0x4000507890 pc=0x1a7450
ismartcoding/plainnas/cmd/install.installLibvips(...)
        /home/runner/work/plainnas/plainnas/cmd/install/deps.go:82
ismartcoding/plainnas/cmd/install.installAllDeps()
        /home/runner/work/plainnas/plainnas/cmd/install/deps.go:12 +0xac fp=0x4000507b20 sp=0x40005079d0 pc=0x1a6d6c
ismartcoding/plainnas/cmd/install.Install()
        /home/runner/work/plainnas/plainnas/cmd/install/install.go:25 +0x38 fp=0x4000507c10 sp=0x4000507b20 pc=0x1a7158
ismartcoding/plainnas/cmd.init.func1(0x4000249200?, {0x9ab1dd?, 0x4?, 0x9ab1e1?})
        /home/runner/work/plainnas/plainnas/cmd/install.go:13 +0x1c fp=0x4000507c20 sp=0x4000507c10 pc=0x779f0c
github.com/spf13/cobra.(*Command).execute(0x2147380, {0x217e6c0, 0x0, 0x0})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019 +0x7bc fp=0x4000507dd0 sp=0x4000507c20 pc=0x1cbd8c
github.com/spf13/cobra.(*Command).ExecuteC(0x2147900)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x350 fp=0x4000507ec0 sp=0x4000507dd0 pc=0x1cc3e0
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071
ismartcoding/plainnas/cmd.Execute()
        /home/runner/work/plainnas/plainnas/cmd/root.go:26 +0xc0 fp=0x4000507f30 sp=0x4000507ec0 pc=0x77a390
main.main()
        /home/runner/work/plainnas/plainnas/main.go:12 +0x48 fp=0x4000507f40 sp=0x4000507f30 pc=0x77a3f8
runtime.main()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:285 +0x278 fp=0x4000507fd0 sp=0x4000507f40 pc=0x51f78
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000507fd0 sp=0x4000507fd0 pc=0x8d994

goroutine 2 gp=0x4000002700 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000074f90 sp=0x4000074f70 pc=0x85980
runtime.goparkunlock(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:466
runtime.forcegchelper()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:373 +0xb4 fp=0x4000074fd0 sp=0x4000074f90 pc=0x522c4
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000074fd0 sp=0x4000074fd0 pc=0x8d994
created by runtime.init.7 in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:361 +0x24

goroutine 3 gp=0x4000002c40 m=nil [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000075760 sp=0x4000075740 pc=0x85980
runtime.goparkunlock(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:466
runtime.bgsweep(0x400007e000)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgcsweep.go:323 +0x104 fp=0x40000757b0 sp=0x4000075760 pc=0x3bdd4
runtime.gcenable.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:212 +0x28 fp=0x40000757d0 sp=0x40000757b0 pc=0x2fa68
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000757d0 sp=0x40000757d0 pc=0x8d994
created by runtime.gcenable in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:212 +0x6c

goroutine 4 gp=0x4000002e00 m=nil [GC scavenge wait]:
runtime.gopark(0x10000?, 0x1aeb9c0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000075f60 sp=0x4000075f40 pc=0x85980
runtime.goparkunlock(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:466
runtime.(*scavengerState).park(0x2154a00)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgcscavenge.go:425 +0x5c fp=0x4000075f90 sp=0x4000075f60 pc=0x3992c
runtime.bgscavenge(0x400007e000)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgcscavenge.go:658 +0xac fp=0x4000075fb0 sp=0x4000075f90 pc=0x39eac
runtime.gcenable.gowrap2()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:213 +0x28 fp=0x4000075fd0 sp=0x4000075fb0 pc=0x2fa08
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000075fd0 sp=0x4000075fd0 pc=0x8d994
created by runtime.gcenable in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:213 +0xac

goroutine 5 gp=0x4000003340 m=nil [GOMAXPROCS updater (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000076770 sp=0x4000076750 pc=0x85980
runtime.goparkunlock(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:466
runtime.updateMaxProcsGoroutine()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:6720 +0xf4 fp=0x40000767d0 sp=0x4000076770 pc=0x60d14
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000767d0 sp=0x40000767d0 pc=0x8d994
created by runtime.defaultGOMAXPROCSUpdateEnable in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:6708 +0x48

goroutine 6 gp=0x4000003500 m=nil [finalizer wait]:
runtime.gopark(0x40000745b8?, 0x28993c?, 0x80?, 0x29?, 0x33?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000074580 sp=0x4000074560 pc=0x85980
runtime.runFinalizers()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mfinal.go:210 +0x104 fp=0x40000747d0 sp=0x4000074580 pc=0x2ea54
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000747d0 sp=0x40000747d0 pc=0x8d994
created by runtime.createfing in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mfinal.go:172 +0x78

goroutine 7 gp=0x4000003c00 m=nil [cleanup wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000076f40 sp=0x4000076f20 pc=0x85980
runtime.goparkunlock(...)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:466
runtime.(*cleanupQueue).dequeue(0x2154fc0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mcleanup.go:439 +0x110 fp=0x4000076f80 sp=0x4000076f40 pc=0x2bab0
runtime.runCleanups()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mcleanup.go:635 +0x40 fp=0x4000076fd0 sp=0x4000076f80 pc=0x2c2c0
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000076fd0 sp=0x4000076fd0 pc=0x8d994
created by runtime.(*cleanupQueue).createGs in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mcleanup.go:589 +0x108

goroutine 8 gp=0x400044c540 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000077710 sp=0x40000776f0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x40000777b0 sp=0x4000077710 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x40000777d0 sp=0x40000777b0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000777d0 sp=0x40000777d0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

goroutine 17 gp=0x4000102380 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000070710 sp=0x40000706f0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x40000707b0 sp=0x4000070710 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x40000707d0 sp=0x40000707b0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000707d0 sp=0x40000707d0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

goroutine 18 gp=0x4000102540 m=nil [GC worker (idle)]:
runtime.gopark(0x12a79ce3fc60e5?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000070f10 sp=0x4000070ef0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x4000070fb0 sp=0x4000070f10 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x4000070fd0 sp=0x4000070fb0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000070fd0 sp=0x4000070fd0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

goroutine 19 gp=0x4000102700 m=nil [GC worker (idle)]:
runtime.gopark(0x12a79ce402618f?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000071710 sp=0x40000716f0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x40000717b0 sp=0x4000071710 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x40000717d0 sp=0x40000717b0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000717d0 sp=0x40000717d0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

goroutine 20 gp=0x40001028c0 m=nil [GC worker (idle)]:
runtime.gopark(0x12a79ce401f7c3?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x4000071f10 sp=0x4000071ef0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x4000071fb0 sp=0x4000071f10 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x4000071fd0 sp=0x4000071fb0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x4000071fd0 sp=0x4000071fd0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

goroutine 21 gp=0x4000102a80 m=nil [GC worker (idle)]:
runtime.gopark(0x12a79ce3f48a43?, 0x0?, 0x0?, 0x0?, 0x0?)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/proc.go:460 +0xc0 fp=0x40000a7f10 sp=0x40000a7ef0 pc=0x85980
runtime.gcBgMarkWorker(0x400004aaf0)
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1463 +0xe0 fp=0x40000a7fb0 sp=0x40000a7f10 pc=0x320e0
runtime.gcBgMarkStartWorkers.gowrap1()
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x28 fp=0x40000a7fd0 sp=0x40000a7fb0 pc=0x31fc8
runtime.goexit({})
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/asm_arm64.s:1268 +0x4 fp=0x40000a7fd0 sp=0x40000a7fd0 pc=0x8d994
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /opt/hostedtoolcache/go/1.25.5/x64/src/runtime/mgc.go:1373 +0x140

r0      0xffffffffffffff9c
r1      0x400042bbf0
r2      0x1
r3      0x200
r4      0x0
r5      0x0
r6      0x0
r7      0x1
r8      0x1b7
r9      0x2f7273752f73656c
r10     0x6d7265742e6d6f63
r11     0x73656c69662f7875
r12     0x6e69622f7273752f
r13     0x7465672d7470612f
r14     0x80
r15     0x3632b714fc89
r16     0x40005003a0
r17     0x4000507720
r18     0x0
r19     0x217f098
r20     0x4000507890
r21     0x4000507a78
r22     0x4000004000
r23     0x4347206568742079
r24     0xc4793a4f875d164a
r25     0x40000610e8
r26     0x19faf78
r27     0x3
r28     0x40000021c0
r29     0x4000507578
lr      0xb1aa0
sp      0x4000507580
pc      0x132f0
fault   0x0
~/tmp $

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions