dawarich
dawarich copied to clipboard
Cannot import gpx file
OS & Hardware Arch Linux server
Version 0.24.1
Describe the bug Cannot import gpx file exported form umap (openstreetmaps). the gpx file is made of points.
To Reproduce Steps to reproduce the behavior:
- Go to umap openstreemap website
- export and download a map
- create a gpx import on dawarich
- import fails
Expected behavior The import should create points on dawarich
Logs
Import "tirana (1).gpx" failed: undefined method '[]' for nil, stacktrace: /var/app/app/services/gpx/track_parser.rb:26:in 'Gpx::TrackParser#parse_track' /var/app/app/services/gpx/track_parser.rb:18:in 'block in Gpx::TrackParser#call' /var/app/app/services/gpx/track_parser.rb:18:in 'Array#map' /var/app/app/services/gpx/track_parser.rb:18:in 'Gpx::TrackParser#call' /var/app/app/services/imports/create.rb:12:in 'Imports::Create#call' /var/app/app/models/import.rb:17:in 'Import#process!' /var/app/app/jobs/import_job.rb:10:in 'ImportJob#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 ' /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 ' /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 ' /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 ' /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'
Additional context dawarich is running on docker and is working good
here it is
Dawarich needs timestamp for each point in order to create it, your file doesn't have timestamps