Update 2~10: spreadsheet系の処理で読み込んだファイルがロックされ、削除ができない問題のカスタムパッチ

2023/8 追加
この不具合は Update 6~10でも修正されていません。この不具合に該当される場合は、Update 10を適用した後、新規にこのパッチを適用する場合は下記の手順にて、Update 2~9の環境で本パッチを適用した後にUpdate 10を適用した際は、こちらの
【注意1】の内容に沿って本パッチを再選択してください

2022/10 追加
この不具合は Update 5では修正されていません。この不具合に該当される場合は、Update 5の
参考情報ページ【注意2】に記載された内容に沿って、本カスタムパッチを適用し動作をご確認ください
ColdFusion 2021 アップデート 5 についての参考情報

2022/5 追加
この不具合は Update 4では修正されていません。Update 4でこの問題に遭遇した場合は、下記の手順でパッチを適用してください(Update 3やUpdate 2で既にこのカスタムパッチを適用済みの場合は、Update 4でもカスタムパッチは維持されますので再度の適用は必要ありません)

2022/1 追加
この不具合は Update 3では修正されていません。Update 3でこの問題に遭遇した場合は、下記の手順でパッチを適用してください(Update 2で既にこのカスタムパッチを適用済みの場合は、Update 3でもカスタムパッチは維持されますので再度の適用は必要ありません)

ColdFusion 2021では、spreadsheet系の処理でxlsやxlsxファイルを読み込んだ際、対象のファイルをロックしてしまい、読み込んだ後にファイルを削除しようとすると「他のプロセスで使用中のためファイルを削除できない」エラーが発生し、削除できない問題が確認されています。

この不具合は、Update 2にて部分的に修正されました(CF-4211229: cfspreadsheetで query属性を使用した読み込み処理を行った場合、ファイルを削除できない)。ですが、cfspreadsheetでname属性を使用してファイルを読み込んだ場合や、IsSpreadsheetFile関数を使用した場合にファイルがロックされ続け削除が行えない問題が引き続き発生していました。

開発元にて、この問題に対するカスタムパッチが公開されました。カスタムパッチは、パッケージマネージャーの機能を利用して、Updateの提供とは別に該当するパッケージのみ新しいバージョンを適用するものです。開発元からパッケージマネージャーの使用方法に対するページが公開されています。

[ColdFusion のカスタムパッチの適用(2021 リリース)]
https://helpx.adobe.com/jp/coldfusion/kb/apply-custom-patch-coldfusion-2021.html

今回、この問題に該当されている方は、上記のページと、下記の参考手順を参考にカスタムパッチを適用してください。

[参考手順]

  1. https://tracker.adobe.com/#/view/CF-4212348 ページから、パッチファイルはダウンロードできなくなりました。現在は、メーカーサポートをご契約のお客様に対して個別パッチを提供しています。メーカーサポートにご登録頂いているサポートご担当者より、お送りした質問フォーマットにご記入のうえ、サポートセンターにお問い合わせください。
     
  2. 入手された「bundlesdependency_custom.json」と「spreadsheet-2021.0.02.328935」を [cf_root]/bundles(例:C:\ColdFusion2021\bundles)フォルダ内に配置します
    • フォルダ内には bundlesdependency_custom.jsonファイルが置かれていると思いますが、これまでカスタムパッチを配置したことが無い場合は、パッケージ情報が何も書かれていない内容になっています。その場合は、ファイルの上書きで大丈夫です。
    • 既に別のカスタムパッチを配置したことがある場合は、[cf_root]/bundles内のbundlesdependency_custom.jsonをメモ帳等テキストエディタで開き、そこに、ダウンロードした今回のbundlesdependency_custom.jsonのパッケージ情報を追記してください
      • 既に記載されているパッケージに追記する形で、パッケージ同士はカンマで区切ります。詳しくは、上記の「ColdFusion のカスタムパッチの適用」ページのパッチの適用の①を確認してください
         
  3. 手順2.で配置したbundlesdependency_custom.jsonファイルをメモ帳等テキストエディタで開き、「"minimumcoreserverupdaterequired" : 2,」の 2 を 、現在適用しているUpdateのバージョンに合わせて変更してください(例: 7)。
    • この作業が必要なのは、このカスタムパッチを適用した際に、ColdFusion本体が以前のUpdateに自動でダウングレードされる場合があるためです
       
  4. コマンドプロンプトを管理者権限で開き、[cf_root]\cfusion\bin(例  cd C:\ColdFusion2021\bin)に移動します
     
  5. cfpm.batを実行します(例  cfpm.bat)
     
  6. listallコマンドを実行(例  listall)すると、パッケージの一覧が表示されます。一覧からspreadsheetを探し、versionに黄色で 2021.0.02.328935 が表示されることを確認します
    • 出力例:
      spreadsheet, versions :[2021.0.02.328618,2021.0.0.323925,2021.0.01.325996,2021.0.02.328935]
      • 手順2.で追加したカスタムパッケージが表示されないなどの問題があった場合はcfpmをいったん終了(q)し、ColdFusion 2021 Application Serverサービスの再起動を行ってから、再び手順5. のcfpm.batを実行してください
         
  7. install spreadsheet コマンドを実行して、今回のパッチをバージョンを指定してインストールしてください
    • バージョンを指定するには「install spreadsheet:2021.0.02.328935」と入力します
       
  8. 次のパッケージがインストールされます : spreadsheet:2021.0.02.328935 のメッセージとともに、以下のサーバーにインストールされたメッセージが表示されるのを確認してください
    • spreadsheet (2021.0.01.328935) パッケージとその依存関係が正常にダウンロードされました。
      spreadsheet パッケージがサーバーにインストールされました
  9. パッケージのインストールが終わったら、該当する動作を試し、問題が修正されているかをご確認ください。


 


記事公開日:2021年10月15日
最終更新日:2023年09月04日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.