ちょっとまずいバグ報告No.18821
秀まるお2 さん 04/06/24 22:57
 
 nawaさんから報告いただいたバグを調べていたら、もっとまずいバグが見つか
ってしまいました。

 まず、バグを発生させる前提条件があります。「全般的な設定・フォルダ」の
 表示するフォルダ」中の「常に表示」の右側の4つのうちの1つでも、チェッ
クボックスをOFFにしてるのがある、という条件です。

 この状態で、「全般的な設定・上級者向け・デバッグ」の「リンク切れ添付フ
ァイル/HTMLメールの検索!」を実行すると、実際にはリンク切れになってない
添付ファイルがリンク切れ扱いになってリストアップされてしまいます。そのま
ま「全削除」を押すと本当に添付ファイルが無くなってしまいます。

 僕自身もそれで添付ファイルを半分くらい無くしてしまいました。

 ということで、そういう操作をしないようにご注意ください。

 先ほどアップロードしたV3.60β4にて修正されています。

  http://www.hidemaru.interlink.or.jp/software/bin/tk360b4.exe

 毎度お手数かけますが、よろしくお願いします。

[ ]
RE:18821 ちょっとまずいバグ報告No.18824
ぱと さん 04/06/24 23:29
 
秀まるお2 さん

鶴亀ユーザーのぱとと申します。

> まず、バグを発生させる前提条件があります。「全般的な設定・フォルダ」の
> 表示するフォルダ」中の「常に表示」の右側の4つのうちの1つでも、チェッ
>クボックスをOFFにしてるのがある、という条件です。
>
> この状態で、「全般的な設定・上級者向け・デバッグ」の「リンク切れ添付フ
>ァイル/HTMLメールの検索!」を実行すると、実際にはリンク切れになってない
>添付ファイルがリンク切れ扱いになってリストアップされてしまいます。そのま
>ま「全削除」を押すと本当に添付ファイルが無くなってしまいます。

今回判明したこのバグですが、どのあたりのバージョンから発生していたものか
判りますでしょうか?

それから、どういう条件の添付ファイルが、実際はリンク切れではないのにリン
ク切れという扱いになってしまっていたのでしょうか?

条件に当てはまる設定をし、この操作をしたことがあるので、気にかかっていま
す。ただし、その操作をした時に、リンク切れしていない添付ファイルが、リス
トアップされたというようなことは無かったように記憶していますが。

----
ぱと

[ ]
RE:18824 ちょっとまずいバグ報告No.18825
秀まるお2 さん 04/06/24 23:52
 
>今回判明したこのバグですが、どのあたりのバージョンから発生していたものか
>判りますでしょうか?

 未送信フォルダを非表示に出来るようにして、さらに、メール数が0になった
らすぐ非表示にするという仕様変更の時でして、今調べたら、V3.57β1からでし
た。

 なので、つい最近の話ってことにはなります。

 なぜそういうバグが出たのか説明すると、つまり、「バックアップのお手伝
い」の作業中にEscキーによる中断を検出するためにメッセージループが回って
まして、そのメッセージループ中に、非表示対象フォルダを実際に非表示にする
処理(タイマーで遅延実行する処理)が走ってしまい、運悪くその処理がバック
アップお手伝いで使ってるグローバル変数の1つを壊していたからということに
なりますが…。

 変数のスコープはなくべく狭くすべきという、典型的な悪例を出してしまった
ようです。

[ ]
RE:18825 ちょっとまずいバグ報告No.18826
ぱと さん 04/06/25 00:20
 
秀まるお さん

鶴亀ユーザーのぱとと申します。

> なので、つい最近の話ってことにはなります。

それでは、私の環境ではセーフでした。安心しました。業務上で、ある時点の
バージョンで保存しておきたいデータファイルを、メールの添付ファイルとして
保存するなんてことをやっているもので、今回のお話を読んだ時にはちょっと青
ざめました。

> 変数のスコープはなくべく狭くすべきという、典型的な悪例を出してしまった
>ようです。

インサイド鶴亀メール的なお話で興味深く説明を読ませていただきました。

----
ぱと

[ ]
RE:18821 ちょっとまずいバグ報告No.18827
nawa さん 04/06/25 09:22
 
> 先ほどアップロードしたV3.60β4にて修正されています。
>
>  http://www.hidemaru.interlink.or.jp/software/bin/tk360b4.exe
>
> 毎度お手数かけますが、よろしくお願いします。

nawaです。

上記をダウンロードして、早速試験してみました。
添付ファイル類が、移動されていることを確認しました。
(移動元には残っていない。前回の操作で残ってしまったものはどうしよう???)

で、2回ほど操作したのですが、またエラーが表示されました。
バックアップ動作自体は正常に動作しているもようです。
下記、dump.txtの内容を上げておきます。よろしくお願いします。

7171  0    DialogBox2() template=527
7173  14481 DialogBox2() exit
7129  0    バックアップ用のアカウントへメールの移動を開始します。よろしいで
すか?
7155  1392 MessgeBox2() exit
7171  0    DialogBox2() template=529
299   100  HmGeneral 53
8577  120  NotifyListCacheOffsetMoved


********** 04/06/25 09:17:11.222 3.60beta4  内部エラー、pTitle=1353192 offSt
art=1352320 offEnd=1352320 offStart2=1352320 offEnd2=1352320
FileMan.cpp(4029) error = 0
Current thread dump
eax=0A3B0000 ebx=0011C5AC ecx=0A3B0000 edx=00000000 esi=004F7A3E edi=00000FB
D ebp=0011C2E4 esp=0011C200 eip=77F94956
eip: C2 08 00 55 8B EC 81 EC 80 00 00 00
Stack Dump
77E6A9D0 FFFFFFFE 00000001 0011C2E4 004E06A4 00000000 00010007 BB2B0B00
008209A4 00000000 00000000 DD2A0000 BB2B0A0C 008209A2 BB2B0B20 80461084
80404758 FFFFFFFF BB2B0B30 8040E928 81225EC8 0050D410 BB2B0AEC 00000000
00000006 81178988 81178988 E45410F8 E45410D8 0082F000 00000000 00000002
00000001 0011C324 81225EC8 008209A2 00000000 818BFA00 815664E8 008209A2
00000000 00000000 0000003B 00000023 00000023 00000FBD 004F7A3E 0011C5AC
00000000 0A3B0000 0A3B0000 0011C2E4 77F94956 0000001B 00000246 0011C200
00000023 0011C2F4 004DBF49 FFFFFFFE 0050F378 0011C58C 004DBF26 0011C30C
FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Param#5  Param#6  Para
m#7  Param#8  Param#9  Param#10 MachineCode
0011C2F4 004DBF49 FFFFFFFE 0050F378 0011C58C 004DBF26 0011C30C 00000000 02EE
E34C 00000000 9495E093 89834783 6A 00 E8 DA 47 00 00 E8
0011C58C 004DBF26 0011C30C 00000000 02EEE34C 00000000 9495E093 89834783 4181
5B81 74695470 313D656C 31333533 5F 5E 5B C9 C2 0C 00 55
0011C6AC 0043FEB7 0011C5AC 004F7A2C 00000FBD 0014A5E8 02EEE238 02EEE34C 9495
E093 89834783 41815B81 74695470 33 C0 5F 5E 5B 8B E5 5D
0011C6C8 004A83FC 0014A280 0014A5E8 0014A5E8 02EEE238 00000000 0011C6E4 004A
94C5 02EEE238 0014A5E8 00000000 85 C0 89 45 0C 0F 84 E9
0011C6E4 004A94C5 02EEE238 0014A5E8 00000000 000607FC 00000000 0011C730 004A
5112 02EEE238 00000001 C0000000 E8 68 F6 FF FF 5E 5F 33
0011C730 004A5112 02EEE238 00000001 C0000000 0000019E 0068C780 C0000000 0000
019F 0068C780 00000001 0011C778 8B C3 5F 5E 5B 8B E5 5D
0011C750 77DE1EF0 000607FC 0000019E 00000000 00000001 0000019E DCBAABCD 0011
C780 77DE3523 004A4262 000607FC 81 7C 24 04 CD AB BA DC
0011C780 77DE3523 004A4262 000607FC 0000019E 00000000 00000001 00000000 0000
019E 77DE5FDA 000607FC 00005FD0 8B C8 A1 00 90 E3 77 F6
0011C7A0 77DE6015 0068C780 0000019E 00000000 00000001 00000001 000607FC 0011
C7C4 004A3515 000607FC 0000019E 5E 5D C2 10 00 33 C0 EB
0011C7C4 004A3515 000607FC 0000019E 00000000 00000001 00000000 00000002 0006
07FC 0011CA28 004B0869 000607FC 3B 35 44 3D 52 00 74 11
0011CA28 004B0869 000607FC 00000000 02EB2A68 00000002 02EEE238 0000001C 0000
001F 00000000 00000000 0000001A 85 F6 74 15 83 FE 07 74
0011CA60 004B0910 0374EE78 00000002 02EB2A68 00000000 0377C638 00000008 0000
0001 00000000 02EB2A68 00921270 5F 5E 5B 8B E5 5D C2 14
0011DCD8 004634BA 02EEE238 00000008 02EB2A68 00000000 00000000 00000113 0000
0000 0068C828 75DF672F 0012CED8 8B 45 E8 A3 48 3C 51 00
0011DCE4 00462F84 00000008 0011DD04 77DE1EF0 000707EA 00000113 00000064 0000
0000 00000000 DCBAABCD 0011DD40 6A 00 FF 35 70 43 52 00
0011DD04 77DE1EF0 000707EA 00000113 00000064 00000000 00000000 DCBAABCD 0011
DD40 77DF310E 00462F5A 000707EA 81 7C 24 04 CD AB BA DC
0011DD40 77DF310E 00462F5A 000707EA 00000113 00000064 00000000 0011DE50 0011
DE58 C0000000 00000064 00000000 8B 4D 08 B2 01 89 45 FC
0011DD78 77DF372A 000707EA 00000113 00000064 00000000 00000001 77DE1EF0 0007
07EA 00000113 00000064 00000000 C2 10 00 55 8B EC 83 EC
0011DE04 77DE204C 77DF3709 000707EA 00000113 00000064 00000000 0068C828 0011
DE50 00000002 0011DDA8 00000030 8B C8 A1 00 90 E3 77 F6
0011DE34 77DE21AF 0011DE50 00000000 77DF08FB 0011DE50 00000001 0068C828 0000
0000 00000000 00000011 0068C828 C2 04 00 B8 CB 11 00 00
0011DE70 77DF8189 000707EA 0068C828 000600D4 00000001 0000FFFF 000707EA 0000
0113 00000064 00000000 00251D6F 85 C0 0F 84 4F FF FF FF
0011DE94 77DF8012 000707EA 000600D4 00000001 00000001 0054F6A0 00400000 FFFF
FFFF 0011DEB4 77DF82C8 00400000 5F 5E 5B 5D C2 18 00 33
0011DEB4 77DF82C8 00400000 0054F6A0 00000000 00462F5A 00000000 00000003 0011
DEE0 77DF8586 00400000 0054F6A0 5D C2 18 00 55 8B EC 83
0011DEE0 77DF8586 00400000 0054F6A0 000600D4 00462F5A 00000000 00000002 0000
0111 0000007C 00000000 0011E000 56 57 8B D8 FF 15 68 91
0011E000 004DDBFD 00400000 00000211 000600D4 00462F5A 00000000 0000007C 6C61
6944 6F42676F 29283278 6D657420 68 05 1C 00 00 68 54 F9
0011E870 00463679 00000211 000600D4 00462F5A 0046FDC5 00000111 00000111 C000
0000 00000117 001E0333 00000000 FF 35 48 27 52 00 E8 4C
0011EA1C 004696E9 00009D1F 0011F324 0011F32C C0000000 77DE6261 005F87D8 0011
E994 00000000 00000001 00000001 E9 5B FF FF FF B8 20 01
0011EA38 0046CBD2 000600D4 00000111 00009D1F 00000000 0011F32C 0011EA58 77DE
1EF0 000600D4 00000111 00009D1F FF 75 14 8B F0 FF 75 10
0011EA58 77DE1EF0 000600D4 00000111 00009D1F 00000000 0011F32C DCBAABCD 0011
EAE4 77DE204C 0046CBA5 000600D4 81 7C 24 04 CD AB BA DC
0011EAE4 77DE204C 0046CBA5 000600D4 00000111 00009D1F 00000000 00000000 0000
0000 77E53A7B 00000033 00000010 8B C8 A1 00 90 E3 77 F6
0011F340 77DE5F69 0011F324 00000001 004D3A02 0011F324 00000000 00000000 0000
0000 00000000 00000000 00000000 C2 04 00 55 8B EC 8B 4D
0011FF34 004D31A3 0012EAE8 0012328C 7FFDF000 00000893 00000002 77E58529 0000
0054 00000000 00000000 00000000 83 4D FC FF E8 36 AA FD
0011FFC0 004E4C0F 00400000 00000000 0012328C 00000001 0012EAE8 00130600 7FFD
F000 E338E500 0012328C E338E550 89 45 A0 50 E8 F8 09 00
0011FFF0 77E61AF6 0012EAE8 00130600 7FFDF000 77F82A40 0011FFC8 77F82A40 FFFF
FFFF 77E5E597 77E61B00 00000000 E9 36 5B 02 00 90 90 90
00000000 00000000 004E4AD0 00000000 000000C8 00000100 EEFFEEFF 00000002 0000
0000 0000FE00 00400000 00002000


09:17:11.222 S 7081 00030266 007D FFFFFFF0 0011C75C
09:17:11.222 R 7106 00030266 007D FFFFFFF0 0011C75C
09:17:11.222 S 7081 00030266 007C FFFFFFF0 0011C75C
09:17:11.222 R 7106 00030266 007C FFFFFFF0 0011C75C
09:17:11.222 S 7081 00030266 007D FFFFFFF0 0011C75C
09:17:11.222 R 7106 00030266 007D FFFFFFF0 0011C75C
09:17:11.222 S 7663 0006018C 000C 00000000 00509AFC
09:17:11.222 R 7670 0006018C 000C 00000000 00509AFC
09:17:11.222 S 7663 0006018C 0464 00000000 00000000
09:17:11.222 R 7670 0006018C 0464 00000000 00000000
09:17:11.222 S 1205 0004028A 000C 00000000 0011C424
09:17:11.222 R 1212 0004028A 000C 00000000 0011C424
09:17:11.222 S 7663 0006018C 05F5 00000001 00000000
09:17:11.222 R 7670 0006018C 05F5 00000001 00000000
09:17:11.222 S 7545 000707B6 0282 0000000A 00000000
09:17:11.222 R 7567 000707B6 0282 0000000A 00000000
09:17:11.222 R 7569 000707B6 0282 0000000A 00000000
09:17:11.222 S 7545 000707B6 0282 0000000B 00000000
09:17:11.222 R 7567 000707B6 0282 0000000B 00000000
09:17:11.222 R 7569 000707B6 0282 0000000B 00000000
start=0014A280 end=0014A280
299   0    HmGeneral 49
13766 0    ReleaseMuteOther()
299   0    HmGeneral 50
9539  2784 ProcessFrameClose()
9626  0    DestroyWindowします
4724  0    WM_DESTROY
13641 0    MuteOther()
13680 0    CreateThreadAndViewFrame: waiting hevent OK
4732  0    ImeをOFFにしました
9628  10   DestroyWindowしました
13478 0    Hidemaru Message-loop exit
299   3105 HmGeneral 53
8083  2283 ProcessCommand 40038
6651  20   CListWnd::SetView size=3266
13641 0    MuteOther()
13680 0    CreateThreadAndViewFrame: waiting hevent OK
13307 0    HmCreate
2321  0    call WinMainSub
2321  10   FrameWndProc: WM_CREATE
2321  0    ClientWndProc: WM_CREATE
2321  0    return WinMainSub
13311 0    HmCreate return
299   0    HmGeneral 26
299   0    HmGeneral 23
299   0    HmGeneral 24
5566  0    InitOuterHidemaru
239   0    C:\My Documents2\TuruKameMail\nawa2\受信添付\040625_70\0212-27ky.doc
310   0    will SHGetFileInfo
313   10   done
299   0    HmGeneral 51
299   0    HmGeneral 38
299   0    HmGeneral 77
299   0    HmGeneral 10
299   10   HmGeneral 6
299   0    HmGeneral 51
299   0    HmGeneral 10
299   0    HmGeneral 51
299   0    HmGeneral 6
299   10   HmGeneral 35
299   0    HmGeneral 35
299   10   HmGeneral 51
299   10   HmGeneral 6
299   0    HmGeneral 49
299   0    HmGeneral 64
13546 20   CreateThreadAndViewFrame: waiting hevent OK
13619 0    CreateThreadAndViewFrame() normal exit
299   0    HmGeneral 49
13766 0    ReleaseMuteOther()
299   0    HmGeneral 50
9539  1843 ProcessFrameClose()
9626  0    DestroyWindowします
4724  0    WM_DESTROY
13641 10   MuteOther()
13680 0    CreateThreadAndViewFrame: waiting hevent OK
4732  0    ImeをOFFにしました
9628  0    DestroyWindowしました
13478 0    Hidemaru Message-loop exit
299   6029 HmGeneral 53
5340  1291 syscommand 61589
8083  1863 ProcessCommand 40223
7171  0    DialogBox2() template=527
7173  14481 DialogBox2() exit
7129  0    バックアップ用のアカウントへメールの移動を開始します。よろしいで
すか?
7155  1392 MessgeBox2() exit
7171  0    DialogBox2() template=529
299   100  HmGeneral 53
8577  120  NotifyListCacheOffsetMoved
299   3395 HmGeneral 77
299   0    HmGeneral 10
8456  0    status
8458  0    e-status
8463  0    folder
299   0    HmGeneral 77
299   0    HmGeneral 10



以上

[ ]
RE:18821 ちょっとまずいバグ報告No.18828
nawa さん 04/06/25 09:25
 
nawaです。

追加で、要望です。

(1)「移動」を指定した場合、元アカウントのフォルダも移動(削除)できませんでし
ょうか?
(2)移動先も、移動元と同じようなフォルダの並びになりませんでしょうか?現在は
降順?

よろしくお願いします。

以上

[ ]
RE:18827 ちょっとまずいバグ報告No.18830
秀まるお2 さん 04/06/25 09:32
 
 すみません。あれから既存アカウントへ移動するテストを何度か繰り返してバ
グが再現しないと安心してたんですけど、相変わらずダメですね。

 とにかく詳しく調べてなんとかエラーが出ないようにします。

[ ]
RE:18830 ちょっとまずいバグ報告No.18832
秀まるお2 さん 04/06/25 10:22
 
 バグの再現方法が分かって、今度こそ修正できました。毎度お手数かけてすみ
ません。

[ ]
RE:18828 ちょっとまずいバグ報告No.18833
秀まるお2 さん 04/06/25 10:27
 
> (1)「移動」を指定した場合、元アカウントのフォルダも移動(削除)できませんでし
> ょうか?

 一応、「バックアップ」の機能という意味では、元のフォルダが無くなったら
まずいような気がします。例えばフォルダが無くなると、そのフォルダへの振り
分け設定とかも無くなってしまうし、そもそもバックアップ対象にならなかった
メールもいっしょに削除されてしまいます。

 技術的にも、フォルダの削除を自動でやるというのは、またバグが出たらって
ことを考えると怖いです。

 フォルダの削除を手作業でやるのはたしかに面倒だとは思います。複数選択し
て一気に削除が出来ないし、削除した後のフォルダ枠のリフレッシュも遅いです。

> (2)移動先も、移動元と同じようなフォルダの並びになりませんでしょうか?現在は
> 降順?

 フォルダの並び順が変わってしまうのは、手抜きです。今直します。

[ ]