id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	modified_flg
571	セッション変数の排他制御で不具合	Seasoft	seasoft	"セッション変数の排他制御に不具合を見つけました。

{{{
(1) 14:12:40 	/index.php 		sfSessRead
(2) 14:12:45 	/index.php 		sfSessWrite
(3) 14:12:45 	/resize_image.php 	sfSessRead
(4) 14:12:47 	/index.php 		sfSessRead ← これが問題
(5) 14:12:50 	/resize_image.php 	sfSessWrite
(6) 14:12:52 	/index.php 		sfSessWrite
(7) 14:12:52 	/resize_image.php 	sfSessRead
(8) 14:12:57 	/resize_image.php 	sfSessWrite
}}}

※ /index.php と /resize_image.php は処理に約5秒間要するようにしてあります。

(3)(4)は、何れも(2)時点のデータを参照しており、(5)の書き込みを(6)が上書きしています。

そこで、SC_Helper_Session で行なっている session_set_save_handler を外すと、(4)は(5)の後に発生し、問題は解決されました。

ならば、EC-CUBE のセッション管理の不具合かと思い、PHP 公式マニュアルの session_set_save_handler 関数に書かれたサンプルに差し替えて見ました。しかし、同様の症状が発生しました。よって、PHP の session_set_save_handler 関数の不具合ということだと思うのですが、アプリケーション側で救えないでしょうか?

なお、同じファイル同士 ( /index.php 同士など ) では、適切にロックが行なわれました。
/index.php と /products/list.php の組み合わせなどは NG でした。

※ PHP 5.2.9 / FreeBSD & Linux にて再現確認しております。 "	バグ指摘	new	中	EC-CUBE2.4.3	その他	コミュニティ (eccube-comu)				
