-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(Bug report) When using Docker, mounting an SMB/CIFS folder to /home/node/trilium-data
causes core dump
#415
Comments
@perfectra1n , lovely that you managed to reproduce it. Are you able to bump Node.js to a newer version (e.g. 22 instead of 20) for the Docker image? If not I could give it a try on my side to generate it. Since we have the V8 crashing by itself, I would suspect that a newer version might not generate this issue. |
I believe this is the correct to bump it to 22 (by changing the base image): (v22.8.0) [root on DESKTOP-M0FBO5A] ~/repos/TriliumNext/Notes took 26s on develop:develop
» head Dockerfile
# !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
FROM node:22-bullseye-slim Building went smoothly: (v22.8.0) [root on DESKTOP-M0FBO5A] ~/repos/TriliumNext/Notes on develop:develop
Γ¥» docker build . -t gitea.example.com/perf3ct/testnotes
[+] Building 48.1s (16/16) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.52kB 0.0s
=> [internal] load metadata for docker.io/library/node:22-bullseye-slim 1.5s
=> [auth] library/node:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 136B 0.0s
=> [ 1/10] FROM docker.io/library/node:22-bullseye-slim@sha256:8c65df5951d957f9c3239a10a5eda4fc17505fd7c3fe69f602b34e4b2cb84390 3.1s
=> => resolve docker.io/library/node:22-bullseye-slim@sha256:8c65df5951d957f9c3239a10a5eda4fc17505fd7c3fe69f602b34e4b2cb84390 0.0s
=> => sha256:8c65df5951d957f9c3239a10a5eda4fc17505fd7c3fe69f602b34e4b2cb84390 6.49kB / 6.49kB 0.0s
=> => sha256:8c4fdb2dcba5e50dad1778e9cd84d065effa030dda9d7ab9df0c9970d1e239cb 1.93kB / 1.93kB 0.0s
=> => sha256:1c768af1ebcbdf1009231f8a465822c31136f1e09bae91a562e752cc3db3f866 6.86kB / 6.86kB 0.0s
=> => sha256:6533c3eba3f3cd4c840877f9245b26929fc8c22a39f42c872aa314c32c6d654b 31.43MB / 31.43MB 0.7s
=> => sha256:39388262f03324c21bac2985cd778acd7d5846441b4cac1152ef49e883e58e1b 4.07kB / 4.07kB 0.7s
=> => sha256:6763ca3bf26850e159fc37ff5dada859f03f4be5fc1b4264e5eb8931e5369db4 46.69MB / 46.69MB 1.1s
=> => extracting sha256:6533c3eba3f3cd4c840877f9245b26929fc8c22a39f42c872aa314c32c6d654b 1.0s
=> => sha256:c2e997f97d53f65024b5232f4eaa990c2bae35dc84eb3780e387881c32e1b05e 1.74MB / 1.74MB 0.9s
=> => sha256:b58e68cba29762adee4e9b7966551bae1adde4b0298f2e58c9effb1329d4bc26 450B / 450B 1.0s
=> => extracting sha256:39388262f03324c21bac2985cd778acd7d5846441b4cac1152ef49e883e58e1b 0.0s
=> => extracting sha256:6763ca3bf26850e159fc37ff5dada859f03f4be5fc1b4264e5eb8931e5369db4 0.9s
=> => extracting sha256:c2e997f97d53f65024b5232f4eaa990c2bae35dc84eb3780e387881c32e1b05e 0.0s
=> => extracting sha256:b58e68cba29762adee4e9b7966551bae1adde4b0298f2e58c9effb1329d4bc26 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 71.61kB 0.1s
=> [ 2/10] RUN apt-get update && apt-get install -y --no-install-recommends autoconf automake g++ gcc libtool make nasm libpng-dev python3 gosu && rm -rf /var/lib/apt/lists/* 12.8s
=> [ 3/10] WORKDIR /usr/src/app 0.0s
=> [ 4/10] COPY . . 0.3s
=> [ 5/10] COPY server-package.json package.json 0.1s
=> [ 6/10] RUN cp -R build/src/* src/. && cp build/docker_healthcheck.js . && rm -r build && rm docker_healthcheck.ts 0.3s
=> [ 7/10] RUN apt-get purge -y --auto-remove autoconf automake g++ gcc libtool make nasm libpng-dev python3 && rm -rf /var/lib/apt/lists/* 4.6s
=> [ 8/10] RUN npm install && npm run webpack && npm prune --omit=dev 20.7s
=> [ 9/10] RUN cp src/public/app/share.js src/public/app-dist/. && cp -r src/public/app/doc_notes src/public/app-dist/. && rm -rf src/public/app && rm src/services/asset_path.ts 0.3s
=> [10/10] RUN apt-get update && apt-get install -y --no-install-recommends gosu && rm -rf /var/lib/apt/lists/* 2.1s
=> exporting to image 2.0s
=> => exporting layers 2.0s
=> => writing image sha256:a89ce3aa2b79fc34f75976525fd419581d6cdc8f158423d80239432d614cb1a0 0.0s
=> => naming to gitea.example.com/perf3ct/testnotes I still get the error unfortunately: [perf3ct on ubuntuserver] ~
» sudo docker run -v /home/perf3ct/testmount/:/home/node/trilium-data -p 8080:8080 gitea.example.com/perf3ct/testnotes:latest
[sudo] password for perf3ct:
No USER_UID specified, leaving 1000
No USER_GID specified, leaving 1000
(node:9) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
#
# Fatal error in , line 0
# Check failed: module->status() == kLinked || module->status() == kEvaluated.
#
#
#
#FailureMessage Object: 0x7fff540738a0
----- Native stack trace -----
1: 0x1019d31 [node]
2: 0x28ee06b V8_Fatal(char const*, ...) [node]
3: 0x17787b1 v8::internal::SourceTextModule::Evaluate(v8::internal::Isolate*, v8::internal::Handle<v8::internal::SourceTextModule>) [node]
4: 0x1256752 v8::Module::Evaluate(v8::Local<v8::Context>) [node]
5: 0xf3b39f node::loader::ModuleWrap::Evaluate(v8::FunctionCallbackInfo<v8::Value> const&) [node]
6: 0x7f934ddcf6e2
Trace/breakpoint trap (core dumped) |
@perfectra1n , that's a bit sad. That means we need to do a bit of debugging. |
Well, if that doesn't point a finger towards an issue with our docker entrypoint, I don't know what does lol: Working (with overriding the entrypoint, which I was doing to just generate the debug log) [perf3ct on ubuntuserver] ~
» sudo docker run -v /home/perf3ct/testmount/:/home/node/trilium-data -p 8080:8080 gitea.example.com/perf3ct/testnotes:latest node --report-on-fatalerror ./src/www
(node:1) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Generated session secret
DB not initialized, please visit setup page - http://[your-server-host]:8080 to see instructions on how to initialize Trilium.
DB size: 4 KB
(node:1) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
{
"appVersion": "0.90.6-beta",
"dbVersion": 228,
"nodeVersion": "v22.8.0",
"syncVersion": 32,
"buildDate": "2024-09-07T18:36:34Z",
"buildRevision": "7c0d6930fa8f20d269dcfbcbc8f636a25f6bb9a7",
"dataDirectory": "/root/trilium-data",
"clipperProtocolVersion": "1.0",
"utcDateTime": "2024-09-11T19:01:46.378Z"
}
CPU model: Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz, logical cores: 6, freq: 0 Mhz
Trusted reverse proxy: false
App HTTP server starting up at port 8080
Listening on port 8080
^CCaught interrupt/termination signal. Exiting. Not working (default entrypoint): [perf3ct on ubuntuserver] ~ took 25s
» sudo docker run -v /home/perf3ct/testmount/:/home/node/trilium-data -p 8080:8080 gitea.example.com/perf3ct/testnotes:latest
No USER_UID specified, leaving 1000
No USER_GID specified, leaving 1000
(node:9) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
#
# Fatal error in , line 0
# Check failed: module->status() == kLinked || module->status() == kEvaluated.
#
#
#
#FailureMessage Object: 0x7ffdb2db3880
----- Native stack trace -----
1: 0x1019d31 [node]
2: 0x28ee06b V8_Fatal(char const*, ...) [node]
3: 0x17787b1 v8::internal::SourceTextModule::Evaluate(v8::internal::Isolate*, v8::internal::Handle<v8::internal::SourceTextModule>) [node]
4: 0x1256752 v8::Module::Evaluate(v8::Local<v8::Context>) [node]
5: 0xf3b39f node::loader::ModuleWrap::Evaluate(v8::FunctionCallbackInfo<v8::Value> const&) [node]
6: 0x7fd95fe0f6e2
Trace/breakpoint trap (core dumped) Overriding the Docker entrypoint with something just like |
@perfectra1n , that's a crazy good find! The |
Yeah I'll break apart the |
If it's a permission issue we might be able to see something if we run |
It seems to have something to do with how Node is grabbing file locks from the kernel with ...
getpid() = 11
getpid() = 11
openat(AT_FDCWD, "/home/node/trilium-data/document.db", O_RDWR|O_CREAT|O_NOFOLLOW|O_CLOEXEC, 0644) = 17
fstat(17, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
fstat(17, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
stat("/home/node/trilium-data/document.db", {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
pread64(17, "", 100, 0) = 0
fcntl(17, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
fcntl(17, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
fcntl(17, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
stat("/home/node/trilium-data/document.db-journal", 0x7fff73364570) = -1 ENOENT (No such file or directory)
stat("/home/node/trilium-data/document.db-wal", 0x7fff73364570) = -1 ENOENT (No such file or directory)
fstat(17, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
fcntl(17, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
fcntl(17, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
fcntl(17, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
fcntl(17, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
stat("/home/node/trilium-data/document.db-journal", 0x7fff733659d0) = -1 ENOENT (No such file or directory)
pread64(17, "", 16, 24) = 0
stat("/home/node/trilium-data/document.db-wal", 0x7fff733659d0) = -1 ENOENT (No such file or directory)
fstat(17, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741825, l_len=1}) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=2000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=5000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=15000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=20000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=25000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=25000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=25000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=50000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=50000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=72000000}, NULL) = 0
fcntl(17, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = -1 EACCES (Permission denied)
fcntl(17, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
fcntl(17, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=2}) = 0
fcntl(17, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
write(2, "\n\n#\n# Fatal error in , line 0\n# ", 32
#
# Fatal error in , line 0
# ) = 32
write(2, "Check failed: module->status() ="..., 76Check failed: module->status() == kLinked || module->status() == kEvaluated.) = 76
write(2, "\n#\n#\n#\n#FailureMessage Object: 0"..., 45
#
#
#
#FailureMessage Object: 0x7fff73365b30) = 45
write(2, "\n", 1
) = 1
write(2, "----- Native stack trace -----\n\n", 32----- Native stack trace -----
) = 32
futex(0x7fd4e7a31288, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd4e7a6e1e0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, " 1: 0x1019d31 [node]\n", 22 1: 0x1019d31 [node]
) = 22
write(2, " 2: 0x28ee06b V8_Fatal(char cons"..., 48 2: 0x28ee06b V8_Fatal(char const*, ...) [node]
) = 48
write(2, " 3: 0x17787b1 v8::internal::Sour"..., 140 3: 0x17787b1 v8::internal::SourceTextModule::Evaluate(v8::internal::Isolate*, v8::internal::Handle<v8::internal::SourceTextModule>) [node]
) = 140
write(2, " 4: 0x1256752 v8::Module::Evalua"..., 66 4: 0x1256752 v8::Module::Evaluate(v8::Local<v8::Context>) [node]
) = 66
write(2, " 5: 0xf3b39f node::loader::Modul"..., 99 5: 0xf3b39f node::loader::ModuleWrap::Evaluate(v8::FunctionCallbackInfo<v8::Value> const&) [node]
) = 99
write(2, " 6: 0x7fd4dfe0f6e2 \n", 20 6: 0x7fd4dfe0f6e2
) = 20
--- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL} ---
+++ killed by SIGTRAP (core dumped) +++
Trace/breakpoint trap (core dumped) So I thought about trying to drop sending the mount -t cifs -o credentials=/root/nascreds.txt,nobrl,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm,uid=1000,gid=1000 //192.168.2.155/testdataset /home/perf3ct/testmount/ I was able to get the container to run 🎉 [perf3ct on ubuntuserver] ~ took 3m19s
> sudo docker run -v /home/perf3ct/testmount/:/home/node/trilium-data -p 8080:8080 triliumnext/notes:v0.90.6-beta
No USER_UID specified, leaving 1000
No USER_GID specified, leaving 1000
(node:8) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
DB size: 2072 KB
Becca (note cache) load took 14ms
{
"appVersion": "0.90.6-beta",
"dbVersion": 228,
"nodeVersion": "v20.15.1",
"syncVersion": 32,
"buildDate": "2024-09-07T18:36:34Z",
"buildRevision": "7c0d6930fa8f20d269dcfbcbc8f636a25f6bb9a7",
"dataDirectory": "/home/node/trilium-data",
"clipperProtocolVersion": "1.0",
"utcDateTime": "2024-09-11T22:04:40.427Z"
}
CPU model: Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz, logical cores: 6, freq: 0 Mhz
Trusted reverse proxy: false
App HTTP server starting up at port 8080
Listening on port 8080 I also validated that I was able to write / create / read data from the SQLite DB, even after multiple restarts. The data is also appropriately reflected on the SMB server. The important mount options are |
Continuing along the wild ride, after umounting the share and then mounting it again with Running with the "good" mount options of |
It looks like this option is even required when running an SQLite DB on a share:
|
TriliumNext Version
0.90.6-beta
What operating system are you using?
Other (specify below)
What is your setup?
Local (no sync)
Operating System Version
Windows 10
Description
Opening this issue to track my investigation as to why the heck this could even be happening
UPDATE
Fix: use
nobrl
andnoperm
in your SMB mount options, with whatever software you're using to mount the SMB share.The text was updated successfully, but these errors were encountered: