Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

sonames error when updating

オープン
#342 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
django, postgresql, python
領域
backend, databases

調査の方向性

devel/management/commands/readlinks.py の read_links と Soname.objects.bulk_create から始め、次に readlinks_inotify.py と archweb_inotify.py を通じて callback を追跡します。更新を再現して packages の外部キー関係を調査します。完了の条件は、報告された IntegrityError なしで更新が完了することです。

索引モデルが issue の本文から書いたものです。

説明

Apr 28 21:26:51 gemini.archlinux.org python[117262]: Traceback (most recent call last):
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/backends/base/base.py", line 242, in _commit
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     return self.connection.commit()
Apr 28 21:26:51 gemini.archlinux.org python[117262]: psycopg2.errors.ForeignKeyViolation: insert or update on table "main_soname" violates foreign key constraint "main_soname_pkg_id_6ff0ad5b_fk_packages_id"
Apr 28 21:26:51 gemini.archlinux.org python[117262]: DETAIL:  Key (pkg_id)=(550173) is not present in table "packages".
Apr 28 21:26:51 gemini.archlinux.org python[117262]: The above exception was the direct cause of the following exception:
Apr 28 21:26:51 gemini.archlinux.org python[117262]: Traceback (most recent call last):
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     self.run()
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     self._target(*self._args, **self._kwargs)
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/devel/management/commands/archweb_inotify.py", line 76, in run
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     self.callback_func(self.arch, self.path, {})
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/devel/management/commands/readlinks_inotify.py", line 22, in wrapper_read_links
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     read_links(filepath)
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/devel/management/commands/readlinks.py", line 98, in read_links
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     Soname.objects.bulk_create(sonames)
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     return getattr(self.get_queryset(), name)(*args, **kwargs)
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/models/query.py", line 523, in bulk_create
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     obj_without_pk._state.db = self.db
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/transaction.py", line 246, in __exit__
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     connection.commit()
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     return func(*args, **kwargs)
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/backends/base/base.py", line 266, in commit
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     self._commit()
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/backends/base/base.py", line 242, in _commit
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     return self.connection.commit()
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     raise dj_exc_value.with_traceback(traceback) from exc_value
Apr 28 21:26:51 gemini.archlinux.org python[117262]:   File "/srv/http/archweb/env/lib/python3.9/site-packages/django/db/backends/base/base.py", line 242, in _commit
Apr 28 21:26:51 gemini.archlinux.org python[117262]:     return self.connection.commit()
Apr 28 21:26:51 gemini.archlinux.org python[117262]: django.db.utils.IntegrityError: insert or update on table "main_soname" violates foreign key constraint "main_soname_pkg_id_6ff0ad5b_fk_packages_id"
Apr 28 21:26:51 gemini.archlinux.org python[117262]: DETAIL:  Key (pkg_id)=(550173) is not present in table "packages".
主要言語
JavaScript
スター
393
フォーク
157
平均マージ
3日 22時間
マージ済み PR(30日)
5

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

archlinux/archweb のほかの issue

archlinux/archweb の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。