/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/pod update
I've updated project to use CDN jsDelivr (added source to Podfile and updated .lock). Then call pod update
Update of my pods.
I've got error message. It can be reproduced with pod outdated too...
CocoaPods : 1.7.2
Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
RubyGems : 3.0.3
Host : Mac OS X 10.14.5 (18F132)
Xcode : 10.2.1 (10E1001)
Git : git version 2.22.0
Ruby lib dir : /Users/anton/.rvm/rubies/ruby-2.6.3/lib
Repositories :
cocoapods-deintegrate : 1.0.4
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-stats : 1.1.0
cocoapods-trunk : 1.3.1
cocoapods-try : 1.1.0
source "https://cdn.jsdelivr.net/cocoa/"
platform :ios, '12.0'
supports_swift_versions '>= 4.2'
use_frameworks!
inhibit_all_warnings!
target 'Project' do
pod 'SnapKit', '~> 5.0'
pod 'Bond', '~> 7.5'
pod 'ReactiveKit', '~> 3.12'
pod 'Moya', '~> 13.0'
pod 'Alamofire', '~> 4.8'
pod 'OAuthSwift', '~> 2.0'
pod 'ModelMapper', '~> 10.0'
pod 'Validator', '~> 3.0'
pod 'R.swift', '~> 5.0'
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'Firebase/Messaging'
pod 'Fabric'
pod 'Crashlytics'
end
fatal - No live threads left. Deadlock?
201 threads, 201 sleeps current:0x00007fbc0278b930 main thread:0x00007fbbffe05ba0
* #<Thread:0x00007fbc00860010 sleep_forever>
rb_thread_t:0x00007fbbffe05ba0 native:0x00000001195605c0 int:0
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `sleep'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `ns_wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb:84:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb:75:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-core-1.7.2/lib/cocoapods-core/cdn_source.rb:61:in `preheat_existing_files'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-core-1.7.2/lib/cocoapods-core/cdn_source.rb:219:in `update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:93:in `block (2 levels) in update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/user_interface.rb:64:in `section'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:92:in `block in update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:91:in `each'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:91:in `update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:140:in `block in update_repositories'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:138:in `each'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:138:in `update_repositories'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:217:in `block in resolve_dependencies'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/user_interface.rb:64:in `section'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:216:in `resolve_dependencies'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:156:in `install!'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/command/update.rb:62:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/command.rb:52:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/bin/pod:55:in `<top (required)>'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/pod:23:in `load'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/pod:23:in `<main>'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/ruby_executable_hooks:24:in `eval'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/ruby_executable_hooks:24:in `<main>'
* #<Thread:0x00007fbc01943008@/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
rb_thread_t:0x00007fbc04d11850 native:0x000070000e52a000 int:0
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `pop'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `block (3 levels) in create_worker'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
* #<Thread:0x00007fbc01942838@/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
rb_thread_t:0x00007fbc04d33e90 native:0x000070000e62d000 int:0
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `pop'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `block (3 levels) in create_worker'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
* #<Thread:0x00007fbc01941dc0@/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
...
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `sleep'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:46:in `ns_wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb:84:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb:75:in `wait'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-core-1.7.2/lib/cocoapods-core/cdn_source.rb:61:in `preheat_existing_files'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-core-1.7.2/lib/cocoapods-core/cdn_source.rb:219:in `update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:93:in `block (2 levels) in update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/user_interface.rb:64:in `section'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:92:in `block in update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:91:in `each'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/sources_manager.rb:91:in `update'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:140:in `block in update_repositories'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:138:in `each'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer/analyzer.rb:138:in `update_repositories'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:217:in `block in resolve_dependencies'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/user_interface.rb:64:in `section'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:216:in `resolve_dependencies'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:156:in `install!'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/command/update.rb:62:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/lib/cocoapods/command.rb:52:in `run'
/Users/anton/.rvm/gems/ruby-2.6.3@project/gems/cocoapods-1.7.2/bin/pod:55:in `<top (required)>'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/pod:23:in `load'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/pod:23:in `<main>'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/ruby_executable_hooks:24:in `eval'
/Users/anton/.rvm/gems/ruby-2.6.3@project/bin/ruby_executable_hooks:24:in `<main>'
This is happening to me as well, running pod outdated with jsDelivr, and was occurring in 1.7.0 and 1.7.1 too. I was just about to open an issue when I saw that this one was just opened.
I've just found interesting workaround for my case. I've added to Podfile pod 'Firebase' and all works!
But w/o CDN I had no this issue. At this moment I'm far away from fast internet, so CDN the only chance for me.
Looks like CDN has some problems with not explicit dependencies (like Firebase).
UPDATE. It works not stable... 2 calls to pod outdated gives 2 different results. Success then fail (
cc @igor-makarov
This seems to be what I was talking about in Core#551.
I've manually integrated patch above. So, now I have much better error description. I have errors like
[!] CDN: jsdelivr-cocoa Relative path couldn't be downloaded: Specs/3/6/0/Crashlytics/3.8.5/Crashlytics.podspec.json, error: execution expired
or
[!] CDN: jsdelivr-cocoa Repo update failed - 2 error(s):
CDN: jsdelivr-cocoa Relative path couldn't be downloaded: Specs/0/3/5/Firebase/2.1.0/Firebase.podspec.json, error: execution expired
CDN: jsdelivr-cocoa Relative path couldn't be downloaded: Specs/1/f/6/SnapKit/0.13.0/SnapKit.podspec.json, error: execution expired
So, looks like it's always network issue. I don't know is it CDN-specific issue or my internet issue (it's actually bad at this moment)...
@igor-makarov should we add retries? are those intermittent network issues?
This occurs with https://cdn.cocoapods.org/ as well.
@dnkoutso It's not a network issue, the code spawns too many threads.
As for retries, I thought about it but didn't reach any solid opinions.
I’ve tried to add patch to cocoapods-downloader. In http.rb I’ve modified retry count to 5 and added connect-timeout as 300s.
This way I’ve got stable behaviour. But I’m not sure, that it’s valid solution. What is more it can be random success due to current internet state... I’ll try to investigate it today.
@igor-makarov from what @Toshik1978 mentions though https://github.com/CocoaPods/Core/pull/551 does not seem to fully fix the issue. Am I understanding it right?
@dnkoutso as I was saying, there's the thread exhaustion issue which happens regardless of network, and there's the question of retries which needs to be discussed separately.
It seems two things are getting mixed in one issue.
Yeap, IMHO @igor-makarov is right. With integrated fix I’ve got much more useful error reporting. And this error gives me information about reason of pod failing - execution timeout. And this issue should be fixed separately.
Sounds good I will ship 1.7.3 with the fix in the following few days (hopefully tomorrow)
Merged the PR.
Issue still exists in 1.7.4 release(xx/xx/.rvm/gems/ruby-2.6.3/gems/cocoapods-1.7.4/lib/cocoapods.rb). The following is stack info,
Resolving dependencies of Podfile
CDN: jsdelivr-cocoa Relative path couldn't be downloaded: all_pods_versions_3_6_2.txt Response: 404
The jsDelivr URL is no longer supported or maintained. Please use the official URL at https://cdn.cocoapods.org/.
For more info: https://blog.cocoapods.org/CocoaPods-1.7.2/
@igor-makarov thanks a lot, it works. And you save me more time, thanks again!
[!] CDN: cocoapods- Relative path couldn't be downloaded: Specs/0/3/5/Firebase/3.15.0/Firebase.podspec.json Response: 503
Got this error
We just added retries for this https://github.com/CocoaPods/Core/pull/573
This will definitely work for you.
https://github.com/CocoaPods/CocoaPods/issues/9319#issuecomment-561249605