Skip to content
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: The docker container of arm64 architecture cannot be initialized. #818

Open
1 of 4 tasks
MJJSUN opened this issue Oct 30, 2024 · 8 comments
Open
1 of 4 tasks
Labels
bug Something isn't working need-reprod We'd like feedback if anyone else is seeing the same thing

Comments

@MJJSUN
Copy link

MJJSUN commented Oct 30, 2024

Issue Description

[INFO::services-container] (1.636s) initializing __serve-puterjs-new  
puter  | [ Dev Console ]

puter  | init failures [

puter  |   {

puter  |     k: 'database',

puter  |     e: SqliteError: FOREIGN KEY constraint failed

puter  |         at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)

puter  |         at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)

puter  |         at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)

puter  |         at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)

puter  |         at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)

puter  |         at async /opt/puter/app/src/backend/src/Kernel.js:118:13

puter  |         at async /opt/puter/app/src/backend/src/util/context.js:115:20

puter  |         at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16) {

puter  |       code: 'SQLITE_CONSTRAINT_FOREIGNKEY'

puter  |     }

puter  |   }

[ERRO::system-validation] (1.641s) Error @ INVALID SYSTEM STATE: failed to initialize services; CompositeError: failed to initialize these services: database

puter  |     at Container.init (/opt/puter/app/src/backend/src/services/Container.js:103:19)

puter  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

puter  |     at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)

puter  |     at async /opt/puter/app/src/backend/src/Kernel.js:118:13

puter  |     at async /opt/puter/app/src/backend/src/util/context.js:115:20

puter  |     at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)

puter  | --- Inner error: SqliteError: FOREIGN KEY constraint failed

puter  |     at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)

puter  |     at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)

puter  |     at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)

puter  |     at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)

puter  |     at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)

puter  |     at async /opt/puter/app/src/backend/src/Kernel.js:118:13

puter  |     at async /opt/puter/app/src/backend/src/util/context.js:115:20

puter  |     at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)

puter  | --- End of inner error 

[ERRO::system-validation] (1.641s) CompositeError: failed to initialize these services: database 

[ERRO::alarm] (1.643s) upcoming alarm: INVALID SYSTEM STATE:failed to initialize services: failed to initialize services 

[ERRO::alarm] (1.645s) ACTIVE bold-wallet-1101 (INVALID SYSTEM STATE...) :: failed to initialize services (1) 

puter  |  error: {

puter  |   "message": "failed to initialize these services: database",

puter  |   "name": "CompositeError",

puter  |   "innerErrors": [

puter  |     {

puter  |       "code": "SQLITE_CONSTRAINT_FOREIGNKEY"

puter  |     }

puter  |   ],

puter  |   "originalStackDescriptor": {

puter  |     "enumerable": false,

puter  |     "configurable": true

puter  |   }

puter  | }

Steps to reproduce

mkdir -p puter/config puter/data
sudo chown -R 1000:1000 puter
wget https://raw.githubusercontent.com/HeyPuter/puter/main/docker-compose.yml
docker compose up

Expected behaviour

Starts correctly and prints the default user.

Addition Information or Screenshots (if applicable)

I use an Oracle ARM instance with 2 Cores and 12G Memory.

OS : Debian GNU/Linux 11
Arch : aarch64 (64 Bit)
Kernel : 5.10.0-32-arm64

Deployment

  • Production (puter.com)
  • Development (npm run start)
  • Docker (via docker run)
  • Docker (via docker-compose)

Puter version (if accessible)

No response

@MJJSUN MJJSUN added the bug Something isn't working label Oct 30, 2024
@MJJSUN
Copy link
Author

MJJSUN commented Oct 30, 2024

Client: Docker Engine - Community
Version: 27.3.1
API version: 1.47
Go version: go1.22.7
Git commit: ce12230
Built: Fri Sep 20 11:40:38 2024
OS/Arch: linux/arm64
Context: default

Server: Docker Engine - Community
Engine:
Version: 27.3.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.7
Git commit: 41ca978
Built: Fri Sep 20 11:40:38 2024
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.22
GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
runc:
Version: 1.1.14
GitCommit: v1.1.14-0-g2c9f560
docker-init:
Version: 0.19.0
GitCommit: de40ad0

@Sammyzyf
Copy link

Sammyzyf commented Nov 4, 2024

I'm having the same problem as you, have you solved it?

@MJJSUN
Copy link
Author

MJJSUN commented Nov 4, 2024

我遇到了和你一样的问题,你解决了吗?

我对此没有头绪。
我目前正在使用xrdp桌面,它工作得很好。不过我仍然期待puter能给我带来不一样的体验。

@MJJSUN
Copy link
Author

MJJSUN commented Nov 4, 2024

I'm having the same problem as you, have you solved it?

I'm sorry, it seems that Google Translate automatically switched to Chinese when I replied.

I have no idea about this.
I am currently using xrdp desktop and it works fine. But I am still looking forward to the different experience that puter can bring me.

@KernelDeimos
Copy link
Contributor

@Sammyzyf are you also running on arm64 or did you experience this issue separately? The error message doesn't seem related to architecture but I'm not able to reproduce this.

@KernelDeimos KernelDeimos added the need-reprod We'd like feedback if anyone else is seeing the same thing label Nov 6, 2024
@kureta
Copy link

kureta commented Nov 11, 2024

I am not on arm64 and I am having the same issue using docker-compose.

@KernelDeimos
Copy link
Contributor

KernelDeimos commented Nov 15, 2024

@kureta take a look at suggestions on this issue. I think this usually happens because the permissions weren't set according to our instructions. Generally, if it doesn't work in Docker, just use node. If you need Docker, it may make more sense to create your own Dockerfile that suits your specific needs.

[edit]: sorry, I got confused, this was meant to be a response to a different issue

@henry4711lp
Copy link

henry4711lp commented Nov 20, 2024

Having the same issue also deployed via docker compose just changed the domain and protocol to https:

Log
> [email protected] start
> node ./tools/run-selfhosted.js
Boot logger started :)
[BOOT/INFO] Checking path `$CONFIG_PATH` for configuration...
[BOOT/INFO] -> doing `require_if_not_undefined` on path [undefined]...
[BOOT/INFO] -> `require_if_not_undefined` doesn't like this path
[BOOT/INFO] Checking path `/etc/puter` for configuration...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/etc/puter`...
[BOOT/INFO] -> doing `require_read_permission` on path `/etc/puter`...
[BOOT/INFO] USING `/etc/puter` for configuration.
[BOOT/INFO] Checking path `$RUNTIME_PATH` for working directory...
[BOOT/INFO] -> doing `require_if_not_undefined` on path [undefined]...
[BOOT/INFO] -> `require_if_not_undefined` doesn't like this path
[BOOT/INFO] Checking path `/var/puter` for working directory...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/var/puter`...
[BOOT/INFO] -> doing `` on path `/var/puter`...
[BOOT/INFO] -> doing `require_write_permission` on path `/var/puter`...
[BOOT/INFO] USING `/var/puter` for working directory.
[BOOT/INFO] Checking path `$MOD_PATH` for mods...
[BOOT/INFO] -> doing `require_if_not_undefined` on path [undefined]...
[BOOT/INFO] -> `require_if_not_undefined` doesn't like this path
[BOOT/INFO] Checking path `/var/puter/mods` for mods...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/var/puter/mods`...
[BOOT/INFO] -> `skip_if_not_exists` doesn't like this path
[BOOT/INFO] Checking path `/opt/puter/app/mods` for mods...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/opt/puter/app/mods`...
[BOOT/INFO] -> doing `require_read_permission` on path `/opt/puter/app/mods`...
[BOOT/INFO] USING `/opt/puter/app/mods` for mods.
[BOOT/INFO] Applying config: config.json
[BOOT/INFO] config name `PROD`
[BOOT/INFO] constructing util-array
[BOOT/INFO] constructing lib-type-tagged
[BOOT/INFO] constructing system-validation
[BOOT/INFO] constructing server-health
[BOOT/INFO] constructing log-service
[BOOT/INFO] constructing commands
[BOOT/INFO] constructing web-server
[BOOT/INFO] constructing __api-filesystem
[BOOT/INFO] constructing __api
[BOOT/INFO] constructing __gui
[BOOT/INFO] constructing expectations
[BOOT/INFO] constructing pager
[BOOT/INFO] constructing alarm
[BOOT/INFO] constructing error-service
[BOOT/INFO] constructing registry
[BOOT/INFO] constructing __registrant
[BOOT/INFO] constructing fslock
[BOOT/INFO] constructing es:app
[BOOT/INFO] constructing params
[BOOT/INFO] constructing information
[BOOT/INFO] constructing filesystem
[BOOT/INFO] constructing es:subdomain
[BOOT/INFO] constructing es:notification
[BOOT/INFO] constructing rate-limit
[BOOT/INFO] constructing monthly-usage
[BOOT/INFO] constructing auth
[BOOT/INFO] constructing permission
[BOOT/INFO] constructing sla
[BOOT/INFO] constructing acl
[BOOT/INFO] constructing coercion
[BOOT/INFO] constructing puter-site
[BOOT/INFO] constructing context-init
[BOOT/INFO] constructing identification
[BOOT/INFO] constructing auth-audit
[BOOT/INFO] constructing spending
[BOOT/INFO] constructing counting
[BOOT/INFO] constructing thumbnails
[BOOT/INFO] constructing __refresh-assocs
[BOOT/INFO] constructing __prod-debugging
[BOOT/INFO] constructing dev-console
[BOOT/INFO] constructing event
[BOOT/INFO] constructing puter-version
[BOOT/INFO] constructing session
[BOOT/INFO] constructing edge-rate-limit
[BOOT/INFO] constructing email
[BOOT/INFO] constructing token
[BOOT/INFO] constructing otp
[BOOT/INFO] constructing __user-protected-endpoints
[BOOT/INFO] constructing anti-csrf
[BOOT/INFO] constructing lock
[BOOT/INFO] constructing puter-homepage
[BOOT/INFO] constructing get-user
[BOOT/INFO] constructing whoami
[BOOT/INFO] constructing __dev-tod
[BOOT/INFO] constructing driver
[BOOT/INFO] constructing script
[BOOT/INFO] constructing broadcast
[BOOT/INFO] constructing notification
[BOOT/INFO] constructing __protected-app
[BOOT/INFO] constructing share
[BOOT/INFO] constructing group
[BOOT/INFO] constructing __permission-api
[BOOT/INFO] constructing mountpoint
[BOOT/INFO] constructing anomaly
[BOOT/INFO] constructing database
[BOOT/INFO] constructing local-disk-storage
[BOOT/INFO] constructing host-disk-usage
[BOOT/INFO] constructing __selfhosted
[BOOT/INFO] constructing __default-user
[BOOT/INFO] constructing complain-about-versions
[BOOT/INFO] constructing __dev-watcher
[BOOT/INFO] constructing __serve-puterjs
[BOOT/INFO] constructing __serve-puterjs-new
[BOOT/INFO] initializing util-array
[BOOT/INFO] initializing lib-type-tagged
[BOOT/INFO] initializing system-validation
[BOOT/INFO] initializing server-health
[BOOT/INFO] initializing log-service
[SYSTEM::log-service] (0.671s) log service started 
 output_lvl: {
  "ordinal": 2,
  "label": "INFO",
  "esc": "36;1",
  "winst": "info"
}
 log_directory: "/var/puter/logs/heyputer"
[INFO::services-container] (0.679s) initializing commands 
[INFO::services-container] (0.679s) initializing web-server 
[INFO::commands] (0.682s) registering command web:dismiss 
[INFO::services-container] (0.690s) initializing __api-filesystem 
[INFO::services-container] (0.691s) initializing __api 
[INFO::services-container] (0.691s) initializing __gui 
[INFO::services-container] (0.691s) initializing expectations 
[INFO::commands] (0.692s) registering command expectations:pending 
[INFO::services-container] (0.692s) initializing pager 
[INFO::services-container] (0.692s) initializing alarm 
[INFO::commands] (0.693s) registering command alarm:list 
[INFO::commands] (0.693s) registering command alarm:info 
[INFO::commands] (0.693s) registering command alarm:clear 
[INFO::commands] (0.693s) registering command alarm:clear-all 
[INFO::commands] (0.694s) registering command alarm:sound 
[INFO::commands] (0.694s) registering command alarm:inspect 
[INFO::services-container] (0.694s) initializing error-service 
[INFO::services-container] (0.694s) initializing registry 
[INFO::services-container] (0.694s) initializing __registrant 
[INFO::services-container] (0.700s) initializing fslock 
[INFO::commands] (0.700s) registering command fslock:locks 
[INFO::services-container] (0.700s) initializing es:app 
[INFO::services-container] (0.701s) initializing params 
[INFO::commands] (0.701s) registering command params:get 
[INFO::commands] (0.702s) registering command params:set 
[INFO::commands] (0.702s) registering command params:list 
[INFO::services-container] (0.702s) initializing information 
[INFO::commands] (0.702s) registering command info:providers 
[INFO::commands] (0.702s) registering command info:get 
[INFO::services-container] (0.702s) initializing filesystem 
[INFO::commands] (0.703s) registering command size:get-usage 
[INFO::commands] (0.703s) registering command size:get-capacity 
[INFO::commands] (0.703s) registering command size:get-cache-size 
[INFO::params] (0.704s) registering parameter fsentry-service:max_queue 
[INFO::services-container] (0.705s) initializing es:subdomain 
[INFO::services-container] (0.705s) initializing es:notification 
[INFO::services-container] (0.705s) initializing rate-limit 
[INFO::services-container] (0.706s) initializing monthly-usage 
[INFO::services-container] (0.706s) initializing auth 
[INFO::services-container] (0.706s) initializing permission 
[INFO::commands] (0.706s) registering command perms:grant-user-app 
[INFO::services-container] (0.706s) initializing sla 
[INFO::services-container] (0.707s) initializing acl 
[INFO::services-container] (0.707s) initializing coercion 
[INFO::services-container] (0.707s) initializing puter-site 
[INFO::services-container] (0.707s) initializing context-init 
[INFO::services-container] (0.707s) initializing identification 
[INFO::services-container] (0.708s) initializing auth-audit 
[INFO::services-container] (0.708s) initializing spending 
[INFO::services-container] (0.708s) initializing counting 
[INFO::services-container] (0.709s) initializing thumbnails 
[INFO::services-container] (0.709s) initializing __refresh-assocs 
[INFO::services-container] (0.709s) initializing __prod-debugging 
[INFO::services-container] (0.709s) initializing dev-console 

[INFO::services-container] (0.711s) initializing event 
[ Dev Console ]
puter> 
[INFO::services-container] (0.713s) initializing puter-version 
[ Dev Console ]
puter> 
[INFO::services-container] (0.713s) initializing session 
[ Dev Console ]
puter> 
[INFO::services-container] (0.714s) initializing edge-rate-limit 
[ Dev Console ]
puter> 
[INFO::services-container] (0.714s) initializing email 
[ Dev Console ]
puter> 
[INFO::services-container] (0.715s) initializing token 
[ Dev Console ]
puter> 
[INFO::services-container] (0.715s) initializing otp 
[ Dev Console ]
puter> 
[INFO::services-container] (0.715s) initializing __user-protected-endpoints 
[ Dev Console ]
puter> 
[INFO::services-container] (0.716s) initializing anti-csrf 
[ Dev Console ]
puter> 
[INFO::services-container] (0.716s) initializing lock 
[ Dev Console ]
puter> 
[INFO::commands] (0.717s) registering command lock:locks 
[ Dev Console ]
puter> 
[INFO::services-container] (0.717s) initializing puter-homepage 
[ Dev Console ]
puter> 
[INFO::services-container] (0.718s) initializing get-user 
[ Dev Console ]
puter> 
[INFO::services-container] (0.718s) initializing whoami 
[ Dev Console ]
puter> 
[INFO::services-container] (0.718s) initializing __dev-tod 
[ Dev Console ]
puter> 
[INFO::commands] (0.719s) registering command tod:dismiss 
[ Dev Console ]
puter> 
[INFO::services-container] (0.719s) initializing driver 
[ Dev Console ]
puter> 
[INFO::services-container] (0.719s) initializing script 
[ Dev Console ]
puter> 
[INFO::commands] (0.720s) registering command script:run 
[ Dev Console ]
puter> 
[INFO::services-container] (0.720s) initializing broadcast 
[ Dev Console ]
puter> 
[INFO::services-container] (0.720s) initializing notification 
[ Dev Console ]
puter> 
[INFO::services-container] (0.721s) initializing __protected-app 
[ Dev Console ]
puter> 
[INFO::services-container] (0.721s) initializing share 
[ Dev Console ]
puter> 
[INFO::services-container] (0.722s) initializing group 
[ Dev Console ]
puter> 
[INFO::services-container] (0.722s) initializing __permission-api 
[ Dev Console ]
puter> 
[INFO::services-container] (0.722s) initializing mountpoint 
[ Dev Console ]
puter> 
[INFO::services-container] (0.723s) initializing anomaly 
[ Dev Console ]
puter> 
[INFO::services-container] (0.723s) initializing database 
[ Dev Console ]
puter> 
[INFO::commands] (0.724s) registering command sqlite:execfile 
[ Dev Console ]
puter> 
[INFO::commands] (0.724s) registering command sqlite:read 
[ Dev Console ]
puter> 
[INFO::commands] (0.724s) registering command sqlite:dismiss 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.727s) SETUP: creating database at puter-database.sqlite 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.728s) applying 0001_create-tables.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.900s) applying 0002_add-default-apps.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.953s) applying 0003_user-permissions.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.971s) applying 0004_sessions.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.976s) applying 0005_background-apps.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.987s) applying 0006_update-apps.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (0.998s) applying 0007_sessions.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.015s) applying 0008_otp.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.037s) applying 0009_app-prefix-fix.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.043s) applying 0010_add-git-app.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.048s) applying 0011_notification.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.058s) applying 0012_appmetadata.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.064s) applying 0013_protected-apps.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.078s) applying 0014_share.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.087s) applying 0015_group.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.104s) applying 0016_group-permissions.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.116s) applying 0017_publicdirs.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.133s) applying 0018_fix-0003.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.165s) applying 0019_fix-0016.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.195s) applying 0020_dev-center.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.203s) applying 0021_app-owner-id.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.212s) applying 0022_dev-center-max.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.227s) applying 0023_fix-kv.sql 
[ Dev Console ]
puter> 
[NOTICE_ME::database] (1.247s) applying 0024_default-groups.sql 
[ Dev Console ]
puter> 
[INFO::services-container] (1.259s) initializing local-disk-storage 
[ Dev Console ]
(node:18) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
puter> 
[ Dev Console ]
puter> 
[INFO::services-container] (1.265s) initializing host-disk-usage 
[ Dev Console ]
puter> 
free_space: 72380235776
[ Dev Console ]
puter> 
CONFIGURATION MUTATED AT RUNTIME available_device_storage to 72380235776
[ Dev Console ]
puter> 
[INFO::services-container] (1.273s) initializing __selfhosted 
[ Dev Console ]
puter> 
[INFO::services-container] (1.274s) initializing __default-user 
[ Dev Console ]
puter> 
[INFO::services-container] (1.275s) initializing complain-about-versions 
[ Dev Console ]
puter> 
[INFO::services-container] (1.499s) initializing __dev-watcher 
[ Dev Console ]
puter> 
[INFO::services-container] (1.501s) initializing __serve-puterjs 
[ Dev Console ]
puter> 
[INFO::services-container] (1.502s) initializing __serve-puterjs-new 
[ Dev Console ]
init failures [
  {
    k: 'database',
    e: SqliteError: FOREIGN KEY constraint failed
        at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
        at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)
        at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)
        at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)
        at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
        at async /opt/puter/app/src/backend/src/Kernel.js:118:13
        at async /opt/puter/app/src/backend/src/util/context.js:115:20
        at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16) {
      code: 'SQLITE_CONSTRAINT_FOREIGNKEY'
    }
  }
]
puter> 
[ Dev Console ]
puter> 
[ERRO::system-validation] (1.507s) Error @ INVALID SYSTEM STATE: failed to initialize services; CompositeError: failed to initialize these services: database
    at Container.init (/opt/puter/app/src/backend/src/services/Container.js:103:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
    at async /opt/puter/app/src/backend/src/Kernel.js:118:13
    at async /opt/puter/app/src/backend/src/util/context.js:115:20
    at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)
--- Inner error: SqliteError: FOREIGN KEY constraint failed
    at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
    at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)
    at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)
    at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)
    at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
    at async /opt/puter/app/src/backend/src/Kernel.js:118:13
    at async /opt/puter/app/src/backend/src/util/context.js:115:20
    at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)
--- End of inner error 
[ Dev Console ]
puter> 
[ERRO::system-validation] (1.507s) CompositeError: failed to initialize these services: database 
[ Dev Console ]
puter> 
[ERRO::alarm] (1.508s) upcoming alarm: INVALID SYSTEM STATE:failed to initialize services: failed to initialize services 
[ Dev Console ]
puter> 
[ERRO::alarm] (1.510s) ACTIVE bold-wallet-1101 (INVALID SYSTEM STATE...) :: failed to initialize services (1) 
 error: {
  "message": "failed to initialize these services: database",
  "name": "CompositeError",
  "innerErrors": [
    {
      "code": "SQLITE_CONSTRAINT_FOREIGNKEY"
    }
  ],
  "originalStackDescriptor": {
    "enumerable": false,
    "configurable": true
  }
}
[ Dev Console ]
puter> 
[INFO::commands] (1.519s) registering command fsc:status 
[ Dev Console ]
puter> 
[TICK::app-info] (1.521s) refresh app cache 
[ Dev Console ]
puter> 
[INFO::commands] (1.523s) registering command eng:test 
[ Dev Console ]
puter> 
[INFO::commands] (1.523s) registering command eng:set 
[ Dev Console ]
puter> 
[INFO::commands] (1.524s) registering command eng:list 
[ Dev Console ]
puter> 
[TICK::app-info] (1.525s) refresh app stats 
[ Dev Console ]
puter> 
[INFO::commands] (1.528s) registering command mysql-fsentry-service:get-queue-size-current 
[ Dev Console ]
puter> 
[INFO::commands] (1.528s) registering command mysql-fsentry-service:get-queue-size-deferred 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.530s) services:event boot.consolidation 
 args: []
[ Dev Console ]
puter> 
[INFO::commands] (1.531s) registering command logs:show 
[ Dev Console ]
puter> 
[INFO::commands] (1.532s) registering command logs:rec 
[ Dev Console ]
puter> 
[INFO::commands] (1.533s) registering command logs:stop 
[ Dev Console ]
puter> 
[INFO::commands] (1.534s) registering command logs:indent 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.535s) services:event install.middlewares.context-aware 
 args: [
  {}
]
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.536s) services:event install.context-initializers 
 args: []
[ Dev Console ]
puter> 
[TICK::refresh_apps_cache] (1.542s) refresh associations cache 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.546s) services:event install.routes 
 args: [
  {}
]
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.637s) services:event install.routes-gui 
 args: [
  {}
]
[ Dev Console ]
puter> 
[TICK::app-info] (1.643s) refresh app stat referrals 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.647s) services:event boot.activation 
 args: []
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.648s) services:event start.webserver 
 args: []
[ Dev Console ]
puter> 
[INFO::init] (1.655s) services ready 
[ Dev Console ]
puter> 
[SYSTEM::init] (1.656s) server ready 
 deployment_type: undefined
[ Dev Console ]
puter> 
CONFIGURATION MUTATED AT RUNTIME http_port to auto
[ Dev Console ]
puter> 
[INFO::web-server] (1.662s) trying port: 4100 
[ Dev Console ]
puter> 
[INFO::app-info] (1.666s) DONE refresh app stat referrals 
[ Dev Console ]
puter> 
CONFIGURATION MUTATED AT RUNTIME http_port to 4100
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.704s) services:event install.websockets 
 args: [
  {
    "server": {
      "requestTimeout": 7200000,
      "headersTimeout": 7200000,
      "keepAliveTimeout": 5000,
      "connectionsCheckingInterval": 30000,
      "requireHostHeader": true,
      "rejectNonStandardBodyWrites": false,
      "_events": {
        "listening": [
          null,
          null,
          null
�      
]
      },
      "_eventsCount": 6,
      "_connections": 0,
      "_handle": {
        "reading": false
      },
      "_usingWorkers": false,
      "_workers": [],
      "_unref": false,
      "_listeningId": 1,
      "allowHalfOpen": true,
      "pauseOnConnect": false,
      "noDelay": true,
      "keepAlive": false,
      "keepAliveInitialDelay": 0,
      "highWaterMark": 16384,
      "httpAllowHalfOpen": false,
      "timeout": 7200000,
      "maxHeadersCount": null,
      "maxRequestsPerSocket": 0,
      "_connectionKey": "6::::4100"
    }
  }
]
[ Dev Console ]
puter> 
[NOTICE_ME::broadcast] (1.706s) {} 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (1.707s) services:event ready.webserver 
 args: []
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (1.709s) Starting puter.js:webpack-watch in /opt/puter/app/src/puter-js 
[ Dev Console ]
puter> 
command npm run start-webpack
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (1.714s) Starting terminal:rollup-watch in /opt/puter/app/src/terminal 
[ Dev Console ]
puter> 
command npx rollup -c rollup.config.js --watch
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (1.718s) Starting phoenix:rollup-watch in /opt/puter/app/src/phoenix 
[ Dev Console ]
puter> 
command npx rollup -c rollup.config.js --watch
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (1.721s) Starting git:rollup-watch in /opt/puter/app/src/git 
[ Dev Console ]
puter> 
command npx rollup -c rollup.config.js --watch
[ Dev Console ]
puter> 
[INFO::permission] (1.736s) checking permission driver:puter-kvstore:get for actor user:a2a3c02d-097c-42cb-a004-d8787d9c85b0 
 actor: "user:a2a3c02d-097c-42cb-a004-d8787d9c85b0"
 permission: "driver:puter-kvstore:get"
[ Dev Console ]
puter> 
[INFO::operation-trace] (1.745s) FRAME START public-db-kvstore:get (0) {} 
[ Dev Console ]
puter> 
[INFO::frame:84973c11-74e5-49ca-b054-151816fac980] (1.747s) FRAME STATUS working  
 tags: []
[ Dev Console ]
puter> 
THIS WAS CALLED { key: 'tmp_password' }
[ Dev Console ]
puter> 
[INFO::frame:84973c11-74e5-49ca-b054-151816fac980] (1.750s) FRAME STATUS done  
 tags: []
[ Dev Console ]
puter> 
[INFO::permission] (1.752s) checking permission driver:puter-kvstore:set for actor user:a2a3c02d-097c-42cb-a004-d8787d9c85b0 
 actor: "user:a2a3c02d-097c-42cb-a004-d8787d9c85b0"
 permission: "driver:puter-kvstore:set"
[ Dev Console ]
puter> 
[INFO::operation-trace] (1.754s) FRAME START public-db-kvstore:set (0) {} 
[ Dev Console ]
puter> 
[INFO::frame:a823d15b-a482-477e-aa75-caf81c778ee0] (1.756s) FRAME STATUS working  
 tags: []
[ Dev Console ]
puter> 
THIS WAS CALLED (SET) { key: 'tmp_password', value: '21679b0d' }
[ Dev Console ]
puter> 
[INFO::frame:a823d15b-a482-477e-aa75-caf81c778ee0] (1.766s) FRAME STATUS done  
 tags: []
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.311s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.314s) [puter.js:webpack-watch:1] > @heyputer/[email protected] start-webpack 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.316s) [puter.js:webpack-watch:1] > webpack ./src/index.js --output-filename puter.js && webpack ./src/index.js --output-filename puter.dev.js --watch --devtool source-map 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.320s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.961s) [phoenix:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.964s) [terminal:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.966s) [terminal:rollup-watch:2] bundles src/main.js → dist/bundle.js... 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (2.969s) [phoenix:rollup-watch:2] bundles src/main_puter.js → dist/bundle.js... 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (3.035s) [git:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (3.037s) [git:rollup-watch:2] bundles src/main.js → dist/bundle.js... 
[ Dev Console ]
puter> 
[INFO::permission] (3.848s) checking permission driver:puter-kvstore:get for actor user:a2a3c02d-097c-42cb-a004-d8787d9c85b0 
 actor: "user:a2a3c02d-097c-42cb-a004-d8787d9c85b0"
 permission: "driver:puter-kvstore:get"
[ Dev Console ]
puter> 
[INFO::operation-trace] (3.852s) FRAME START public-db-kvstore:get (0) {} 
[ Dev Console ]
puter> 
[INFO::frame:9828997c-c7cd-43d0-be89-6dac31715e41] (3.858s) FRAME STATUS working  
 tags: []
[ Dev Console ]
puter> 
THIS WAS CALLED { key: 'tmp_password' }
[ Dev Console ]
puter> 
[INFO::frame:9828997c-c7cd-43d0-be89-6dac31715e41] (3.871s) FRAME STATUS done  
 tags: []
[ Dev Console ]
puter> 
[INFO::morgan] (4.447s) GET /test? 400 7.225 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 7.225
 trace_request: "f490c363-819a-4365-a934-e583dc77a3fb"
[ Dev Console ]
puter> 
[ Dev Console ]
puter> 
[NOTICE_ME::services-container] (6.727s) services:event boot.ready 
 args: []
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (6.769s) [terminal:rollup-watch:2] created dist/bundle.js in 3.8s 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (7.828s) [phoenix:rollup-watch:2] created dist/bundle.js in 4.8s 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (8.927s) [git:rollup-watch:2] (!) Circular dependency 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (8.928s) [git:rollup-watch:2] src/subcommands/__exports__.js -> src/subcommands/help.js -> src/subcommands/__exports__.js 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (8.934s) [git:rollup-watch:2] created dist/bundle.js in 5.8s 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.065s) [puter.js:webpack-watch:1] asset puter.js 133 KiB [emitted] [minimized] (name: main) 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.066s) [puter.js:webpack-watch:1] orphan modules 203 KiB [orphan] 29 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.067s) [puter.js:webpack-watch:1] runtime modules 663 bytes 3 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.068s) [puter.js:webpack-watch:1] cacheable modules 256 KiB 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.070s) [puter.js:webpack-watch:1]   ./src/index.js + 29 modules 220 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.071s) [puter.js:webpack-watch:1]   ./src/modules/PuterDialog.js 35.8 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.072s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.073s) [puter.js:webpack-watch:1] WARNING in configuration 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.074s) [puter.js:webpack-watch:1] The 'mode' option has not been set, webpack will fallback to 'production' for this value. 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.075s) [puter.js:webpack-watch:1] Set 'mode' option to 'development' or 'production' to enable defaults for each environment. 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.076s) [puter.js:webpack-watch:1] You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/ 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.077s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (9.078s) [puter.js:webpack-watch:1] webpack 5.91.0 compiled with 1 warning in 5711 ms 
[ Dev Console ]
puter> 
[INFO::morgan] (9.503s) GET /test? 400 0.702 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.702
 trace_request: "bdfbdb70-ccba-4045-a3ca-c3884d959669"
[ Dev Console ]
puter> 
[TICK::server-health] (10.651s) service checks 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.611s) [puter.js:webpack-watch:1] asset puter.dev.js 133 KiB [emitted] [minimized] (name: main) 1 related asset 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.612s) [puter.js:webpack-watch:1] orphan modules 203 KiB [orphan] 29 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.613s) [puter.js:webpack-watch:1] runtime modules 663 bytes 3 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.615s) [puter.js:webpack-watch:1] cacheable modules 256 KiB 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.616s) [puter.js:webpack-watch:1]   ./src/index.js + 29 modules 220 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.618s) [puter.js:webpack-watch:1]   ./src/modules/PuterDialog.js 35.8 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.620s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.622s) [puter.js:webpack-watch:1] WARNING in configuration 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.624s) [puter.js:webpack-watch:1] The 'mode' option has not been set, webpack will fallback to 'production' for this value. 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.625s) [puter.js:webpack-watch:1] Set 'mode' option to 'development' or 'production' to enable defaults for each environment. 
[ Dev Console ]
�     �
puter> 
[INFO::__dev-watcher] (12.626s) [puter.js:webpack-watch:1] You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/ 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.627s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (12.628s) [puter.js:webpack-watch:1] webpack 5.91.0 compiled with 1 warning in 2815 ms 
[ Dev Console ]
puter> 
[INFO::morgan] (14.594s) GET /test? 400 0.843 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.843
 trace_request: "7607ab3f-0d9f-4bc8-b6f8-d72cfb18e331"
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.064s) [puter.js:webpack-watch:1] asset puter.dev.js 133 KiB [emitted] [minimized] (name: main) 1 related asset 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.065s) [puter.js:webpack-watch:1] orphan modules 203 KiB [orphan] 29 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.066s) [puter.js:webpack-watch:1] runtime modules 663 bytes 3 modules 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.067s) [puter.js:webpack-watch:1] cacheable modules 256 KiB 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.068s) [puter.js:webpack-watch:1]   ./src/index.js + 29 modules 220 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.069s) [puter.js:webpack-watch:1]   ./src/modules/PuterDialog.js 35.8 KiB [built] [code generated] 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.070s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.071s) [puter.js:webpack-watch:1] WARNING in configuration 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.073s) [puter.js:webpack-watch:1] The 'mode' option has not been set, webpack will fallback to 'production' for this value. 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.074s) [puter.js:webpack-watch:1] Set 'mode' option to 'development' or 'production' to enable defaults for each environment. 
[ Dev Console ]
�     �
puter> 
[INFO::__dev-watcher] (15.075s) [puter.js:webpack-watch:1] You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/ 
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.076s) [puter.js:webpack-watch:1]  
[ Dev Console ]
puter> 
[INFO::__dev-watcher] (15.077s) [puter.js:webpack-watch:1] webpack 5.91.0 compiled with 1 warning in 2405 ms 
[ Dev Console ]
puter> 
[INFO::morgan] (19.647s) GET /test? 400 0.287 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.287
 trace_request: "faa5ea96-abfd-480f-a84c-6017f135b8c1"
[ Dev Console ]
puter> 
[INFO::morgan] (24.716s) GET /test? 400 0.418 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.418
 trace_request: "e0dd173f-c025-4bf0-8a85-341a0fc040c3"
[ Dev Console ]
puter> 
[INFO::morgan] (29.794s) GET /test? 400 0.396 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.396
 trace_request: "cbb63c35-e362-416f-93a2-4a7c400d6c9e"
[ Dev Console ]
puter> 
[TICK::server-health] (30.650s) service checks 
[ Dev Console ]
puter> 
[TICK::app-info] (31.525s) refresh app cache 
[ Dev Console ]
puter> 
[TICK::refresh_apps_cache] (46.546s) refresh associations cache 
[ Dev Console ]
puter> 
[TICK::server-health] (50.651s) service checks 
[ Dev Console ]
puter> 
[INFO::morgan] (59.849s) GET /test? 400 0.332 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.332
 trace_request: "69831402-8f51-4d51-9e33-7d90816c5817"
[ Dev Console ]
puter> 
[TICK::server-health] (70.651s) service checks 
[ Dev Console ]
puter> 
[TICK::refresh_apps_cache] (76.547s) refresh associations cache 
[ Dev Console ]
puter> 
[INFO::morgan] (89.907s) GET /test? 400 0.329 
 method: "GET"
 url: "/test?"
 status: 400
 responseTime: 0.329
 trace_request: "7a02fce3-4829-479d-8c14-9f9e8f0e6ac0"
[ Dev Console ]
puter> 
[TICK::server-health] (90.652s) service checks 
[ Dev Console ]
puter> 
[TICK::app-info] (91.527s) refresh app cache 
[ Dev Console ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working need-reprod We'd like feedback if anyone else is seeing the same thing
Projects
None yet
Development

No branches or pull requests

5 participants