# JSON::ParserError

unexpected end of input at line 1 column 1

- **Location:** app/models/concerns/user/github_syncable.rb:166
- **Occurred at:** 2026-05-20 02:06:14 UTC

## Backtrace

### Compact Trace

```
app/models/concerns/user/github_syncable.rb:166:in 'block in User::GithubSyncable::ClassMethods#github_graphql_request'
app/models/concerns/user/github_syncable.rb:156:in 'Integer#times'
app/models/concerns/user/github_syncable.rb:156:in 'User::GithubSyncable::ClassMethods#github_graphql_request'
app/models/concerns/user/github_syncable.rb:70:in 'User::GithubSyncable::ClassMethods#batch_sync_github_data!'
app/models/concerns/user/github_syncable.rb:79:in 'User::GithubSyncable::ClassMethods#batch_sync_github_data!'
app/jobs/update_github_data_job.rb:14:in 'block in UpdateGithubDataJob#perform'
app/jobs/update_github_data_job.rb:13:in 'UpdateGithubDataJob#perform'
```

### Full Trace

```
/usr/local/bundle/ruby/4.0.0/gems/json-2.19.3/lib/json/common.rb:355:in 'JSON::Ext::Parser.parse'
/usr/local/bundle/ruby/4.0.0/gems/json-2.19.3/lib/json/common.rb:355:in 'JSON.parse'
/rails/app/models/concerns/user/github_syncable.rb:166:in 'block in User::GithubSyncable::ClassMethods#github_graphql_request'
/rails/app/models/concerns/user/github_syncable.rb:156:in 'Integer#times'
/rails/app/models/concerns/user/github_syncable.rb:156:in 'User::GithubSyncable::ClassMethods#github_graphql_request'
/rails/app/models/concerns/user/github_syncable.rb:70:in 'User::GithubSyncable::ClassMethods#batch_sync_github_data!'
/rails/app/models/concerns/user/github_syncable.rb:79:in 'User::GithubSyncable::ClassMethods#batch_sync_github_data!'
/rails/app/jobs/update_github_data_job.rb:14:in 'block in UpdateGithubDataJob#perform'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:172:in 'block in ActiveRecord::Batches#find_in_batches'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:475:in 'block in ActiveRecord::Batches#batch_on_unloaded_relation'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:434:in 'Kernel#loop'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:434:in 'ActiveRecord::Batches#batch_on_unloaded_relation'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:289:in 'ActiveRecord::Batches#in_batches'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/relation/batches.rb:171:in 'ActiveRecord::Batches#find_in_batches'
/rails/app/jobs/update_github_data_job.rb:13:in 'UpdateGithubDataJob#perform'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/gems/rorvswild-1.11.1/lib/rorvswild/plugin/active_job.rb:20:in 'block in RorVsWild::Plugin::ActiveJob.around_perform'
/usr/local/bundle/ruby/4.0.0/gems/rorvswild-1.11.1/lib/rorvswild/agent.rb:105:in 'RorVsWild::Agent#measure_job'
/usr/local/bundle/ruby/4.0.0/gems/rorvswild-1.11.1/lib/rorvswild/plugin/active_job.rb:14:in 'RorVsWild::Plugin::ActiveJob.around_perform'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activerecord/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/usr/local/bundle/ruby/4.0.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/railtie.rb:93:in 'block (4 levels) in <class:Railtie>'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/railtie.rb:92:in 'block (3 levels) in <class:Railtie>'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activejob/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/usr/local/bundle/ruby/4.0.0/gems/solid_queue-1.4.0/app/models/solid_queue/claimed_execution.rb:104:in 'SolidQueue::ClaimedExecution#execute'
/usr/local/bundle/ruby/4.0.0/gems/solid_queue-1.4.0/app/models/solid_queue/claimed_execution.rb:66:in 'SolidQueue::ClaimedExecution#perform'
/usr/local/bundle/ruby/4.0.0/gems/solid_queue-1.4.0/lib/solid_queue/pool.rb:23:in 'block (2 levels) in SolidQueue::Pool#post'
/usr/local/bundle/ruby/4.0.0/bundler/gems/rails-a0da6b991a1c/activesupport/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/usr/local/bundle/ruby/4.0.0/gems/solid_queue-1.4.0/lib/solid_queue/app_executor.rb:7:in 'SolidQueue::AppExecutor#wrap_in_app_executor'
/usr/local/bundle/ruby/4.0.0/gems/solid_queue-1.4.0/lib/solid_queue/pool.rb:22:in 'block in SolidQueue::Pool#post'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/promises.rb:1593:in 'Concurrent::Promises::AbstractPromise#evaluate_to'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/promises.rb:1776:in 'block in Concurrent::Promises::ChainPromise#on_resolvable'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/usr/local/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
```

## Context

| Key | Value |
|-----|-------|
| job | #<UpdateGithubDataJob:0x00007e01e8c0afb8> |

## Environment

| Variable | Value |
|----------|-------|
| os | Linux 6.8.0-106-generic |
| cwd | /rails |
| pid | 39 |
| host | whyruby.info-1a9c2d0bc983 |
| ruby | ruby 4.0.1 (2026-01-13 revision e04267a14b) +YJIT +PRISM [x86_64-linux] |
| rails | 8.2.0.alpha |
| revision | 52a23b1a3a2dc0c2ebc3e12cb7a33d0698be4084 |


[View on RoRvsWild ↗](https://www.rorvswild.com/applications/136539/errors/88983414)