مشاكل أثناء التحديث من 3.0.3 إلى 3.0.4: خطأ 523

مرحباً!

لقد واجهت مشكلة أثناء محاولة ترقية تثبيتي باستخدام أداة launcher.

أحصل على خطأ 523 عندما تحاول حاوية البناء تغيير ملكية الصور التي تم تحميلها…

هل لديك أي أفكار؟

هذا هو السجل:

$ sudo ./launcher rebuild app
تم اكتشاف بنية x86_64.
تحذير: ملف containers/app.yml قابل للقراءة من قبل الجميع. يمكنك تأمين هذا الملف عن طريق تشغيل: chmod o-rwx containers/app.yml
التأكد من أن المشغل محدث
جلب الأصل
المشغل محدث
إيقاف الحاوية القديمة
+ /usr/bin/docker stop -t 600 app
app
2.0.20230502-0058: سحب من discourse/base
Digest: sha256:fa95da36c3d3a582d644b139ec678f5778d745697454bc86f598c689031aa
Status: الصورة محدثة لـ discourse/base:2.0.20230502-0058
docker.io/discourse/base:2.0.20230502-0058
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin

.....

تم التبديل إلى فرع جديد 'stable'
I, [2023-06-18T16:43:24.458070 #1]  INFO -- : تم إعداد الفرع 'stable' لتتبع الفرع البعيد 'stable' من 'origin'.

I, [2023-06-18T16:43:24.458386 #1]  INFO -- : 
I, [2023-06-18T16:43:24.469320 #1]  INFO -- : > cd /var/www/discourse & sudo -H -E -u discourse git config user.discourse-version stable
I, [2023-06-18T16:43:24.469386 #1]  INFO -- : 
I, [2023-06-18T16:43:24.472481 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp
I, [2023-06-18T16:43:24.472660 #1]  INFO -- : 
I, [2023-06-18T16:43:24.476232 #1]  INFO -- : > cd /var/www/discourse & chown discourse:www-data tmp
I, [2023-06-18T16:43:24.476303 #1]  INFO -- : 
I, [2023-06-18T16:43:24.479386 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp/pids
I, [2023-06-18T16:43:24.479449 #1]  INFO -- : 
I, [2023-06-18T16:43:24.482943 #1]  INFO -- : > cd /var/www/discourse & mkdir -p tmp/sockets
I, [2023-06-18T16:43:24.483012 #1]  INFO -- : 
I, [2023-06-18T16:43:24.486152 #1]  INFO -- : > cd /var/www/discourse & touch tmp/.gitkeep
I, [2023-06-18T16:43:24.486220 #1]  INFO -- : 
I, [2023-06-18T16:43:24.489788 #1]  INFO -- : > cd /var/www/discourse & mkdir -p                    /shared/log/rails
I, [2023-06-18T16:43:24.489954 #1]  INFO -- : 
I, [2023-06-18T16:43:24.495214 #1]  INFO -- : > cd /var/www/discourse & bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-06-18T16:43:24.495285 #1]  INFO -- : 
I, [2023-06-18T16:43:24.500211 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2023-06-18T16:43:24.500283 #1]  INFO -- : 
I, [2023-06-18T16:43:24.504652 #1]  INFO -- : > cd /var/www/discourse & bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-06-18T16:43:24.504738 #1]  INFO -- : 
I, [2023-06-18T16:43:24.512836 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-06-18T16:43:24.512942 #1]  INFO -- : 
I, [2023-06-18T16:43:24.518383 #1]  INFO -- : > cd /var/www/discourse & bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-06-18T16:43:24.518453 #1]  INFO -- : 
I, [2023-06-18T16:43:24.523090 #1]  INFO -- : > cd /var/www/discourse & bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-06-18T16:43:24.523195 #1]  INFO -- : 
I, [2023-06-18T16:43:24.523195 #1]  INFO -- : > cd /var/www/discourse & chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
chown: /shared/uploads/default/optimized/1X: خطأ غير معروف 523
chown: /shared/uploads/default/original/1X: خطأ غير معروف 523
I, [2023-06-18T16:43:41.385629 #1]  INFO -- : 


فشل
--------------------
Pups::ExecError: cd /var/www/discourse & chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp فشل مع العودة #<Process::Status: pid 135 exit 1>
موقع الفشل: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
فشل التنفيذ مع المعلمات {"cd"=>"$home", "hook"=>"code", "cmd"=>["sudo -H -E -u discourse git reset --hard", "sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [ $(git rev-parse --is-shallow-repository) == \"true\" ]; then\n      git remote set-branches --add origin main\n      git remote set-branches origin $version\n      git fetch --depth 1 origin $version\n  else\n      git fetch --tags --prune-tags --prune --force origin\n  fi\n'", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}
فشل التهيئة مع رمز الخروج 1
** فشل التهيئة ** يرجى التمرير لأعلى والبحث عن رسائل خطأ سابقة، قد يكون هناك أكثر من واحدة.
قد يساعد ./discourse-doctor في تشخيص المشكلة.
إعجابَين (2)

لا يمكنني العثور على أي شيء مفيد حول هذا الخطأ. ما هو توزيع نظام التشغيل والإصدار الخاص بك؟ ما نوع التخزين المستخدم للتحميلات؟

آمل أن تعرف بالفعل أن استخدام مسار “مستقر” هو تكتيك غير عادي - يعمل الجميع تقريبًا على مسار “tests-passed”. انظر
لماذا يقوم Discourse دائمًا بتثبيت إصدارات “تجريبية” افتراضيًا؟

هل تستخدم S3، وإذا كان الأمر كذلك، فهل تم تكوين اسم الحاوية الخاصة بك بشكل صحيح؟

ولكن لا ينبغي أن يفشل أكثر، لذا فهذا غير ذي صلة في رأيي؟

قد يُنظر إليه على أنه يفشل أقل، إذا كان عدد قليل جدًا من التثبيتات تستخدم الإصدار المستقر. أيضًا، أردت التأكد من أن @gmoirod على علم بالوضع - تخمين أن بعض الأشخاص الذين يشغلون الإصدار المستقر يقومون بتشغيله دون معرفة ما هو.

أتفهم ذلك. ولكن إذا كان تثبيته يفشل الآن، فتقديري هو أن الانتقال إلى 3.1.0beta5 سيزيد الأمر سوءًا بكثير. لذا دعنا نركز على المشكلة أولاً.

إعجاب واحد (1)

أقوم بتشغيل Discourse كحاويات دوكر فوق خادم Debian 11.
ملفاتي المحملة موجودة على مشاركة NFS مشتركة. كان هذا هو الحال دائمًا ولم أواجه هذه المشكلة من قبل.

نعم، رأيت عدة أشياء حول هذا… يجب أن أقوم بذلك يومًا ما…
أنا نوعًا ما من محبي Debian، كما تعلم. احتفظ بـ “stable” للإنتاج.

ها أنت ذا. وهل هذه المشاركة متاحة حاليًا من داخل الحاوية؟

حاويتي الحالية من Discourse 3.0.3 قيد التشغيل:

            {
                "Type": "bind",
                "Source": "/nfsdata/discourse-data-shared/uploads",
                "Destination": "/shared/uploads",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },

داخل الحاوية، تبدو الملكيات والحقوق جيدة

$ sudo docker exec app sh -c "ls -al /shared/uploads /shared/uploads/default/optimized/1X /shared/uploads/default/original/1X"
/shared/uploads:
total 4
drwxr-xr-x  2 discourse www-data    0 Jun 20 20:07 .
drwxr-xr-x 10 root      root     4096 Mar  8 16:29 ..
drwxr-xr-x  2 discourse www-data    0 Jun  8  2022 default
drwxr-xr-x  2 discourse www-data    0 Mar  8 17:34 tombstone

/shared/uploads/default/optimized/1X:
total 17094
drwxr-xr-x 2 discourse www-data      0 Mar 22 11:30 .
drwxr-xr-x 2 discourse www-data      0 Mar  8 16:18 ..
-rw-r--r-- 1 discourse www-data  54700 Mar  8 16:52 00964701d199ec0d6d3dd5269c842e1f0bb7e7a1_2_1035x456.png
-rw-r--r-- 1 discourse www-data    205 Mar  8 16:52 00964701d199ec0d6d3dd5269c842e1f0bb7e7a1_2_10x10.png
.....

/shared/uploads/default/original/1X:
total 17932
drwxr-xr-x 2 discourse www-data       0 Apr 23 11:42 .
drwxr-xr-x 2 discourse www-data       0 Jun  8  2022 ..
-rw-r--r-- 1 discourse www-data   35706 Nov 18  2022 00964701d199ec0d6d3dd5269c842e1f0bb7e7a1.png
-rwxr-xr-x 1 discourse www-data   17112 Jul  4  2022 00a82b03ffbcdf56e34f86adbec263e12573f49b.png

علاوة على ذلك، أنا قادر على تحميل صور جديدة في Discourse 3.0.3 قيد التشغيل

الدقة: ليس لدي SELinux/AppArmor مفعل

آمل ألا يكون هذا مرتبطًا :sob: #102728 - cvs: unknown error 523 - Debian Bug report logs

في الواقع، هذه ليست مشكلة في المستودع على NFS. إنها مشكلة
في دليل العميل المثبت على NFS.

تبين أن المشكلة هي خطأ NFS في نواة لينكس، لذا يمكنك
على الأرجح إغلاق هذه المشكلة.

أن كون شيء ما هو أفضل نتيجة في جوجل لا يعني أنه أفضل نتيجة.

التاريخ: الخميس، 28 يونيو 2001 20:03:01 UTC

هل يمكنك تشغيل chown من داخل الحاوية، أي تشغيل الأمر الفاشل يدويًا؟

sudo docker exec app sh -c "chown -R discourse:discourse /shared/uploads/default/optimized/1X"

أخشى أنني أستطيع (لقد صححت الأمر مقارنةً بما تم تنفيذه في البداية). …

$ docker exec -it app bash
app:/$ cd /var/www/discourse
app:/var/www/discourse$ chown -R discourse:www-data /shared/uploads
app:/var/www/discourse$ echo $?
0

استغرق الأمر وقتًا طويلاً ولكن لم يكن هناك خطأ.

هل هناك أي فرق في صورة docker التي تعمل في 3.0.3 وتلك المستخدمة لبناء الصورة في 3.0.4؟

إصدارات صور دوكر ليست مرتبطة بإصدارات ديسكورس. بالإضافة إلى ذلك، يعتمد الأمر على كيفية إعادة البناء التي قمت بها سابقًا، لذلك من الصعب تحديد ذلك.

صورة 3.0.3 الفعلية الخاصة بي تعطيني

# docker image inspect local_discourse/app | grep 'discourse/base'
            "Image": "discourse/base:2.0.20230409-0052",

والصورة التي بها خطأ استخدمت:

Status: Image is up to date for discourse/base:2.0.20230502-0058

سأقوم بالتحقق من الفرق :mag:

تباً!
لا أرى أي شيء متعلق بهذا: Comparing 3d317b7f58e8201912972afa3910b6c4b9ad8c75...main · discourse/discourse_docker · GitHub

حسنًا، هناك بالتأكيد مشكلة في الصورة الأساسية.
لقد أجبرت على استخدام discourse/base:2.0.20230409-0052 في المشغل وعملت بشكل رائع.

# git diff launcher
diff --git a/launcher b/launcher
index 3e1a1c4..8a989b8 100755
--- a/launcher
+++ b/launcher
@@ -92,7 +92,7 @@ kernel_min_version='4.4.0'
 config_file=containers/"$config".yml
 cidbootstrap=cids/"$config"_bootstrap.cid
 local_discourse=local_discourse
-image="discourse/base:2.0.20230502-0058"
+image="discourse/base:2.0.20230409-0052"
 docker_path=`which docker.io 2> /dev/null || which docker`
 git_path=`which git`

هل يمكن لأي شخص رؤية التغيير الذي تسبب في ذلك؟

صدق أو لا تصدق، لقد أعدت البناء مرة أخرى باستخدام discourse/base:2.0.20230502-0058 ونجحت… :man_shrugging:

إعجابَين (2)

لا مشكلة في تصديق حيل الكمبيوتر :upside_down_face:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.