View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
11714Bug reportsResponse browsingpublic2017-02-16 13:54
ReporterBorys Assigned Toc_schmitz  
PrioritynoneSeveritypartial_block 
Status closedResolutionwon't fix 
Product Version2.52.x 
Summary11714: Error 400 when trying to change response page
Description

I'm unable to switch pages on the responses list, I'm getting an "error 400" popup.

Responses list URL has the following form:
/index.php/admin/responses/sa/browse/surveyid/54713/browselang/pl

But the pagination uses the following form (which results in error):
/index.php/admin/responses?surveyid=54713&browselang=pl&sa=browse&SurveyDynamic_page=2

Additional Information

Stack Trace
#0
+
/html/limesurvey/framework/web/CController.php(309): CController->invalidActionParams(responses)
#1
+
/html/limesurvey/framework/web/CController.php(286): CController->runAction(responses)
#2
+
/html/limesurvey/framework/web/CController.php(265): CController->runActionWithFilters(responses, array())
#3

/html/limesurvey/application/controllers/AdminController.php(168): CController->run("responses")

163 $this->redirect(array('/admin/authentication/sa/login'));
164 }
165
166 }
167
168 return parent::run($action);
169 }
170
171 /*
172
Routes all the actions to their respective places
173 *

#4
+
/html/limesurvey/framework/web/CWebApplication.php(282): AdminController->run("responses")
#5
+
/html/limesurvey/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/responses")
#6
+
/html/limesurvey/framework/base/CApplication.php(185): CWebApplication->processRequest()
#7

/html/limesurvey/index.php(214): CApplication->run()

TagsNo tags attached.
Bug heat6
Complete LimeSurvey version number (& build)2.52+160920
I will donate to the project if issue is resolvedNo
Browser
Database type & versionMySQL 5.5
Server OS (if known)Debian Linux 8
Webserver software & version (if known)lighttpd 1.4.31
PHP Version5.5.33

Users monitoring this issue

There are no users monitoring this issue.

Activities

mfavetti

mfavetti

2016-09-27 21:56

developer   ~40987

Could not reproduce in Release 2.52 Build 160920 (46c82735ee099de7244c90b68731ab2f3f4638ec)

Could you provide a sample survey and responses that are causing the error?

Borys

Borys

2016-09-28 12:15

reporter   ~41001

Can I give you access to our installation? This should be the easiest way to test this issue.

c_schmitz

c_schmitz

2016-09-28 16:24

administrator   ~41010

Please send access data to carsten.schmitz@limesurvey.org
Thank you.

Borys

Borys

2016-09-28 23:54

reporter   ~41019

You should receive the credentials shortly. You have the full admin rights and there's only one survey now.

To reproduce: go to "Ankiety" -> the first and only one -> "Odpowiedzi" -> "Odpowiedzi i statystyki" -> "Odpowiedzi" -> "Polski". And there's the faulty pagination.

c_schmitz

c_schmitz

2017-02-03 14:45

administrator   ~42957

Closed due to missing feedback.

Borys

Borys

2017-02-06 16:58

reporter   ~42964

Didn't you receive an e-mail with credentials? I sent it shortly after my comment.

c_schmitz

c_schmitz

2017-02-07 00:02

administrator   ~42966

I am sorry but I did not receive anything.

Borys

Borys

2017-02-07 11:32

reporter   ~42967

Ok, I sent it again from different address

c_schmitz

c_schmitz

2017-02-12 13:37

administrator   ~43003

It looks like a server configuration issue. It works like that on Apache and nginx so I guess it is related to lighttpd configuration.

Borys

Borys

2017-02-13 01:13

reporter   ~43004

I did some research and looks like lighty returns error 400 on malformed requests (invalid characters, etc.). And I may see the problem: you are passing GET variables in a POST request here.

Apache will happily accept that, although not in all versions (I was doing the same in my apps, until I found the hard way that it's not working everywhere). It's a little surprising that nginx accepts it.

Can this pagination work with GET requests only?

c_schmitz

c_schmitz

2017-02-15 17:00

administrator   ~43019

After some internal discussion and research we think that lighttpd is general a problem child in this regard.
I checked and I don't see any problem mixing POST with GET variables - there is no standard against doing that.
YOu can always switch LImeSurvey to use GET params exclusivley instead of mixed PATH and GET though I am not sure if it really helps - but it is worth a try.

In /application/config/config.php replace

 'urlFormat' => 'path',         

by this:

 'urlFormat' => 'get'

Please give feedback if that resolved your issue.

Borys

Borys

2017-02-16 11:50

reporter   ~43025

Yes, that seems to help, thank you.

Mixing GET and POST requests looks like an undefined behavior in both RFC and W3C documents. Probably lighty is just more strict than others when it comes to such edge cases.

Issue History

Date Modified Username Field Change
2016-09-27 15:50 Borys New Issue
2016-09-27 21:56 mfavetti Note Added: 40987
2016-09-28 12:15 Borys Note Added: 41001
2016-09-28 16:24 c_schmitz Assigned To => c_schmitz
2016-09-28 16:24 c_schmitz Status new => feedback
2016-09-28 16:24 c_schmitz Note Added: 41010
2016-09-28 23:54 Borys Note Added: 41019
2016-09-28 23:54 Borys Status feedback => assigned
2017-02-03 14:45 c_schmitz Status assigned => closed
2017-02-03 14:45 c_schmitz Resolution open => unable to reproduce
2017-02-03 14:45 c_schmitz Note Added: 42957
2017-02-06 16:58 Borys Note Added: 42964
2017-02-07 00:02 c_schmitz Note Added: 42966
2017-02-07 11:32 Borys Note Added: 42967
2017-02-08 10:24 c_schmitz Status closed => assigned
2017-02-12 13:37 c_schmitz Note Added: 43003
2017-02-13 01:13 Borys Note Added: 43004
2017-02-15 17:00 c_schmitz Note Added: 43019
2017-02-15 17:01 c_schmitz Status assigned => feedback
2017-02-16 11:50 Borys Note Added: 43025
2017-02-16 11:50 Borys Status feedback => assigned
2017-02-16 13:54 c_schmitz Status assigned => closed
2017-02-16 13:54 c_schmitz Resolution unable to reproduce => won't fix