manyfold3d / manyfold

A self-hosted digital asset manager for 3d print files.
https://manyfold.app
MIT License
832 stars 49 forks source link

Model created multiple times due to failed job #2472

Closed ToasterUwU closed 3 months ago

ToasterUwU commented 4 months ago

Describe the bug Ever since the upload process was changed its impossible to have all the files be added as a single model.

To Reproduce Steps to reproduce the behavior:

  1. Download a zip with multiple STLs in it that are all part of one thing
  2. Upload it to Manyfold
  3. See dozens of models appear over time
  4. No merge button or anything is to be found

Expected behavior If i upload a ZIP, everything in it should be one model

It would also make sense to have a "single model" toggle on the upload page

Floppy commented 4 months ago

Nice idea on the toggle. I've been uploading individual zipfiles without a problem; can you point me at a zipfile that comes up as separate models so I can try to reproduce it?

ToasterUwU commented 4 months ago

i had this issue with 2 things, both from thangs, so maybe its the structure inside the zip file.

The one that prompted me to make this issue is this: https://thangs.com/designer/gazzaladra/3d-model/Tea%20bag%20dispenser-1111435

Just click the "Download All" button, and the resulting zip file didnt work for me. I also tried unpacking it, and then repacking it with a subfolder, but that didnt do anything either, same issue.

Floppy commented 4 months ago

Yeah, it's probably the internal structure. But, I thought I was handling it. Thanks for the link, I'll take a look at it.

Floppy commented 4 months ago

OK, that's very odd. Literally just hit "download all" on that link, dragged it into upload, and ended up with a single model:

Screenshot 2024-08-01 at 12 03 32

Do other files work for you or is this everything?

Any more information about your library? What filesystem is it on? What do you see in the activity log? There should be a single ProcessUploadedFile job, then a single ModelScanJob, then a sequence of ModelFileScanJobs above that:

Screenshot 2024-08-01 at 12 05 52

ToasterUwU commented 4 months ago

Very odd... I will check when im back home and give you a detailed overview of my setup and everything

ToasterUwU commented 4 months ago

Ok, so i figured out whats going on. Its not all files as seperate models, its the same file over and over and over as a new model. Its duplicating it over and over and over because it is retrying something that failed.

Im running this as a docker container, and the libraries folder is mounted from an SMB share that is is mounted via cifs-utils on a Ubuntu VM. //192.168.178.3/home /mnt/Aki-home cifs credentials=/home/aki/.smb,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

I restarted the docker containers so that the log is clean and shows it all. Here the log:

W, [2024-08-01T17:04:43.939554 #66]  WARN -- : You are running SQLite in production, this is generally not recommended. You can disable this warning by setting "config.active_record.sqlite3_production_warning=false".
W, [2024-08-01T17:04:47.998963 #66]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2024-08-01T17:04:55.421504 #93]  WARN -- : You are running SQLite in production, this is generally not recommended. You can disable this warning by setting "config.active_record.sqlite3_production_warning=false".
W, [2024-08-01T17:04:56.124202 #93]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2024-08-01T17:05:16.115894 #138]  WARN -- : You are running SQLite in production, this is generally not recommended. You can disable this warning by setting "config.active_record.sqlite3_production_warning=false".
W, [2024-08-01T17:05:16.270600 #136]  WARN -- : You are running SQLite in production, this is generally not recommended. You can disable this warning by setting "config.active_record.sqlite3_production_warning=false".
W, [2024-08-01T17:05:16.452549 #137]  WARN -- : You are running SQLite in production, this is generally not recommended. You can disable this warning by setting "config.active_record.sqlite3_production_warning=false".
W, [2024-08-01T17:05:22.090755 #138]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2024-08-01T17:05:22.171694 #137]  WARN -- : Scoped order is ignored, it's forced to be batch order.
W, [2024-08-01T17:05:22.317874 #136]  WARN -- : Scoped order is ignored, it's forced to be batch order.
I, [2024-08-01T17:05:55.518749 #216]  INFO -- : [b28b14ab-a426-441f-a820-f826d89cef4a] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":73510,"duration":600.67,"view":253.45,"db":183.08,"@timestamp":"2024-08-01T17:05:55.517Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
I, [2024-08-01T17:12:51.518815 #242]  INFO -- : [e5a8eeb9-e9ba-4db5-82bd-a5766102574d] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":71489,"duration":437.12,"view":220.16,"db":95.74,"@timestamp":"2024-08-01T17:12:51.518Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
I, [2024-08-01T17:12:57.066630 #216]  INFO -- : [0cdbacdb-a105-490f-876b-d4b73178e5bd] [ActiveJob] Enqueued ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) to Sidekiq(default) with arguments: 1, {"id"=>"829f482da395b5ee8a2b6cbad0ab6e92.zip", "storage"=>"cache", "metadata"=>{"filename"=>"Tea bag dispenser.zip", "size"=>295427, "mime_type"=>"application/zip"}}
I, [2024-08-01T17:12:57.067662 #137]  INFO -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) enqueued at 2024-08-01T17:12:57.061593757Z with arguments: 1, {"id"=>"829f482da395b5ee8a2b6cbad0ab6e92.zip", "storage"=>"cache", "metadata"=>{"filename"=>"Tea bag dispenser.zip", "size"=>295427, "mime_type"=>"application/zip"}}
I, [2024-08-01T17:12:57.070848 #216]  INFO -- : [0cdbacdb-a105-490f-876b-d4b73178e5bd] {"method":"POST","path":"/models","format":"html","controller":"ModelsController","action":"create","status":302,"allocations":3998,"duration":88.22,"view":0.0,"db":12.71,"location":"https://manyfold.toasteruwu.com/libraries","@timestamp":"2024-08-01T17:12:57.069Z","@version":"1","message":"[302] POST /models (ModelsController#create)"}
W, [2024-08-01T17:12:57.085906 #137]  WARN -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Scoped order is ignored, it's forced to be batch order.
I, [2024-08-01T17:12:57.180745 #242]  INFO -- : [eb7d7afd-07c1-4dfb-9f27-2ad145aa1ae1] {"method":"GET","path":"/libraries","format":"html","controller":"LibrariesController","action":"index","status":302,"allocations":2181,"duration":26.95,"view":0.0,"db":14.86,"location":"https://manyfold.toasteruwu.com/models","@timestamp":"2024-08-01T17:12:57.180Z","@version":"1","message":"[302] GET /libraries (LibrariesController#index)"}
E, [2024-08-01T17:12:58.476840 #137] ERROR -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Error performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) in 1410.45ms: Errno::EPERM (Operation not permitted @ apply2files - /libraries/Functional/Tea bag dispenser#236/rail_250.stl):
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:245:in `_upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:210:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:108:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:182:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:171:in `promote'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:162:in `promote_cached'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:145:in `finalize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:90:in `activerecord_after_save'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:43:in `block (2 levels) in included'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `block in make_lambda'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:264:in `block in conditional'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `block in invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `each'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:111:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:952:in `_run_commit_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:332:in `committed!'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:237:in `block in commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:263:in `run_action_on_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:515:in `block in commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:503:in `commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:565:in `block in within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:212:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:314:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:355:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/has_many_association.rb:147:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/association.rb:207:in `create'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_proxy.rb:350:in `create'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:44:in `block (5 levels) in unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `chdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `block (4 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:161:in `each_entry'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:40:in `block (3 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:9:in `open_filename'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:39:in `block (2 levels) in unzip'
/usr/local/lib/ruby/3.3.0/tmpdir.rb:99:in `mktmpdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:37:in `block in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `block in with_file'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/uploaded_file.rb:126:in `download'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `with_file'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:36:in `unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:21:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:69:in `block in _perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/lib/i18n.rb:351:in `with_locale'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/translation.rb:9:in `block (2 levels) in <module:Translation>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/core_ext/time/zones.rb:65:in `use_zone'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/timezones.rb:9:in `block (2 levels) in <module:Timezones>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:68:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:32:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:52:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:13:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:40:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:39:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:11:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `block in tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:39:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/broadcast_logger.rb:240:in `method_missing'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:25:in `tag_logger'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:30:in `block in execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:67:in `block (4 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:88:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:66:in `block (3 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:28:in `execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/queue_adapters/sidekiq_adapter.rb:70:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:220:in `execute_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:180:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job/interrupt_handler.rb:7:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:26:in `track'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:126:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-failures-1.0.4/lib/sidekiq/failures/middleware.rb:9:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:173:in `invoke'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:118:in `local'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:16:in `block in call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:92:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:15:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:281:in `stats'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:25:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:85:in `global'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:132:in `block in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:52:in `prepare'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:131:in `dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `block in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:86:in `process_one'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:76:in `run'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:10:in `watchdog'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:19:in `block in safe_thread'
W, [2024-08-01T17:12:58.830132 #216]  WARN -- : [faa0b26e-5d2f-49aa-9f86-26bc73330fba] Scoped order is ignored, it's forced to be batch order.
I, [2024-08-01T17:12:58.874587 #216]  INFO -- : [faa0b26e-5d2f-49aa-9f86-26bc73330fba] {"method":"GET","path":"/models","format":"html","controller":"ModelsController","action":"index","status":200,"allocations":90832,"duration":1661.58,"view":612.94,"db":1020.46,"@timestamp":"2024-08-01T17:12:58.874Z","@version":"1","message":"[200] GET /models (ModelsController#index)"}
I, [2024-08-01T17:12:59.045763 #216]  INFO -- : [980af7a0-3b3d-455e-9fc7-3cb22d3bc2ae] {"method":"GET","path":"/libraries/1/models/64/model_files/440.jpeg","format":"jpeg","controller":"ModelFilesController","action":"show","status":200,"allocations":7279,"duration":69.36,"view":0.0,"db":12.59,"@timestamp":"2024-08-01T17:12:59.045Z","@version":"1","message":"[200] GET /libraries/1/models/64/model_files/440.jpeg (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.051874 #242]  INFO -- : [d85effc6-304c-48a9-b2c6-e379e54d24df] {"method":"GET","path":"/libraries/1/models/26/model_files/221.jpg","format":"jpeg","controller":"ModelFilesController","action":"show","status":200,"allocations":8151,"duration":75.71,"view":0.0,"db":14.14,"@timestamp":"2024-08-01T17:12:59.051Z","@version":"1","message":"[200] GET /libraries/1/models/26/model_files/221.jpg (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.223640 #242]  INFO -- : [f45d70ac-8c5e-429c-854d-c08de6071aa7] {"method":"GET","path":"/libraries/1/models/68/model_files/459.stl","format":"stl","controller":"ModelFilesController","action":"show","status":200,"allocations":6165,"duration":73.69,"view":0.0,"db":14.24,"@timestamp":"2024-08-01T17:12:59.223Z","@version":"1","message":"[200] GET /libraries/1/models/68/model_files/459.stl (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.236051 #216]  INFO -- : [87e704b7-460d-47e1-9865-0d6369b8d36a] {"method":"GET","path":"/libraries/3/models/55/model_files/393.stl","format":"stl","controller":"ModelFilesController","action":"show","status":200,"allocations":6283,"duration":88.09,"view":0.0,"db":17.39,"@timestamp":"2024-08-01T17:12:59.235Z","@version":"1","message":"[200] GET /libraries/3/models/55/model_files/393.stl (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.552845 #216]  INFO -- : [bc16f9a3-c386-46b8-8143-fb4b131dd343] {"method":"GET","path":"/libraries/1/models/4/model_files/68.stl","format":"stl","controller":"ModelFilesController","action":"show","status":200,"allocations":5953,"duration":116.73,"view":0.0,"db":38.66,"@timestamp":"2024-08-01T17:12:59.552Z","@version":"1","message":"[200] GET /libraries/1/models/4/model_files/68.stl (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.857800 #227]  INFO -- : [3abe56bc-c933-4851-82fa-4ae102ce4904] {"method":"GET","path":"/libraries/1/models/28/model_files/238.stl","format":"stl","controller":"ModelFilesController","action":"show","status":200,"allocations":41899,"duration":371.59,"view":0.0,"db":52.5,"@timestamp":"2024-08-01T17:12:59.857Z","@version":"1","message":"[200] GET /libraries/1/models/28/model_files/238.stl (ModelFilesController#show)"}
I, [2024-08-01T17:12:59.920482 #220]  INFO -- : [b8bbb97f-fbdc-41d0-ae5b-f4320f6361b2] {"method":"GET","path":"/libraries/1/models/99/model_files/802.stl","format":"stl","controller":"ModelFilesController","action":"show","status":200,"allocations":42106,"duration":351.9,"view":0.0,"db":49.86,"@timestamp":"2024-08-01T17:12:59.919Z","@version":"1","message":"[200] GET /libraries/1/models/99/model_files/802.stl (ModelFilesController#show)"}
I, [2024-08-01T17:13:03.013465 #220]  INFO -- : [b1832e49-7ed1-4765-a79e-f9ce45f7bfbe] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":39391,"duration":234.53,"view":148.2,"db":62.14,"@timestamp":"2024-08-01T17:13:03.013Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
I, [2024-08-01T17:13:22.057843 #137]  INFO -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) enqueued at 2024-08-01T17:12:57.061593757Z with arguments: 1, {"id"=>"829f482da395b5ee8a2b6cbad0ab6e92.zip", "storage"=>"cache", "metadata"=>{"filename"=>"Tea bag dispenser.zip", "size"=>295427, "mime_type"=>"application/zip"}}
W, [2024-08-01T17:13:22.063417 #137]  WARN -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Scoped order is ignored, it's forced to be batch order.
E, [2024-08-01T17:13:22.200503 #137] ERROR -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Error performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) in 142.78ms: Errno::EPERM (Operation not permitted @ apply2files - /libraries/Functional/Tea bag dispenser#237/rail_250.stl):
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:245:in `_upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:210:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:108:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:182:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:171:in `promote'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:162:in `promote_cached'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:145:in `finalize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:90:in `activerecord_after_save'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:43:in `block (2 levels) in included'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `block in make_lambda'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:264:in `block in conditional'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `block in invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `each'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:111:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:952:in `_run_commit_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:332:in `committed!'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:237:in `block in commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:263:in `run_action_on_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:515:in `block in commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:503:in `commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:565:in `block in within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:212:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:314:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:355:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/has_many_association.rb:147:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/association.rb:207:in `create'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_proxy.rb:350:in `create'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:44:in `block (5 levels) in unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `chdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `block (4 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:161:in `each_entry'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:40:in `block (3 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:9:in `open_filename'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:39:in `block (2 levels) in unzip'
/usr/local/lib/ruby/3.3.0/tmpdir.rb:99:in `mktmpdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:37:in `block in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `block in with_file'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/uploaded_file.rb:126:in `download'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `with_file'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:36:in `unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:21:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:69:in `block in _perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/lib/i18n.rb:351:in `with_locale'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/translation.rb:9:in `block (2 levels) in <module:Translation>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/core_ext/time/zones.rb:65:in `use_zone'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/timezones.rb:9:in `block (2 levels) in <module:Timezones>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:68:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:32:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:52:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:13:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:40:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:39:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:11:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `block in tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:39:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/broadcast_logger.rb:240:in `method_missing'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:25:in `tag_logger'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:30:in `block in execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:67:in `block (4 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:88:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:66:in `block (3 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:28:in `execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/queue_adapters/sidekiq_adapter.rb:70:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:220:in `execute_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:180:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job/interrupt_handler.rb:7:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:26:in `track'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:126:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-failures-1.0.4/lib/sidekiq/failures/middleware.rb:9:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:173:in `invoke'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:118:in `local'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:16:in `block in call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:92:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:15:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:281:in `stats'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:25:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:85:in `global'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:132:in `block in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:52:in `prepare'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:131:in `dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `block in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:86:in `process_one'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:76:in `run'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:10:in `watchdog'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:19:in `block in safe_thread'
I, [2024-08-01T17:13:34.937681 #220]  INFO -- : [54f656da-85a8-4f64-b46d-f03819480bcb] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":18284,"duration":72.07,"view":46.23,"db":12.34,"@timestamp":"2024-08-01T17:13:34.937Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
I, [2024-08-01T17:13:39.345208 #220]  INFO -- : [87f30e76-2f8e-4803-9883-7cb89626c937] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":18314,"duration":103.63,"view":77.25,"db":10.17,"@timestamp":"2024-08-01T17:13:39.345Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
I, [2024-08-01T17:13:50.937784 #137]  INFO -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) enqueued at 2024-08-01T17:12:57.061593757Z with arguments: 1, {"id"=>"829f482da395b5ee8a2b6cbad0ab6e92.zip", "storage"=>"cache", "metadata"=>{"filename"=>"Tea bag dispenser.zip", "size"=>295427, "mime_type"=>"application/zip"}}
W, [2024-08-01T17:13:50.944725 #137]  WARN -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Scoped order is ignored, it's forced to be batch order.
E, [2024-08-01T17:13:51.115312 #137] ERROR -- : [ActiveJob] [ProcessUploadedFileJob] [55d57d12-2cdf-422b-98f8-428c8daf65f0] Error performing ProcessUploadedFileJob (Job ID: 55d57d12-2cdf-422b-98f8-428c8daf65f0) from Sidekiq(default) in 177.65ms: Errno::EPERM (Operation not permitted @ apply2files - /libraries/Functional/Tea bag dispenser#238/rail_250.stl):
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `chmod'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/storage/file_system.rb:57:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:245:in `_upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:210:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:108:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:182:in `upload'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:171:in `promote'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:162:in `promote_cached'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/attacher.rb:145:in `finalize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:90:in `activerecord_after_save'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/plugins/activerecord.rb:43:in `block (2 levels) in included'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:448:in `block in make_lambda'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:264:in `block in conditional'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `block in invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `each'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:602:in `invoke_after'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:111:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:952:in `_run_commit_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:332:in `committed!'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:237:in `block in commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:263:in `run_action_on_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `commit_records'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:515:in `block in commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:503:in `commit_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:565:in `block in within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:212:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:314:in `transaction'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_association.rb:355:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/has_many_association.rb:147:in `_create_record'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/association.rb:207:in `create'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/associations/collection_proxy.rb:350:in `create'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:44:in `block (5 levels) in unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `chdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:42:in `block (4 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:161:in `each_entry'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:40:in `block (3 levels) in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/ffi-libarchive-1.1.14/lib/ffi-libarchive/reader.rb:9:in `open_filename'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:39:in `block (2 levels) in unzip'
/usr/local/lib/ruby/3.3.0/tmpdir.rb:99:in `mktmpdir'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:37:in `block in unzip'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `block in with_file'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine/uploaded_file.rb:126:in `download'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/shrine-3.6.0/lib/shrine.rb:140:in `with_file'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:36:in `unzip'
/usr/src/app/app/jobs/process_uploaded_file_job.rb:21:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:69:in `block in _perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/lib/i18n.rb:351:in `with_locale'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/translation.rb:9:in `block (2 levels) in <module:Translation>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/core_ext/time/zones.rb:65:in `use_zone'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/timezones.rb:9:in `block (2 levels) in <module:Timezones>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:68:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:32:in `_perform_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:52:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:13:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:40:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `block in instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:39:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/railties/job_runtime.rb:11:in `instrument'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/instrumentation.rb:26:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `block in perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `block in tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:39:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/tagged_logging.rb:135:in `tagged'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/broadcast_logger.rb:240:in `method_missing'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:25:in `tag_logger'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/logging.rb:18:in `perform_now'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:30:in `block in execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:67:in `block (4 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:88:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/railtie.rb:66:in `block (3 levels) in <class:Railtie>'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `instance_exec'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/execution.rb:28:in `execute'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activejob-7.1.3.4/lib/active_job/queue_adapters/sidekiq_adapter.rb:70:in `perform'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:220:in `execute_job'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:180:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job/interrupt_handler.rb:7:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:26:in `track'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/metrics/tracking.rb:126:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-failures-1.0.4/lib/sidekiq/failures/middleware.rb:9:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/middleware/chain.rb:173:in `invoke'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:118:in `local'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:16:in `block in call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:77:in `block in wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/execution_wrapper.rb:92:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/reloader.rb:74:in `wrap'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/rails.rb:15:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:281:in `stats'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:25:in `call'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_retry.rb:85:in `global'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:132:in `block in dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/job_logger.rb:52:in `prepare'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:131:in `dispatch'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:182:in `block in process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `handle_interrupt'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:181:in `process'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:86:in `process_one'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/processor.rb:76:in `run'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:10:in `watchdog'
/usr/src/app/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.0/lib/sidekiq/component.rb:19:in `block in safe_thread'
I, [2024-08-01T17:14:03.858390 #242]  INFO -- : [f8e05d18-e989-4c71-b567-750d07ccbb1d] {"method":"GET","path":"/admin/log","format":"html","controller":"Admin::LogController","action":"index","status":200,"allocations":20013,"duration":97.31,"view":69.37,"db":13.18,"@timestamp":"2024-08-01T17:14:03.858Z","@version":"1","message":"[200] GET /admin/log (Admin::LogController#index)"}
Floppy commented 4 months ago

Ah, right, OK - that makes a lot more sense. I'll look into it.

Floppy commented 4 months ago

Looks like a permission thing; it doesn't have access to set file permissions on the uploaded file, which is interesting if it's working for other files. Can you share your docker-compose config?

ToasterUwU commented 4 months ago

Yeah, and i dont know why it would have that issue, i specifically mount that smb share with 777 permissions, so read write execute for literally everyone.

version: "3"

services:
  app:
    restart: unless-stopped
    image: ghcr.io/manyfold3d/manyfold:latest
    ports:
      - 3214:3214
    volumes:
      - /mnt/Aki-home/Drive/STLs:/libraries
    environment:
      DATABASE_URL: postgresql://manyfold:password@db/manyfold?pool=5
      SECRET_KEY_BASE: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      REDIS_URL: redis://redis:6379/1
      PUID: 1000
      PGID: 1000
      # RAILS_RELATIVE_URL_ROOT: /vandam Sets the root of the app to /vandam useful for reverse proxies with nginx
    depends_on:
      - db
      - redis
    networks:
      - manyfold
    links:
      - db
      - redis

  db:
    restart: unless-stopped
    image: postgres:15
    volumes:
      - ./db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: manyfold
      POSTGRES_PASSWORD: password
    networks:
      - manyfold

  redis:
    restart: unless-stopped
    image: redis:7
    networks:
      - manyfold

networks:
  manyfold:
ToasterUwU commented 3 months ago

So.. any idea?

Floppy commented 3 months ago

2529 improves the error handling to fix the multiple models, and #2505 is on the list to do better permission checks to flag problems like the underlying cause of this one.