Ticket #571 (new バグ指摘) — at Initial Version
セッション変数の排他制御で不具合
Reported by: | Seasoft | Owned by: | seasoft |
---|---|---|---|
Priority: | 低 | Milestone: | バックログ |
Component: | その他 | Version: | コミュニティ (eccube-comu) |
Keywords: | Cc: | ||
修正済み: | no |
Description
セッション変数の排他制御に不具合を見つけました。
(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 でした。
Note: See
TracTickets for help on using
tickets.