Bug #5971
openWt Error
0%
Description
Hello,
I have the following errors since a couple of days, the errors happens when my laptop is closed then open again (after a period of hybernation),
I don't know if this is related to some changes I have made on my Wt application, I have only changed the model of a WTreeView from Dbo::WQueryModel to WStandardItemModel.
[2017-Oct-04 10:41:32.468400] 7784 - [info] "WebRequest: took 16.502ms"
[2017-Oct-04 10:41:42.536455] 7784 - [info] "WebRequest: took 10068.1ms"
[2017-Oct-04 10:41:42.536455] 7784 - [info] "WebRequest: took 7.852ms"
[2017-Oct-04 11:16:25.778077] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:25.778077] 7784 - [info] "WebRequest: took 0ms"
[2017-Oct-04 11:16:27.144203] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:27.151150] 7784 - [info] "WebRequest: took 7.954ms"
[2017-Oct-04 11:16:30.842378] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:30.850740] 7784 - [info] "WebRequest: took 8.362ms"
[2017-Oct-04 11:16:40.891272] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:40.900354] 7784 - [info] "WebRequest: took 9.082ms"
[2017-Oct-04 11:16:46.859586] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.869551] 7784 - [info] "WebRequest: took 10.992ms"
[2017-Oct-04 11:16:46.874570] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.884556] 7784 - [info] "WebRequest: took 11.982ms"
[2017-Oct-04 11:16:46.893547] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.901549] 7784 - [info] "WebRequest: took 10.968ms"
[2017-Oct-04 11:16:46.907552] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.916555] 7784 - [info] "WebRequest: took 11.946ms"
[2017-Oct-04 11:16:46.924571] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.932589] 7784 - [info] "WebRequest: took 13.031ms"
[2017-Oct-04 11:16:46.941610] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:16:46.949554] 7784 - [info] "WebRequest: took 13ms"
[2017-Oct-04 11:17:01.926383] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:17:01.936281] 7784 - [info] "WebRequest: took 16.117ms"
[2017-Oct-04 11:17:01.943399] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:17:01.952161] 7784 - [info] "WebRequest: took 15.88ms"
[2017-Oct-04 11:17:07.771228] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:17:07.779960] 7784 - [info] "WebRequest: took 17.975ms"
[2017-Oct-04 11:17:07.790276] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:17:07.798122] 7784 - [info] "WebRequest: took 18.162ms"
[2017-Oct-04 11:17:07.824933] 7784 - [error] "WebController: Valid session id: EF5oZkbDvtN2uiUI, but no cookie received (expecting multi session cookie)"
[2017-Oct-04 11:17:07.834858] 7784 - [info] "WebRequest: took 24.849ms"
Can you help me solving this please ?
Files
Updated by Roel Standaert over 6 years ago
What happens on the client side when this occurs? Does the application stop working, or is a new session started?
What happens is that the multi session cookie has expired on the client side (it is normally refreshed at regular intervals), but the session id is still valid. What is your session timeout interval?
I'll see if there's a way to make sure that there can be no valid session with an expired multi session cookie. Also, I believe that in this case a new session should be started. I'll check to see if that happens. The only risk here is getting into a state where the multi session cookie is discarded for some reason, and you get into an infinite loop of creating new sessions.
Updated by Momo LALMI over 6 years ago
When this happens, the loading indicator is displayed and nothing else. the new session is not started.
the session timeout is 600 (10 minutes)
<!-- Session timeout (seconds). When a session remains inactive for this amount of time, it is cleaned up. -->
600
I have also updated the web browser, I am using Chrome Version 61.0.3163.100.
Updated by Roel Standaert over 6 years ago
I think I can see why this can occur. I pushed a possible fix to this to GitHub. Can you check it now?
I extended the validity of the multi session cookie so that the session should always expire before the multi session cookie expires.
Updated by Momo LALMI over 6 years ago
Hello,
I am still using WT version 3.3.8 (not yet 4.0)
Can I use the patch anyway ?
cheers
Updated by Roel Standaert over 6 years ago
Wt 3 is currently still maintained on the wt3
branch. I pushed the fix to both the wt3
and master
(Wt 4) branches.
Updated by Momo LALMI over 6 years ago
thank you for your help, I will build a new version of WT3 and keep you informed.
Updated by Momo LALMI over 6 years ago
Hi, I have updated my WT3 library, but I still have the errors below, I have closed my laptop at 11:30 then opened it at 12:10
[2017-Oct-06 11:30:23.741562] 6752 - [info] "WebRequest: took 1710.02ms"
[2017-Oct-06 11:30:23.749540] 6752 - [info] "WebRequest: took 18.173ms"
[2017-Oct-06 12:10:08.583119] 6752 - [info] "WebRequest: took 2.38483e+006ms"
[2017-Oct-06 12:10:08.607976] 6752 - [info] "WebRequest: took 24.857ms"
[2017-Oct-06 12:10:08.607976] 6752 - [error] "WebController: Valid session id: F9pp1MLonNUN8UCW, but no cookie received (expecting multi session cookie)"
[2017-Oct-06 12:10:08.619183] 6752 - [info] "WebRequest: took 11.207ms"
[2017-Oct-06 12:10:09.978299] 6752 - [error] "WebController: Valid session id: F9pp1MLonNUN8UCW, but no cookie received (expecting multi session cookie)"
[2017-Oct-06 12:10:09.980000] 6752 - [info] "WebRequest: took 1.701ms"
[2017-Oct-06 12:10:18.134716] 6752 - [error] "WebController: Valid session id: F9pp1MLonNUN8UCW, but no cookie received (expecting multi session cookie)"
[2017-Oct-06 12:10:18.146973] 6752 - [info] "WebRequest: took 14.321ms"
[2017-Oct-06 12:10:18.603279] 6752 - [error] "WebController: Valid session id: F9pp1MLonNUN8UCW, but no cookie received (expecting multi session cookie)"
[2017-Oct-06 12:10:18.611283] 6752 - [info] "WebRequest: took 12.004ms"
Updated by Roel Standaert over 6 years ago
- Status changed from Feedback to InProgress
- Assignee set to Roel Standaert
Updated by Roel Standaert over 6 years ago
- Status changed from InProgress to Feedback
Just so I can be sure to reproduce your exact situation, could you share your wt_config.xml
? Or just disclose one detail: have you enabled WebSockets?
Regards,
Roel
Updated by Momo LALMI over 6 years ago
- File wt_config.xml wt_config.xml added
I have attached wt_config.xml
Web sockets are disabled, do I need to activate them ?
(I use the built-in httpd connector under windows for testing, and fastcgi/linux in production mode)
Updated by Roel Standaert over 6 years ago
No, you don't need to enable WebSockets if you don't want to. Are you experiencing the issue both when testing and in production?
Updated by Roel Standaert over 6 years ago
Also, although everything should work with the httpd connector and the fastcgi connector, we do generally recommend using the httpd connector, unless you have a specific reason to use FastCGI.
Updated by Momo LALMI over 6 years ago
Yes, I am experiencing the issue both when testing and in production,
I think it was not the case few days before I modify my main widget, replacing WTreeView model from WQueryModel to WStandardModel, but I am not sure that the issue is related to this...
Updated by Roel Standaert over 6 years ago
One more question: do you have server push enabled? I guess that maybe that could explain why you got this "WebRequest: took 2.38483e+006ms"
, even though the session should have timed out after 10 minutes of inactivity. I'm guessing that the browser is not closing the connection when it goes into standby.
Updated by Momo LALMI over 6 years ago
Where to check if server push is enabled ? I have a parameter in wt_config.xml :
50
Yes, I was expecting the session to be closed...
I have also updated the web browser, may be the old versions of Chrome close the session when the pc goes in standby mode...
Updated by Momo LALMI over 6 years ago
I switched back to WQueryModel as a model of WTreeView, I will tell you in about 30 minutes if there is a relation between them...
Updated by Roel Standaert over 6 years ago
- Status changed from Feedback to InProgress
I just managed to reproduce your issue (without server push). This happened because there was only one session. If another session had started in the meantime, this one session would have expired. I think we should expire sessions more proactively, using a timer.
Updated by Momo LALMI over 6 years ago
Hummmm, not related to what I thought.
If the dead session is detected and the user is redirected to a new session login page it will be ok for me, I would like to avoid keeping the user waiting while nothing will happen.
Updated by Roel Standaert over 6 years ago
I've been working on making session expiration more proactive, and I noticed that it should check for expired sessions every 5 seconds with FastCGI. Are you still experiencing this problem in a production setting with the previous patch? If so, I'd have to dig a bit deeper to find an explanation for that.
Updated by Momo LALMI over 6 years ago
Yes, I have the same behaviour with FastCGI connector.
Updated by Roel Standaert over 6 years ago
Even with the patch from commit c7f7d0a
? If so, I'm not sure what is the problem there.
Updated by Roel Standaert over 6 years ago
- Status changed from InProgress to Feedback
I just pushed commit 26955bf
. This should make sure that the session has expired before the multi session cookie expires for wthttpd. Do you still experience this issue now?
Updated by Roel Standaert over 6 years ago
It's been a little while since I've heard anything. Is this issue resolved now, or are you still experiencing this problem?
Updated by Momo LALMI over 6 years ago
Hello,
my Wt app is not closed, I still have the loading indicator running indefinitely.
best regards,
Updated by Roel Standaert over 6 years ago
In that case, if possible, could you provide a longer log file and maybe also a HAR file (see https://redmine.webtoolkit.eu/projects/wt/wiki/Issue_Tracker_Guidelines#How-to-create-a-HAR-file)?
I'm not sure if the source code of your application plays any role, but if you could provide a code sample (you can send it by mail if you don't want to attach it) that could also help.
I'm out of clues as to why this is still affecting you (the issue that I managed to reproduce has been resolved), so any information could be helpful.
Regards,
Roel