Closed Bug 1278526 Opened 8 years ago Closed 8 years ago

PHP session variables lost in Firefox 46.0.1+Windows, but works with Firefox 46.0.1+Ubuntu 14.04

Categories

(Core :: Networking, defect)

46 Branch
x86_64
Windows 10
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: p.veltman, Assigned: amchung)

Details

(Whiteboard: [necko-active])

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160511224433

Steps to reproduce:

http://stackoverflow.com/questions/37673980/php-session-variables-lost-in-firefox-46-0-1windows-but-works-with-firefox-46



Actual results:

Output: array(1) { ["test"]=> string(7) "testing" }


Expected results:

Output: array(2) { ["test"]=> string(7) "testing" ["data"]=> string(4) "test" }
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Could you provide a live testcase, please.
Flags: needinfo?(p.veltman)
Firefox: 50.0a1, Build ID: 20160609130607
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0

I have tested this issue on the latest Firefox (47.0) release and latest Nightly (50.0a1) build. I have managed to reproduce it on Firefox (47.0) release and on latest Nightly build with e10s disabled. 
The issue is not reproducible on the latest Nightly build with e10s enabled. 

I have also tested this on Ubuntu 14.04 x64 and the issue is not reproducible on the latest Firefox (47.0) release or the latest Nightly build.
Status: UNCONFIRMED → NEW
Component: Untriaged → Networking
Ever confirmed: true
Flags: needinfo?(p.veltman)
Nice that you are able to reproduce this issue!

Can you let me know what the next steps will be?
I confim on Windows it's not reproductible with e10s enabled (I tested Aurora/Nightly).
But it's reproducible with old versions of Firefox like FF17 (and ofc 47, or 50 without e10s).
Amy, can you take a look at this?
Flags: needinfo?(amchung)
Ok!
Flags: needinfo?(amchung)
Assignee: nobody → amchung
Whiteboard: [necko-active]
This issue can't reproduce on MAC, it only can reproduce on windows.
Hi Amy,

Can you let me know what the next steps for the issue will be?
Who will work on solving the issue?

If the solving takes much time or if you won't be able to solve
it soon, could you give any advice on how to solve it on my website?

I would like to have a workable solution in 2 wks.
Hi Veltman,
I will work this bug, but I just started to reproduce it.
I found your issue didn't occur after enable e10s on Windows7 and using FireFox 48.
If you can't wait, you can enable e10s first.
You would enable e10s following the steps as below:
1. In about:config (see http://kb.mozillazine.org/About:config to learn how to use "about:config")
2. Set browser.tabs.remote.autostart to true
3. On your next restart, e10s should be active.
Flags: needinfo?(p.veltman)
Hi Amy,


Thanks for the tip how I can fix it, but my customers will
just go to another webshop.
Is there a workaround that will work for anybody? I.e. not
using session variables, but something else?
Changed test case to another server:

Live test case:
http://185.85.16.175/browserTesting/session_test.php

To clear the session:
http://185.85.16.175/browserTesting/clear_session.php
Hi Veltman,
I set break point on "self.location = self.location" on Windows7 & Firefox version 47.0.1,
then I found the Firefox get the current result(GET /browserTesting/session_write.php?data=test HTTP/1.1
).
The attachments are http log of testing results, the current result shows the browser get HTTP request from session_write.php, and the fail result shows the browser doesn't get http request from session_write.php.
And I asked our front-end team, they said this is timing issue, because browser doesn't ready to get the result of JQuery when it runs at "self.location = self.location".
At last, you can try to modify your code as below:
$('#div_session_write').load( url, function() {
  self.location = self.location;
});
Flags: needinfo?(p.veltman)
Hi Amy,


I just tried the solution of 

$('#div_session_write').load( url, function() {
  self.location = self.location;
});

and it works perfect!

Thanks for your help!
JavaScript doesn't wait return value then the code will continue to run, so this bug situation may occurs timing issue.
The current way is write a callback function to wait JQuery return result in Javascript.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: