View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
14306Bug reportsSurvey editingpublic2021-09-07 08:33
Reporteroleggorfinkel Assigned Togalads  
PrioritynoneSeverityminor 
Status closedResolutionfixed 
Product Version3.15.x 
Summary14306: Sections of the page fail to load properly when editing survey questions and/or settings
Description

Oftentimes, but not always, when editing any section of the survey that contains a number of fields (e.g. a question, email template settings, etc.), parts of the page fail to load properly. For example, while text field labels do appear, the actual text boxes may be missing. Also, whole blocks of fields may fail to display, being replaced with a "loading" icon that never goes away (see example in the attached screenshot). Very occasionally, reloading the page will restore proper appearance, but most of the time, it doesn't work, and the page comes up wrong, time and time again.

This issue ONLY occurs on remote server installations; when using LimeSurvey on localhost, the pages always load properly. For a clue as to what may be happening, please see the attached Chrome debug console output -- there, you will see multiple "failed to load resource" errors with a "508 Loop Detected" status on various sections of the page, suggesting that the script may be doing something questionable from the resource usage standpoint. Another evidence of this is frequent resource limit errors that occur when even a single user is editing parts of a survey in a single browser tab. (On localhost, of course, there is no performance checking for scripts, so no such messages are ever observed.)

I suspect that this behavior, rather than being the result of a single, localized bug, may indicate some broad issues with script design and performance that are causing trouble on resource-limited servers. The remote host I am using does limit entry processes to 5 and total processes to 50, but these limits should be more than sufficient for a single user to do light editing work on a survey, yet the scripts fail frequently. Please note also that these resource limit problems only began to occur as of version 3. Before that (for example, on version 2.72, which I had used for quite a while a year or two ago), I never observed such issues. To me, this seems like a very serious situation that I hope can be addressed soon...

Steps To Reproduce

Edit any section of the survey that contains multiple fields.

TagsNo tags attached.
Attached Files
Bug heat8
Complete LimeSurvey version number (& build)3.15.3+181108
I will donate to the project if issue is resolvedNo
BrowserChrome
Database type & version10.0.27-MariaDB-cll-lve
Server OS (if known)Linux
Webserver software & version (if known)Apache 2.4.18
PHP Version5.5.36

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2018-11-30 08:55

developer   ~49845

Http 508 error seems related to WebDav : i think you have another system on your server. I think it's server related and not LimeSurvey related

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_errors

oleggorfinkel

oleggorfinkel

2018-11-30 09:18

reporter   ~49847

Well, yes, the 508 error is related to WebDAV, but I don't understand what you mean when you say that I have "another system" on the server. WebDAV is just an extended HTTP protocol that most modern servers use to manage shared access to the filesystem. I can assure you that when these errors occur, ONLY LimeSurvey is running, nothing else. The web host is a very standard Apache server and there are no other scripts installed. I also get exactly the same errors with LimeSurvey on all three of my remote hosting accounts, which are hosted on different servers. Finally, as I mentioned in the problem description, this issue only started happening from version 3 on. The previous versions of LimeSurvey did not suffer from resource loading errors.

The description for the 508 error actually speaks for itself: "The server detected an infinite loop while processing the request." This indicates that a script has produced a loop that went on beyond the server's timeout period on the request. And there is NO OTHER script running, besides LimeSurvey...

DenisChenu

DenisChenu

2018-11-30 10:39

developer   ~49850

508 error come from WebDav, not apache.
I don't know how you manage your server, but no one can reproduce this issue, and clearly : LimeSurvey never send 508 error …
Activate debug mode to find if you have anything else

And you have a 508 error on a favicon.ico file : THIS CAN NOT BE RELATED TO LIMESURVEY

oleggorfinkel

oleggorfinkel

2018-11-30 13:09

reporter   ~49853

Thanks, Denis. I realize that the 508 errors are not coming from LimeSurvey, but from the server. They only occur, however, in conjunction with LimeSurvey requests. On one of the three hosts, I also have the phpBB forum installed, and there are no page load problems with that script, ever. To me, all this indicates that the issues probably stem from the way LimeSurvey scripts behave in combination with the resource management settings on the server. I'll take a look at the debug logs and report back.

DenisChenu

DenisChenu

2018-11-30 14:09

developer   ~49854

Yes :)

Maybe something related to htaccess too.

oleggorfinkel

oleggorfinkel

2018-12-02 15:02

reporter   ~49859

So, here is the situation. I've tried to isolate a single faulty page load event and then looked at the server usage log, which showed that the entry process resource limit was hit 7 times during that page load -- one for every "508 loop detected" error in the Chrome debug console output (see attached images). You will notice that all of those failed loads were for LimeSurvey resources (under the http://apuv.x10.mx/encuestas directory). Now, here is the weird thing: as that page just sat there apparently idle for a while, more errors kept appearing in the console output (see attached), without me even touching anything, and the resource usage log caught 16 more entry process limit hits. Once again, ALL the failed loads were for LimeSurvey resources.

Any thoughts?

2018-12-02 06_54_49 - Additional Chrome console output.txt (5,458 bytes)   
Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxQuestionGroup…hqUVVoTzNKcGx4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=collapsed 503 (Service Unavailable)

Uncaught (in promise)      6603:1 
{success: false, error: "Service Unavailable", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…p4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=bottom 503 (Service Unavailable)

Uncaught (in promise)      6603:1 
{success: false, error: "Service Unavailable", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=top 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=side 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxQuestionGroup…hqUVVoTzNKcGx4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxQuestionGroup…hqUVVoTzNKcGx4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D 503 (Service Unavailable)

Uncaught (in promise)      6603:1 
{success: false, error: "Service Unavailable", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…p4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=bottom 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=collapsed 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=top 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=side 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=collapsed 503 (Service Unavailable)

Uncaught (in promise)      6603:1 
{success: false, error: "Service Unavailable", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=top 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…p4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=bottom 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxQuestionGroup…hqUVVoTzNKcGx4dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…dmp4Z1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=side 404 (Not Found)

Uncaught (in promise)      6603:1 
{success: false, error: "Not Found", transferStatus: "error", xhr: {…}}
jquery-3.1.1.min.js:4

GET http://apuv.x10.mx/encuestas/index.php/admin/survey/sa/getAjaxMenuArray/sur…1BXZXYkyixJSN1MLc2RH7zIpjYsrg6vvG6-ZQiZmbr3lCBdmQ%3D%3D&position=collapsed 508 (Loop Detected)

Uncaught (in promise)      6603:1 
{success: false, error: "Loop Detected", transferStatus: "error", xhr: {…}}

oleggorfinkel

oleggorfinkel

2019-02-02 13:03

reporter   ~50387

Hi Denis,

A follow-up on this issue: I just migrated my LimeSurvey installation to an entirely different hosting provider, and am seeing exactly the same problem -- text fields and whole portions of forms refusing to load. Looking at the server statistics, I can see an uptick in both CPU usage and entry process faults (very similar to what was happening on the previous host). Unfortunately, this provider doesn't give access to detailed error logs for free accounts, but I think we would be just seeing more of the same thing, anyway. All of this sounds to me like some of the LimeSurvey scripts may not be releasing their processes properly when they are done with the page load. What do you think?

Also, I am surprised you flagged this issue as "minor," when it makes it impossible for the user to edit most parts of a survey. This is especially vexing when the survey is active, so you can't just edit it offline and reimport it. I have resorted to making edits directly in the database, through PHPMyAdmin. Not only that, but the fact that the script keeps hitting resource limits even under light loads is a worrisome problem in its own right, as it severely limits the number of concurrent users, even on reasonably-provisioned servers. Why should it not be considered a MAJOR issue?

Regards,
Oleg.

ollehar

ollehar

2021-03-10 22:44

administrator   ~63213

Please update to the latest version and check if the bug can still be reproduced. Thank you.

galads

galads

2021-09-07 08:33

reporter   ~66356

Hello oleggorfinkel,

we have asked for feedback on this issue. Because we did not get an answer we assume that the issue is resolved.
However, should you be able to reproduce the issue using the latest version, please feel free to re-open the issue and give us exact details on how to reproduce it.

Thank you and best regards,

galads

Issue History

Date Modified Username Field Change
2018-11-30 06:43 oleggorfinkel New Issue
2018-11-30 06:43 oleggorfinkel File Added: 2018-11-29 21_27_48 - LimeSurvey failed page load.png
2018-11-30 06:43 oleggorfinkel File Added: 2018-11-29 21_27_48 - LimeSurvey failed page load (Chrome debug console).png
2018-11-30 08:55 DenisChenu Note Added: 49845
2018-11-30 09:18 oleggorfinkel Note Added: 49847
2018-11-30 10:39 DenisChenu Note Added: 49850
2018-11-30 13:09 oleggorfinkel Note Added: 49853
2018-11-30 14:09 DenisChenu Note Added: 49854
2018-12-02 15:02 oleggorfinkel File Added: 2018-12-02 06_56_23 - Server resource usage log.png
2018-12-02 15:02 oleggorfinkel File Added: 2018-12-02 06_54_49 - Chrome debug console.png
2018-12-02 15:02 oleggorfinkel File Added: 2018-12-02 06_54_49 - Additional Chrome console output.txt
2018-12-02 15:02 oleggorfinkel Note Added: 49859
2019-01-10 16:35 LouisGac Assigned To => markusfluer
2019-01-10 16:35 LouisGac Status new => assigned
2019-02-02 13:03 oleggorfinkel Note Added: 50387
2019-11-01 17:25 c_schmitz Category Survey design => Survey editing
2021-03-10 22:44 ollehar Assigned To markusfluer =>
2021-03-10 22:44 ollehar Status assigned => feedback
2021-03-10 22:44 ollehar Note Added: 63213
2021-09-07 08:33 galads Assigned To => galads
2021-09-07 08:33 galads Status feedback => closed
2021-09-07 08:33 galads Resolution open => fixed
2021-09-07 08:33 galads Note Added: 66356
2021-09-07 08:33 galads Bug heat 6 => 8