مرحباً،
أنا أحاول حالياً تحديث مثيل DEV لدينا إلى أحدث إصدار تجريبي (Beta 7)، قادمًا من الإصدار التجريبي 2.
يعمل النظام على الفرع الافتراضي tests-passed.
مشكلتي هي أن إعادة بناء الحاوية (container) تنتهي بمشكلة اتصال (أعتقد أنها مع GitHub):
I, [2025-07-28T12:35:19.480463 #1] INFO -- : استبدال postgres بـ if [ -f /root/install_postgres ]; then
/root/install_postgres
rm /root/install_postgres
fi
sv start postgres || exit 1
في /etc/service/unicorn/run
I, [2025-07-28T12:35:19.480838 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-07-28T12:35:19.511065 #1] INFO -- :
I, [2025-07-28T12:35:19.511112 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
set -o errexit
if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
git remote set-branches --add origin main
git remote set-branches origin tests-passed
git fetch --depth 1 origin tests-passed
else
git fetch --tags --prune-tags --prune --force origin
fi
'
error: RPC failed; curl 56 Recv failure: Connection reset by peer
error: 44 bytes of body are still expected
fatal: expected flush after ref listing
I, [2025-07-28T12:37:22.158398 #1] INFO -- :
I, [2025-07-28T12:37:22.158628 #1] INFO -- : إنهاء العمليات غير المتزامنة
الاتصال العام على المضيف (Host) يعمل بشكل جيد بخلاف ذلك. إذا قمت بمسح ذاكرة التخزين المؤقت لبناء Docker قبل تنفيذ ./launcher rebuild app، يمكنني رؤية أنه يقوم فعلياً بسحب أحدث إصدار، وسحب جميع صور الحاويات وما إلى ذلك، لكنه يفشل بعد ذلك:
مخرجات طويلة من stdout
I, [2025-07-28T12:19:42.269421 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
set -o errexit
if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
git remote set-branches --add origin main
git remote set-branches origin tests-passed
git fetch --depth 1 origin tests-passed
else
git fetch --tags --prune-tags --prune --force origin
fi
'
من https://github.com/discourse/discourse
- [حُذِف] (none) --> origin/dependabot/bundler/nokogiri-1.18.9
- [حُذِف] (none) --> origin/dependabot/bundler/playwright-ruby-client-1.54.0
- [حُذِف] (none) --> origin/dependabot/bundler/propshaft-1.2.0
- [حُذِف] (none) --> origin/dependabot/npm_and_yarn/babel-plugin-ember-template-compilation-3.0.0
- [حُذِف] (none) --> origin/dependabot/npm_and_yarn/glob-11.0.3
- [حُذِف] (none) --> origin/dependabot/npm_and_yarn/playwright-1.54.1
- [حُذِف] (none) --> origin/dev/decorate-quote-collapsed-content-properly
- [حُذِف] (none) --> origin/dev/extract-invite-guardian
- [حُذِف] (none) --> origin/dev/mt/discourse-category-custom-fields
- [حُذِف] (none) --> origin/dev/mt/discourse-group-users
- [حُذِف] (none) --> origin/dev/mt/discourse-groups
- [حُذِف] (none) --> origin/dev/mt/discourse-muted-users
- [حُذِف] (none) --> origin/dev/mt/requires-set
- [حُذِف] (none) --> origin/dev/no-more-widgets
- [حُذِف] (none) --> origin/dev/use-themeable-site-settings-horizon
- [حُذِف] (none) --> origin/enable-new-topic-btn-on-restricted-category
- [حُذِف] (none) --> origin/feature-admin-filter-controls
- [حُذِف] (none) --> origin/feature/enable-rich-editor-for-all
- [حُذِف] (none) --> origin/filtermagic
- [حُذِف] (none) --> origin/fix/mt/log-failed-downloads
- [حُذِف] (none) --> origin/fix/translated-badge-title
- [حُذِف] (none) --> origin/layout-container-dev
- [حُذِف] (none) --> origin/loic-upgrade-rails-8.0
- [حُذِف] (none) --> origin/media-convert-job
- [حُذِف] (none) --> origin/merge-sso-destination-url-cookie-with-destination-url-cookie
- [حُذِف] (none) --> origin/mt/set_store
- [حُذِف] (none) --> origin/pento/dev-flag-reason-tests
- [حُذِف] (none) --> origin/playwright-1.53
- [حُذِف] (none) --> origin/refactor-color-palette
- [حُذِف] (none) --> origin/remove-suspended-and-deleted-users-from-leaderboard
- [حُذِف] (none) --> origin/rollup-theme-experiment
- [حُذِف] (none) --> origin/ux-editor-toolbar-mobile-scroll
- [حُذِف] (none) --> origin/ux/sidebar-show-messages-count
43ddd4ef3..ea5b5b6c0 main --> origin/main
* [فرع جديد] 0-a-depr-html-safe --> origin/0-a-depr-html-safe
* [فرع جديد] 0-a-tabs --> origin/0-a-tabs
* [فرع جديد] add-composer-mention-warnings --> origin/add-composer-mention-warnings
187f13d67..8d4a86f25 add-plugin-outlet-wrapper-to-login-template --> origin/add-plugin-outlet-wrapper-to-login-template
* [فرع جديد] ai_default_llm --> origin/ai_default_llm
* [فرع جديد] content-border-color --> origin/content-border-color
+ 51077ac74...088f149a6 dependabot/bundler/excon-1.2.8 --> origin/dependabot/bundler/excon-1.2.8 (تحديث قسري)
+ 36699b311...e3f5c2d0d dependabot/bundler/jwt-3.1.2 --> origin/dependabot/bundler/jwt-3.1.2 (تحديث قسري)
* [فرع جديد] dependabot/bundler/octokit-10.0.0 --> origin/dependabot/bundler/octokit-10.0.0
* [فرع جديد] dependabot/bundler/stripe-15.3.0 --> origin/dependabot/bundler/stripe-15.3.0
+ def825f3f...b5a5f3924 dependabot/bundler/web-push-3.0.2 --> origin/dependabot/bundler/web-push-3.0.2 (تحديث قسري)
* [فرع جديد] dependabot/bundler/zendesk_api-3.1.1 --> origin/dependabot/bundler/zendesk_api-3.1.1
+ f4d832ec8...5aa0145f3 dependabot/npm_and_yarn/embroider-0ad991d471 --> origin/dependabot/npm_and_yarn/embroider-0ad991d471 (تحديث قسري)
* [فرع جديد] dependabot/npm_and_yarn/fortawesome/fontawesome-free-7.0.0 --> origin/dependabot/npm_and_yarn/fortawesome/fontawesome-free-7.0.0
* [فرع جديد] dependabot/npm_and_yarn/jspreadsheet-ce-5.0.3 --> origin/dependabot/npm_and_yarn/jspreadsheet-ce-5.0.3
* [فرع جديد] dependabot/npm_and_yarn/lint-fda1ac657e --> origin/dependabot/npm_and_yarn/lint-fda1ac657e
+ e46dc3798...d3420e3eb dependabot/npm_and_yarn/prosemirror-f8434604ae --> origin/dependabot/npm_and_yarn/prosemirror-f8434604ae (تحديث قسري)
* [فرع جديد] dependabot/npm_and_yarn/puppeteer-core-24.15.0 --> origin/dependabot/npm_and_yarn/puppeteer-core-24.15.0
+ 4bcbc028d...03b9759db dev-floatkit-autocomplete-d-editor --> origin/dev-floatkit-autocomplete-d-editor (تحديث قسري)
+ ea5bba76a...03b9759db dev-floatkit-autocomplete-d-editor-qa --> origin/dev-floatkit-autocomplete-d-editor-qa (تحديث قسري)
* [فرع جديد] dev/decorate-cooked-state --> origin/dev/decorate-cooked-state
56e6c9ae1..11c480f88 dev/no-more-widgets-smoke-test --> origin/dev/no-more-widgets-smoke-test
* [فرع جديد] dev/post-keep-detail-state --> origin/dev/post-keep-detail-state
* [فرع جديد] dev/prevent-rerenderings --> origin/dev/prevent-rerenderings
* [فرع جديد] dev/remove-redundant-staff-check-6 --> origin/dev/remove-redundant-staff-check-6
1f3bbee91..00dfb95b1 dev/try-fix-flakys-tss --> origin/dev/try-fix-flakys-tss
* [فرع جديد] dual-mode-palettes-wip --> origin/dual-mode-palettes-wip
* [فرع جديد] feature/color-mode-preference --> origin/feature/color-mode-preference
* [فرع جديد] feature/type-upload-in-type-objects --> origin/feature/type-upload-in-type-objects
* [فرع جديد] feature/use-current-user-tz-instead-of-guess-local-dates --> origin/feature/use-current-user-tz-instead-of-guess-local-dates
* [فرع جديد] filter-tips-dmenu-martinwip --> origin/filter-tips-dmenu-martinwip
* [فرع جديد] filter-updates --> origin/filter-updates
* [فرع جديد] fix-color-palette-dark --> origin/fix-color-palette-dark
* [فرع جديد] fix/missing-user-custom-preferences-outlet-class-in-connector --> origin/fix/missing-user-custom-preferences-outlet-class-in-connector
* [فرع جديد] improve_no_database_error_patch --> origin/improve_no_database_error_patch
* [فرع جديد] improve_pg_adapter_new_client_error --> origin/improve_pg_adapter_new_client_error
* [فرع جديد] loic-pitchfork --> origin/loic-pitchfork
* [فرع جديد] messages-dropdown-d-menu --> origin/messages-dropdown-d-menu
* [فرع جديد] my-pref-lang --> origin/my-pref-lang
* [فرع جديد] notification-panel-refactor --> origin/notification-panel-refactor
* [فرع جديد] pinned-dmenu --> origin/pinned-dmenu
* [فرع جديد] rollup-plugin-experiment --> origin/rollup-plugin-experiment
* [فرع جديد] rollup-theme-experiment-cross-theme-import --> origin/rollup-theme-experiment-cross-theme-import
* [فرع جديد] samsaffron/codex/convert-filter-tips-to-use-dmenu --> origin/samsaffron/codex/convert-filter-tips-to-use-dmenu
8cb90072e..710d9fd41 sandbox/design-1 --> origin/sandbox/design-1
1f97cf422..aa2fb29fa sandbox/dev-xp-1 --> origin/sandbox/dev-xp-1
817a743cb..3428acddc sandbox/member-xp-1 --> origin/sandbox/member-xp-1
+ d182efe6f...a0aba00c7 sandbox/member-xp-2 --> origin/sandbox/member-xp-2 (تحديث قسري)
* [فرع جديد] source-identify-modulepreload --> origin/source-identify-modulepreload
+ 9aa6daa1f...c56258634 split-login-admin-settings --> origin/split-login-admin-settings (تحديث قسري)
a83bd0f67..41e1152f6 stable --> origin/stable
+ 293de3a75...e31549885 temp-user-creation-debug-logging --> origin/temp-user-creation-debug-logging (تحديث قسري)
43ddd4ef3..ea5b5b6c0 tests-passed --> origin/tests-passed
* [فرع جديد] theme-upload-cleanup --> origin/theme-upload-cleanup
* [فرع جديد] translations-from-crowdin-main --> origin/translations-from-crowdin-main
+ 9f8fd9214...c3562ed3a translations-from-crowdin-stable --> origin/translations-from-crowdin-stable (تحديث قسري)
+ 4ffab7134...e211b4a55 unicode-mentions-in-composer-rte --> origin/unicode-mentions-in-composer-rte (تحديث قسري)
* [فرع جديد] ux-footer-button-squish --> origin/ux-footer-button-squish
* [فرع جديد] ux-horizon-discotoc --> origin/ux-horizon-discotoc
* [فرع جديد] ux-unify-appearance-filters --> origin/ux-unify-appearance-filters
b0c2d83ec..045aefecb ux/horizon-mobile-composer --> origin/ux/horizon-mobile-composer
* [فرع جديد] ux/sidebar-my-messages-enhancements --> origin/ux/sidebar-my-messages-enhancements
+ 28d11bbd0...6f7d9e816 variable-additions-2 --> origin/variable-additions-2 (تحديث قسري)
39d2564ba..57dcfda6a vite-squashed-rebased --> origin/vite-squashed-rebased
I, [2025-07-28T12:19:43.174876 #1] INFO -- :
I, [2025-07-28T12:19:43.174943 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
set -o errexit
if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
git pull
else
git -c advice.detachedHead=false checkout tests-passed
fi
'
error: RPC failed; curl 56 Recv failure: Connection reset by peer
error: 5470 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
fatal: could not fetch bff89c0762e874ec88d553d89901dbda4fa89f20 from promisor remote
I, [2025-07-28T12:23:50.121438 #1] INFO -- :
أثناء محاولة السحب من GitHub، لا أرى أي نشاط على الإطلاق على المضيف في htop.
تفاصيل المضيف: آلة افتراضية Proxmox تعمل بنظام Debian 11، 4 أنوية، 12 جيجابايت من الذاكرة. يوجد وفرة من الذاكرة الحرة أثناء إعادة البناء، لذا لا ينبغي أن تكون المشكلة متعلقة بالذاكرة.
السيرفر مستضاف في ألمانيا، لذا لا ينبغي أن يكون هناك أي شيء يمنع الوصول إلى GitHub.
لقد وجدت أن:
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
تشير إلى مهلة زمنية (timeout)، على سبيل المثال عندما يكون الاتصال بطيئًا جدًا. فحص سرعة الاتصال يظهر حوالي 890 ميجابايت/ثانية في الرفع والتنزيل. التخزين كله من نوع NVMe، لذا لا أرى أي سبب للمهلة الزمنية في هذه الخطوة.
لقد جربت مسح جميع ذاكرة التخزين المؤقت لبناء Docker، وتحديث نظام المضيف أولاً إلى أحدث الحزم، وإعادة التشغيل، وحتى نقله إلى عقدة مختلفة في المجموعة لاستبعاد وجود مضيف معيب كسبب للمشكلة.
كاد أن أنسى الإشارة إلى: عند التوجه إلى لوحة الإدارة (Admin Panel)، أحصل على معلومات مفادها أنني لست على أحدث إصدار، لكن النقر على Click here to update يؤدي إلى خطأ:
Server-Error
while loading /admin/docker/repos
Errorcode: 502 error
يمكنني رؤية أخطاء المهلة الزمنية هناك أيضًا:
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:128:in `block in wait_poll'
<internal:kernel>:187:in `loop'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:117:in `wait_poll'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:78:in `internal_poll'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:204:in `internal_poll'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:73:in `block in poll'
/usr/local/lib/ruby/3.3.0/monitor.rb:201:in `synchronize'
/usr/local/lib/ruby/3.3.0/monitor.rb:201:in `mon_synchronize'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:82:in `synchronize'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:73:in `poll'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:868:in `acquire_connection'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:564:in `checkout'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
activerecord-7.2.2.1/lib/active_record/transactions.rb:410:in `with_transaction_returning_status'
activerecord-7.2.2.1/lib/active_record/transactions.rb:366:in `save!'
activerecord-7.2.2.1/lib/active_record/suppressor.rb:56:in `save!'
activerecord-7.2.2.1/lib/active_record/persistence.rb:55:in `create!'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:128:in `process_queue'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'
و
excon-1.2.5/lib/excon/socket.rb:386:in `select_with_timeout'
excon-1.2.5/lib/excon/socket.rb:258:in `rescue in read_nonblock'
excon-1.2.5/lib/excon/socket.rb:228:in `read_nonblock'
excon-1.2.5/lib/excon/socket.rb:89:in `block in readline'
<internal:kernel>:187:in `loop'
excon-1.2.5/lib/excon/socket.rb:78:in `readline'
excon-1.2.5/lib/excon/response.rb:73:in `block in parse'
<internal:kernel>:187:in `loop'
excon-1.2.5/lib/excon/response.rb:72:in `parse'
excon-1.2.5/lib/excon/middlewares/response_parser.rb:7:in `response_call'
excon-1.2.5/lib/excon/connection.rb:472:in `response'
excon-1.2.5/lib/excon/connection.rb:297:in `request'
/var/www/discourse/lib/discourse_updates.rb:136:in `new_features_payload'
/var/www/discourse/app/jobs/scheduled/check_new_features.rb:24:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'
أنا حقاً نفذت من الأفكار هنا. لقد جربت زيادة موارد النظام، لكن إضافة المزيد من الأنوية أو الذاكرة لا يغير شيئاً، فالخطأ مستمر.
لقد جربت أيضاً زيادة git http.postBuffer، والآن يتعطل لفترة أطول قليلاً قبل الفشل.
آمل أن يكون لدى شخص ما فكرة، حيث لم أستطع العثور على أي خيوط أو منشورات أخرى حول هذا النوع من الأخطاء.
شكراً!