バグ:シナリオフォルダ操作にまつわるエラー

Issue #1029 new
ルンバ created an issue

Version : 5.0 Alpha 2 (64-bit) / 2021-03-05 23:05:13

このところ「2py専用」という分別用フォルダが「張り紙を見る」ウインドウで表示されないので、「設定」からシナリオのデータベース構築を行ってみました。
その後に「張り紙を見る」をクリックしたところカード色がネガ反転はしたものの「張り紙を見る」ウインドウは開かずエンジンが無反応になったのでPyエンジンを終了したら出たエラーがこれです。

※後で気づいて関係は不明ですが、この課題内の一連の作業中に同時にNEXTエンジンも起動しており「張り紙を見る」ウインドウを表示したまま放置していました。
 (NEXTもPyも、1.50エンジンフォルダ内のシナリオフォルダのショートカットを引用しており「2py専用」もその1.50エンジンのシナリオフォルダ内に所在)

DateTime: 2021-03-09 17:24:04
Traceback (most recent call last):
File ".\cw\frame.py", line 932, in OnSCENARIOSELECT
File ".\cw\dialog\scenarioselect.py", line 339, in init
File ".\cw\dialog\scenarioselect.py", line 1397, in set_selected
File ".\cw\dialog\scenarioselect.py", line 2132, in draw
File ".\cw\dialog\scenarioselect.py", line 2359, in _draw_impl
AssertionError

以下はその後も「張り紙を見る」ウインドウで表示されない「2py専用」フォルダをエクスプローラーで開いて、Pyの「張り紙を見る」ウインドウの「シナリオとフォルダの操作」から別に作ったフォルダへまとめてドラッグした際のエラーです。
以下のエラー内に出ているシナリオはその際ゴミ箱へ移動された(「シナリオのインストールに成功したら元ファイルを削除する」はON)「2py専用」フォルダの中に残っていたシナリオ群でした。

DateTime: 2021-03-09 17:28:26
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'G:/CW/CardWirth/Scenario/2py専用/TheGhostShipFromTheNo6Room_Wsn.2.wsn' -> 'G:/CW/CardWirth/Scenario/TheGhostShipFromTheNo6Room_Wsn.2.wsn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 632, in _install
File "C:\Program Files\Python38\lib\shutil.py", line 802, in move
File "C:\Program Files\Python38\lib\shutil.py", line 432, in copy2
File "C:\Program Files\Python38\lib\shutil.py", line 261, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'G:/CW/CardWirth/Scenario/2py専用/TheGhostShipFromTheNo6Room_Wsn.2.wsn'

Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'G:/CW/CardWirth/Scenario/2py専用/BloodWirth/血の微睡み.wsn' -> 'G:/CW/CardWirth/Scenario/01Py専用/BloodWirth/血の微睡み.wsn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 632, in _install
File "C:\Program Files\Python38\lib\shutil.py", line 802, in move
File "C:\Program Files\Python38\lib\shutil.py", line 432, in copy2
File "C:\Program Files\Python38\lib\shutil.py", line 261, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'G:/CW/CardWirth/Scenario/2py専用/BloodWirth/血の微睡み.wsn'

Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'G:/CW/CardWirth/Scenario/2py専用/mapwalker/mapwalker.wsn' -> 'G:/CW/CardWirth/Scenario/01Py専用/mapwalker/mapwalker.wsn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 632, in _install
File "C:\Program Files\Python38\lib\shutil.py", line 802, in move
File "C:\Program Files\Python38\lib\shutil.py", line 432, in copy2
File "C:\Program Files\Python38\lib\shutil.py", line 261, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'G:/CW/CardWirth/Scenario/2py専用/mapwalker/mapwalker.wsn'

Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'G:/CW/CardWirth/Scenario/2py専用/BloodWirth/Folder.bmp' -> 'G:/CW/CardWirth/Scenario/01Py専用/BloodWirth/Folder.bmp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 715, in _install_files
File "C:\Program Files\Python38\lib\shutil.py", line 802, in move
File "C:\Program Files\Python38\lib\shutil.py", line 432, in copy2
File "C:\Program Files\Python38\lib\shutil.py", line 261, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'G:/CW/CardWirth/Scenario/2py専用/BloodWirth/Folder.bmp'

Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'G:/CW/CardWirth/Scenario/2py専用/mapwalker/Readme.txt' -> 'G:/CW/CardWirth/Scenario/01Py専用/mapwalker/Readme.txt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 715, in _install_files
File "C:\Program Files\Python38\lib\shutil.py", line 802, in move
File "C:\Program Files\Python38\lib\shutil.py", line 432, in copy2
File "C:\Program Files\Python38\lib\shutil.py", line 261, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'G:/CW/CardWirth/Scenario/2py専用/mapwalker/Readme.txt'

こちらはその後、ゴミ箱から戻した「2py専用」フォルダ内のシナリオを新フォルダへドラッグした後のエラーです。

「別のプロセスが使用中です」に該当するのが何かは、エクスプローラーでシナリオフォルダを開いてもいたし、ファイル検索アプリの「Everything」で「Py専用」を検索してそれに表示されていたりもしたので、特定ができません。この時点ではNEXTは終了させていたと思いますが。

DateTime: 2021-03-09 18:04:13
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\shutil.py", line 788, in move
PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。: 'G:/CW/CardWirth/Scenario/2py専用' -> 'G:/CW/CardWirth/Scenario/2py専用/2py専用'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File ".\cw\dialog\scenarioinstall.py", line 632, in _install
File "C:\Program Files\Python38\lib\shutil.py", line 796, in move
shutil.Error: Cannot move a directory 'G:/CW/CardWirth/Scenario/2py専用' into itself 'G:/CW/CardWirth/Scenario/2py専用/2py専用'.

Traceback (most recent call last):
File ".\cw\frame.py", line 932, in OnSCENARIOSELECT
File ".\cw\dialog\scenarioselect.py", line 339, in init
File ".\cw\dialog\scenarioselect.py", line 1397, in set_selected
File ".\cw\dialog\scenarioselect.py", line 2132, in draw
File ".\cw\dialog\scenarioselect.py", line 2359, in _draw_impl
AssertionError

Comments (4)

  1. k4nagatsuki repo owner

    ご報告ありがとうございます。

    最初のエラーログの内容からしてフォルダ構造や初期フォルダ設定など何らかの要因で「2py専用」というフォルダの種類が検索結果に誤認されて表示されてなくなっているのではないかと思うのですが、その構造が分かりません。

    差し支えない程度でフォルダ構造を教えていただくか、再現可能な状況・パターンを調べていただけないでしょうか。

  2. ルンバ reporter

    シナリオファオルダを作ったり消したり試しても再現はしないのですが、そういった作業の後にPyを終了した際にシナリオフォルダ操作関連らしきエラーログが残っていました。

    何かのついででミーティアのフォルダの位置を動かした覚えはあるのですが、ちょっとそれ以上に何があったか記憶にないのですが。

    Version : 5.0 Alpha 2 (64-bit) / 2021-03-05 23:05:13
    DateTime: 2021-03-13 20:52:22
    Traceback (most recent call last):
    File ".\cw\dialog\scenarioinstall.py", line 632, in _install
    File "C:\Program Files\Python38\lib\shutil.py", line 786, in move
    shutil.Error: Destination path 'G:/CW/CardWirth/Scenario/level_08-10/彗星都市ミーティア\彗星都市ミーティア' already exists

  3. k4nagatsuki repo owner

    フォルダの移動に先がすでに存在するので移動できなかったというエラーログです。

    シナリオのインストール中にそのインストール先にフォルダを動かしたのではないでしょうか?

  4. ルンバ reporter

    そうではなかったです。

    思い返してみて時系列でこんな感じだったかと思います。?部は記憶が怪しいところです。
    (操作はPyの「シナリオとフォルダの操作ウインドウ」で行って、Windowsのエクスプローラー使用時は特記)

    まずミーティアは親フォルダ「彗星都市ミーティア」に「彗星都市ミーティア」と「冒険者の宿にて…」Folder.bmp&ReadMe.txt、が入っていますが、
    未整理フォルダにあったミーティアを親フォルダごと町シナフォルダへ移動しようとした。
    途中で「元シナリオを削除できません」的な表示が出た?
    町シナフォルダへ移動されたミーティアには同包の「冒険者の宿にて…」が無かった。
    それは元の未整理フォルダに残っていた。Folder.bmp&ReadMe.txtも?

    ここでミーティア(含む「冒険者の宿にて…」)は既にLV帯でわけてるフォルダにもあった事に気付く。(覚えがあいまいだが「元シナリオを削除できません」的な表示が出た?時点で重複警告が出ていたのではないかと思います)

    未整理フォルダに残っていた親フォルダ(含む「冒険者の宿にて…」)を削除した。これはエクスプローラーを使ったかも?

    このあたりで一旦Pyを終了
    ※エラーログはこれ以前のタイミングだと思います。

    ↓ここからは以前の報告以後の事です

    町シナフォルダへ移動されたミーティアも親フォルダごと消そうとするが消えない。
    数回繰り返したが消えないので他のフォルダに移動してみた。
    移動できたので移動先で消したらちゃんと消えた。

    「2py専用」フォルダも複数のシナリオが入った親フォルダだったし、親フォルダごと「シナリオとフォルダの操作」から別フォルダへまとめて移動した際のエラーが起きたあたりは共通しているようです。(「2py専用」フォルダ移動の際も移動元・移動先に子フォルダが別れた状態になったような気もしますがあいまいです)

    何分あいまいだらけなので、以後複数フォルダの移動時に注視しまた何かわかりましたらお知らせします。

  5. Log in to comment