history not available
OS & Hardware iPhone 15 Pro, iOS 18.4.1
Version Dawarich iOS App 1.1 Dawarich Server 0.25.4 / 0.25.5
Describe the bug At the beginning of April, I installed version 0.25.4 on the server (runs on a Synology NAS). After that, the problem occurred that container dawarich_sidekiq restarted every 2 minutes. This problem was fixed with version 0.25.5. However, in the period 08.04-20.04 the data in the WebGUI is missing. I can open the map in the iOS app at this time and the points are displayed. I have pressed the “Upload now” button several times but nothing changes. Is there a kind of backup or how can I transfer the points from the smartphone to the server?
iOS
WebGUI
Have same issue.
Thought it has to do something with automatic upload, so tried manually. After that works I upload from time to time and it worked.
This morning I manually uploaded yesterdays data but it doesn’t show up in the webview and points table.
However, in the iOS app the data is there.
Although I have a „backup“ tracker, is there a chance to somehow extract the missing data and import them?
Happy to help with testing if needed.
Please provide logs from both dawarich_sidekiq and dawarich_app containers
Currently away on the road, hence bit handicapped, which files do you need exactly?
logs from the mentioned docker containers
Hi @Freika,
I observed the same issue, in the mobile app all points are uploaded and also the tracks are shown in the maps view. However, since 2025-04-19 no points appear on the website.
I found something in the dawarich_sidekiq log:
Line 2025-05-01T18:20:29.430512 is broken into multiple lines for readability. It seems that these are the missing points, as indicated by the timestamp (I removed all except one point in this line, as the line was multiple 100.000 chars long. The one point is a random coordinate to not dox myself).
E, [2025-05-01T18:20:29.398296 #97] ERROR -- : Error performing Points::CreateJob (Job ID: 0ceb9973-aa81-4db4-b58c-1487463e385e) from Sidekiq(default) in 205.35ms: ActiveRecord::StatementInvalid (PG::CardinalityViolation: ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
):
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in 'PG::Connection#exec'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:556:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:1011:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:983:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:555:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:1129:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:554:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:591:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:547:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_exec_query'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:177:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_insert_all'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:27:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#exec_insert_all'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/insert_all.rb:54:in 'ActiveRecord::InsertAll#execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/insert_all.rb:13:in 'block in ActiveRecord::InsertAll.execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:418:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/connection_handling.rb:310:in 'ActiveRecord::ConnectionHandling#with_connection'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/insert_all.rb:12:in 'ActiveRecord::InsertAll.execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/relation.rb:911:in 'ActiveRecord::Relation#upsert_all'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/querying.rb:24:in 'ActiveRecord::Querying#upsert_all'
/var/app/app/jobs/points/create_job.rb:10:in 'block in Points::CreateJob#perform'
/var/app/app/jobs/points/create_job.rb:9:in 'Array#each'
/var/app/app/jobs/points/create_job.rb:9:in 'Enumerable#each_slice'
/var/app/app/jobs/points/create_job.rb:9:in 'Points::CreateJob#perform'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:120:in 'block in ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.7/lib/i18n.rb:353:in 'I18n::Base#with_locale'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/translation.rb:9:in 'block (2 levels) in <module:Translation>'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'BasicObject#instance_exec'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/timezones.rb:9:in 'block (2 levels) in <module:Timezones>'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'BasicObject#instance_exec'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:140:in 'ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/instrumentation.rb:32:in 'ActiveJob::Instrumentation#_perform_job'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/railties/job_runtime.rb:13:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/instrumentation.rb:40:in 'block in ActiveJob::Instrumentation#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/instrumentation.rb:39:in 'ActiveJob::Instrumentation#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.1/lib/active_record/railties/job_runtime.rb:11:in 'ActiveRecord::Railties::JobRuntime#instrument'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/logging.rb:41:in 'ActiveJob::Logging#tag_logger'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:120:in 'block in ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/railtie.rb:95:in 'block (4 levels) in <class:Railtie>'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/railtie.rb:94:in 'block (3 levels) in <class:Railtie>'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'BasicObject#instance_exec'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/callbacks.rb:140:in 'ActiveSupport::Callbacks#run_callbacks'
/var/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.0.1/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/active_job/queue_adapters/sidekiq_adapter.rb:10:in 'Sidekiq::ActiveJob::Wrapper#perform'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:220:in 'Sidekiq::Processor#execute_job'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:185:in 'block (4 levels) in Sidekiq::Processor#process'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:180:in 'Sidekiq::Middleware::Chain#traverse'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/job/interrupt_handler.rb:9:in 'Sidekiq::Job::InterruptHandler#call'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/metrics/tracking.rb:26:in 'Sidekiq::Metrics::ExecutionTracker#track'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/metrics/tracking.rb:134:in 'Sidekiq::Metrics::Middleware#call'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/middleware/chain.rb:173:in 'Sidekiq::Middleware::Chain#invoke'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:184:in 'block (3 levels) in Sidekiq::Processor#process'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:145:in 'block (6 levels) in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/job_retry.rb:118:in 'Sidekiq::JobRetry#local'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:144:in 'block (5 levels) in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/rails.rb:16:in 'block in Sidekiq::Rails::Reloader#call'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/rails.rb:15:in 'Sidekiq::Rails::Reloader#call'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:139:in 'block (4 levels) in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:281:in 'Sidekiq::Processor#stats'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:134:in 'block (3 levels) in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/job_logger.rb:15:in 'Sidekiq::JobLogger#call'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:133:in 'block (2 levels) in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/job_retry.rb:85:in 'Sidekiq::JobRetry#global'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:132:in 'block in Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/job_logger.rb:40:in 'Sidekiq::JobLogger#prepare'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:131:in 'Sidekiq::Processor#dispatch'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:183:in 'block (2 levels) in Sidekiq::Processor#process'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:182:in 'Thread.handle_interrupt'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:182:in 'block in Sidekiq::Processor#process'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:181:in 'Thread.handle_interrupt'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:181:in 'Sidekiq::Processor#process'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:86:in 'Sidekiq::Processor#process_one'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/processor.rb:76:in 'Sidekiq::Processor#run'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/component.rb:10:in 'Sidekiq::Component#watchdog'
/var/app/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.8/lib/sidekiq/component.rb:19:in 'block in Sidekiq::Component#safe_thread'
I, [2025-05-01T18:20:29.418470 #97] INFO -- : fail
W, [2025-05-01T18:20:29.430512 #97] WARN -- : {"context":"Job raised exception","job":{"retry":true,"queue":"default","wrapped":"Points::CreateJob","args":
[{"job_class":"Points::CreateJob","job_id":"0ceb9973-aa81-4db4-b58c-1487463e385e","provider_job_id":null,"queue_name":"default","priority":null,"arguments":[
{"locations":[{"type":"Feature","geometry":{"coordinates":[15,40]"type":"Point","_aj_hash_with_indifferent_access":true},"properties":{"vertical_accuracy":-1,"course":-1,"altitude":0,"speed":-1,"speed_accuracy":-1,"course_accuracy":-1,"timestamp":"2025-04-23T20:36:39Z","device_id":"73D3A89E-4FC2-486D-BAFC-374C4712FDA3","horizontal_accuracy":1414,"track_id":"5BD490C0-80DE-4460-AD46-3FDC6155E743","_aj_hash_with_indifferent_access":true},"_aj_hash_with_indifferent_access":true}
,2],"executions":0,"exception_executions":{},"locale":"en","timezone":"Europe/Berlin","enqueued_at":"2025-04-25T05:39:11.969471313Z","scheduled_at":null}, ...],
"class":"ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper","jid":"180d48c93698b5816e031e87","created_at":1745559551.9695904,"enqueued_at":1746123629.1541734,
"error_message":"PG::CardinalityViolation: ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time\nHINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.\n",
"error_class":"ActiveRecord::StatementInvalid","failed_at":1745559554.608989,"retry_count":19,"retried_at":1745993150.140622}}
W, [2025-05-01T18:20:29.431260 #97] WARN -- : ActiveRecord::StatementInvalid: PG::CardinalityViolation: ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
W, [2025-05-01T18:20:29.431821 #97] WARN -- : app/jobs/points/create_job.rb:10:in 'block in Points::CreateJob#perform'
app/jobs/points/create_job.rb:9:in 'Array#each'
app/jobs/points/create_job.rb:9:in 'Enumerable#each_slice'
app/jobs/points/create_job.rb:9:in 'Points::CreateJob#perform'
The dawarich_app log only contains successful http requests, I don't think it contains relevant information. Note: I am running dawarich 0.24.1 as I just returned from vacation and didn't have time to update.
The starting date of the issue seems to be the date were the app was updated to allow for automatic upload.
I hope this helps you find the issue. If required I can assist you with further logs/information and testing.
Best regards
walli545