Ticket #746 (closed バグ指摘: 保留)

Opened 11 years ago

Last modified 11 years ago

カートブロックにてWarningエラーが表示される不具合

Reported by: kajiwara Owned by: nanasess
Priority: Milestone: EC-CUBE2.4.4
Component: その他 Version: 2.0系(正式版)
Keywords: Cc:
修正済み:

Description (last modified by nanasess) (diff)

サイトを確認中、カートブロックにて、稀にWarningエラーが発生するようです。

Warning: copy(/home//*.jp/data/logs/site.log.2) [function.copy]: failed to open stream: そのようなファイルやディレクトリはありません in /home//*.jp/data/class/util/GC_Utils.php on line 207

開発コミュニティ
hajime-ec様からのご報告
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=6098&forum=2

arts様からのご報告
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=4623&forum=2

現状、コミュニティ版では r17855 にて対応済み

Change History

comment:1 Changed 11 years ago by nanasess

  • Owner changed from somebody to nanasess
  • Status changed from new to assigned
  • Component changed from フロント to その他
  • Description modified (diff)

comment:2 Changed 11 years ago by nanasess

version-2_4-dev r18695 で修正しました

comment:3 Changed 11 years ago by nanasess

  • Status changed from assigned to closed
  • Resolution set to 修正済

version-2_4 r18733 でマージしました

comment:4 follow-up: ↓ 6 Changed 11 years ago by AMUAMU

  • Status changed from closed to reopened
  • Resolution 修正済 deleted
  • Milestone changed from EC-CUBE2.4.4 to EC-CUBE2.5.0alpha

問題が複数あるようです。 1.スレッドセーフでない。 ローテーション中の、現在のファイルへの書き込みとローテーション処理中を示すロックが必要。

2.rename関数によるファイル上書きは環境、設定依存する。 例えばWindows PHP環境は上書きしない。

comment:6 in reply to: ↑ 4 Changed 11 years ago by Seasoft

  • Status changed from reopened to closed
  • Resolution set to 保留
  • Milestone changed from EC-CUBE2.5.0alpha to EC-CUBE2.4.4

1.スレッドセーフでない。 ローテーション中の、現在のファイルへの書き込みとローテーション処理中を示すロックが必要。

マルチスレッドに対応する場合、他にも対応・確認が必要となる箇所がありそうですので、マルチスレッド対応を主題とした別チケットでの作業が適すと思います。

また、マルチスレッドではなくマルチプロセスの場合でも問題が発生する懸念はあると思います。(当方環境では、11クライアント接続でも発現はしませんでしたが。) 更に厳密に考えると、ログローテーションに限らず、ログ書き込みのみでも問題が発生しうる状態ではないかと思います。この問題に関して対応を行なう場合も、別チケットで行なうのが良いかと思います。

2.rename関数によるファイル上書きは環境、設定依存する。 例えばWindows PHP環境は上書きしない。

本件、改修したいと思います。

ただし、このチケットは 2.4 系で一旦クローズしているものですので、2.5 系のものとして新たなチケットを発行しました。#809

Note: See TracTickets for help on using tickets.