【バグ報告】添付ファイルフィールドを追記するとDBが壊れる

36 views
Skip to first unread message

飯嶋浩光

unread,
Dec 27, 2013, 8:47:09 AM12/27/13
to starbug...@googlegroups.com
はじめまして。いいじまと申します。
最近になってStarbug1を使い始めた者です。

さて、次の手順でプロジェクトを作成し、チケットを登録すると、
データベースが丸ごと壊れてしまい、追記不能になります。

1.サブプロジェクトタイプ「TODO」でプロジェクトを作る。
2.デフォルトに存在しない「添付ファイル」型の項目を追加する。
3.適宜、添付ファイルなしのチケットを投入する。
4.添付ファイルつきのチケットを投入する。
5.そのチケットを表示すると、表示不能になっている。

エラーメッセージは、「全添付ファイル」欄に次のように出ています。

Status: 500 Starbug1 Internal Error. Content-Type: text/html
ERROR oops!
ERROR OCCURED.m(_ _)m
detail information

[dbutil.c(645)] failed to dbaccess.
if you are setting up Starbug1 now, check environment.

「check environment」のリンクをたどっても、特に何もエラーは出ていません。

システム環境は、
FreeBSD sodans.usata.org 9.2-RELEASE-p1 FreeBSD 9.2-RELEASE-p1 #0 r257990:
Tue Nov 12 19:42:43 JST 2013
shi...@sodans.usata.org:/usr/obj/usr/src/sys/KERNEL_SODANS  i386
で、Starbug1のコンパイルコマンドは
  # env MAKE=gmake make static webapp
です。

壊れたデータベースファイルの提供も可能ですので、ご用命ください。

以上、よろしくお願いします。

smeghead

unread,
Dec 30, 2013, 3:15:16 AM12/30/13
to starbug...@googlegroups.com
はじめましてsmegheadです。

返信が遅れてすいませんでした。
バグ報告ありがとうございます。
再現手順のとおりに問題が再現しました。
調査しますので、すいませんがしばらくおまちください。


2013年12月27日金曜日 22時47分09秒 UTC+9 飯嶋浩光:

smeghead

unread,
Dec 30, 2013, 4:04:32 AM12/30/13
to starbug...@googlegroups.com
いいじまさん
smegheadです。

以前element_fileというテーブルのスキーマにdeletedというカラムを追加する修正をしました。
それに合わせてサブプロジェクトのテンプレート生成のsql文も合わせて修正する必要があったのですが、
修正が漏れていました。

今後作成するサブプロジェクトでの問題を修正するには、
starbug1を配置しているディレクトリ内の、template/ja_JP/todo.template と template/ja_JP/qa.template ファイル
に、以下の修正をして下さい。
修正のdiffです。

また、既に作成済のサブプロジェクトの問題を修正するには、dbファイルに対して以下のコマンドを実行することで
問題を修正することができます。

cd <starbug1のインストールディレクトリ>/db
echo 'alter table element_file add column deleted int default 0;' | sqlite3 2.db

最初に作成されるサブプロジェクトのDBが 2.db で
次に作成されるサブプロジェクトのDBが 3.db です。
サブプロジェクトに対応するDBを調べるには、トップからプロジェクトの管理を開き、
プロジェクト一覧を確認すると該当のDBのファイル名がわかります。

上記を試してみて下さい。
よろしくお願いします。



2013年12月30日月曜日 17時15分16秒 UTC+9 smeghead:

IIJIMA Hiromitsu

unread,
Dec 30, 2013, 7:41:50 AM12/30/13
to starbug...@googlegroups.com
smegheadさま

いいじまでございます。

> 以前element_fileというテーブルのスキーマにdeletedというカラムを
> 追加する修正をしました。
> それに合わせてサブプロジェクトのテンプレート生成のsql文も合わせて
> 修正する必要があったのですが、修正が漏れていました。
>
> 今後作成するサブプロジェクトでの問題を修正するには、
> starbug1を配置しているディレクトリ内の、template/ja_JP/todo.template と
> template/ja_JP/qa.template ファイルに、以下の修正をして下さい。
> 修正のdiffです。
> https://github.com/smeghead/starbug1/commit/f41a7ef088745982e990c4ddc06b765e6affc635

やってみました。
これで新規のプロジェクトでは不具合が起きないことを確認いたしました。

> また、既に作成済のサブプロジェクトの問題を修正するには、
> dbファイルに対して以下のコマンドを実行することで
> 問題を修正することができます。
>
> cd <starbug1のインストールディレクトリ>/db
> echo 'alter table element_file add column deleted int default 0;' |
> sqlite3 2.db

無事できました。問題の起きないサブプロジェクトとか、修正済みの
サブプロジェクトとかにこのSQLを適用すると、
% sqlite3 12.db < ~/Build/starbug1-fix/20131230/qa\&todo_fix.sql
Error: near line 1: duplicate column name: deleted
ときちんとエラーになりました。

ありがとうございました。

P.S.
新規発見ですが、サブプロジェクトIDに半角の'?'を入れてしまった場合
(「fixed?」というIDで試していました)、項目追加のあとでエラーに
なります。クライアント環境は Windows XP (32bit) + Firefox です。
当分は運用で何とかしますので、次回リリースの際にでも何か対策して
いただければと思います。

>> はじめましてsmegheadです。
>>
>> 返信が遅れてすいませんでした。
>> バグ報告ありがとうございます。
>> 再現手順のとおりに問題が再現しました。
>> 調査しますので、すいませんがしばらくおまちください。
>>
>>> はじめまして。いいじまと申します。
>>> 最近になってStarbug1を使い始めた者です。
>>>
>>> さて、次の手順でプロジェクトを作成し、チケットを登録すると、
>>> データベースが丸ごと壊れてしまい、追記不能になります。
>>>
>>> 1.サブプロジェクトタイプ「TODO」でプロジェクトを作る。
>>> 2.デフォルトに存在しない「添付ファイル」型の項目を追加する。
>>> 3.適宜、添付ファイルなしのチケットを投入する。
>>> 4.添付ファイルつきのチケットを投入する。
>>> 5.そのチケットを表示すると、表示不能になっている。
>>>
>>> エラーメッセージは、「全添付ファイル」欄に次のように出ています。
>>>
>>> Status: 500 Starbug1 Internal Error. Content-Type: text/html
>>> ERROR oops!
>>> ERROR OCCURED.m(_ _)m
>>> detail information
>>>
>>> [dbutil.c(645)] failed to dbaccess.
>>> if you are setting up Starbug1 now, check environment.

========================================================================
(Mr.) IIJIMA Hiromitsu aka Delmonta <delm...@dennougedougakkai-ndd.org>
飯嶋 浩光 / でるもんた・いいじま ; (任同)電脳外道学会 代表取締役椅子人
------------------------------------------------------------------------
Web (Japanese): http://www.dennougedougakkai-ndd.org/
  Twitter: @delmonta_iijima, #放送大学
Yahoo! Japan: delmonta_iijima
------------------------------------------------------------------------
総統閣下はスマホにお怒りのようです:
http://www.youtube.com/watch?v=CmQWQwGsU_M
========================================================================

Reply all
Reply to author
Forward
0 new messages