View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
18848 | Bug reports | Statistics | public | 2023-05-30 15:41 | 2023-10-22 04:15 |
Reporter | p_teichmann | Assigned To | p_teichmann | ||
Priority | none | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Product Version | 5.6.x | ||||
Summary | 18848: setting specific values for steps in Array(numbers) causes infinite loops | ||||
Description | When selecting a negative step value and/or with reverse answer order, a session timeout can be triggered in functions that are not correctly written. | ||||
Steps To Reproduce | Steps to reproduceimport attached question Expected resultview page Actual resultsession timeout | ||||
Tags | No tags attached. | ||||
Attached Files | limesurvey_question_240.lsq (13,394 bytes)
<?xml version="1.0" encoding="UTF-8"?> <document> <LimeSurveyDocType>Question</LimeSurveyDocType> <DBVersion>497</DBVersion> <languages> <language>en</language> </languages> <questions> <fields> <fieldname>qid</fieldname> <fieldname>parent_qid</fieldname> <fieldname>sid</fieldname> <fieldname>gid</fieldname> <fieldname>type</fieldname> <fieldname>title</fieldname> <fieldname>preg</fieldname> <fieldname>other</fieldname> <fieldname>mandatory</fieldname> <fieldname>encrypted</fieldname> <fieldname>question_order</fieldname> <fieldname>scale_id</fieldname> <fieldname>same_default</fieldname> <fieldname>relevance</fieldname> <fieldname>question_theme_name</fieldname> <fieldname>modulename</fieldname> <fieldname>same_script</fieldname> </fields> <rows> <row> <qid><![CDATA[240]]></qid> <parent_qid><![CDATA[0]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[:]]></type> <title><![CDATA[C7]]></title> <preg/> <other><![CDATA[N]]></other> <mandatory><![CDATA[Y]]></mandatory> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[4]]></question_order> <scale_id><![CDATA[0]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance><![CDATA[1]]></relevance> <question_theme_name><![CDATA[arrays/multiflexi]]></question_theme_name> <modulename/> <same_script><![CDATA[0]]></same_script> </row> </rows> </questions> <subquestions> <fields> <fieldname>qid</fieldname> <fieldname>parent_qid</fieldname> <fieldname>sid</fieldname> <fieldname>gid</fieldname> <fieldname>type</fieldname> <fieldname>title</fieldname> <fieldname>preg</fieldname> <fieldname>other</fieldname> <fieldname>mandatory</fieldname> <fieldname>encrypted</fieldname> <fieldname>question_order</fieldname> <fieldname>scale_id</fieldname> <fieldname>same_default</fieldname> <fieldname>relevance</fieldname> <fieldname>question_theme_name</fieldname> <fieldname>modulename</fieldname> <fieldname>same_script</fieldname> <fieldname>id</fieldname> <fieldname>question</fieldname> <fieldname>help</fieldname> <fieldname>script</fieldname> <fieldname>language</fieldname> </fields> <rows> <row> <qid><![CDATA[261]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ001]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[0]]></question_order> <scale_id><![CDATA[0]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance><![CDATA[1]]></relevance> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[496]]></id> <question><![CDATA[1]]></question> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[262]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ004]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[1]]></question_order> <scale_id><![CDATA[0]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance><![CDATA[1]]></relevance> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[497]]></id> <question><![CDATA[2]]></question> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[263]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ002]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[2]]></question_order> <scale_id><![CDATA[0]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance><![CDATA[1]]></relevance> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[498]]></id> <question><![CDATA[3]]></question> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[264]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ001]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[3]]></question_order> <scale_id><![CDATA[1]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance/> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[499]]></id> <question><![CDATA[11]]></question> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[265]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ002]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[4]]></question_order> <scale_id><![CDATA[1]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance/> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[500]]></id> <question><![CDATA[22]]></question> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[266]]></qid> <parent_qid><![CDATA[240]]></parent_qid> <sid><![CDATA[544446]]></sid> <gid><![CDATA[1]]></gid> <type><![CDATA[T]]></type> <title><![CDATA[SQ003]]></title> <other><![CDATA[N]]></other> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[5]]></question_order> <scale_id><![CDATA[1]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance/> <question_theme_name><![CDATA[longfreetext]]></question_theme_name> <same_script><![CDATA[0]]></same_script> <id><![CDATA[501]]></id> <question><![CDATA[33]]></question> <language><![CDATA[en]]></language> </row> </rows> </subquestions> <question_l10ns> <fields> <fieldname>id</fieldname> <fieldname>qid</fieldname> <fieldname>question</fieldname> <fieldname>help</fieldname> <fieldname>script</fieldname> <fieldname>language</fieldname> </fields> <rows> <row> <id><![CDATA[484]]></id> <qid><![CDATA[240]]></qid> <question><![CDATA[array numbers with broken step settings causing infinite loops in some functions, the same can also happen when reversing answer order <p> </p> ]]></question> <help><![CDATA[<p>Usage : 1=jamais/rarement ; 2= parfois ; 3=fréquent (chaque jour) ; 4= très fréquent (à chaque heure ou presque)</p> <p>Utilité : 1=aucune ; 2=parfois ; 3=grande ; 4= très grande</p> <p>(Bon) fonctionnement : 1=pas satisfait ; 2= peu satisfait ; 3=satisfait ; 4 = très satisfait</p> ]]></help> <script/> <language><![CDATA[en]]></language> </row> <row> <id><![CDATA[485]]></id> <qid><![CDATA[240]]></qid> <question><![CDATA[<p>(C7) Matériel informatique et numérique dans l'établissement</p> Merci d'évaluer les outils suivants]]></question> <help><![CDATA[<p>Usage : 1=jamais/rarement ; 2= parfois ; 3=fréquent (chaque jour) ; 4= très fréquent (à chaque heure ou presque)</p> <p>Utilité : 1=aucune ; 2=parfois ; 3=grande ; 4= très grande</p> <p>(Bon) fonctionnement : 1=pas satisfait ; 2= peu satisfait ; 3=satisfait ; 4 = très satisfait</p> ]]></help> <script/> <language><![CDATA[fr]]></language> </row> </rows> </question_l10ns> <question_attributes> <fields> <fieldname>qid</fieldname> <fieldname>attribute</fieldname> <fieldname>value</fieldname> <fieldname>language</fieldname> </fields> <rows> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[answer_width]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[array_filter]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[array_filter_exclude]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[array_filter_style]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[cssclass]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_q]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_q_tip]]></attribute> <value/> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_q_tip]]></attribute> <value/> <language><![CDATA[fr]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_sq]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_sq_tip]]></attribute> <value/> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[em_validation_sq_tip]]></attribute> <value/> <language><![CDATA[fr]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[hidden]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[hide_tip]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[input_boxes]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[input_size]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[max_answers]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[maximum_chars]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[min_answers]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[multiflexible_checkbox]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[multiflexible_max]]></attribute> <value><![CDATA[4]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[multiflexible_min]]></attribute> <value><![CDATA[1]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[multiflexible_step]]></attribute> <value><![CDATA[-1]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[page_break]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[parent_order]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[printable_help]]></attribute> <value/> <language><![CDATA[en]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[printable_help]]></attribute> <value/> <language><![CDATA[fr]]></language> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[public_statistics]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[random_group]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[random_order]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[repeat_headings]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[reverse]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[save_as_default]]></attribute> <value><![CDATA[N]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[scale_export]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[statistics_graphtype]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[240]]></qid> <attribute><![CDATA[statistics_showgraph]]></attribute> <value><![CDATA[1]]></value> <language/> </row> </rows> </question_attributes> </document> | ||||
Bug heat | 6 | ||||
Complete LimeSurvey version number (& build) | 5.6.23 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | MySQL | ||||
Server OS (if known) | |||||
Webserver software & version (if known) | |||||
PHP Version | 7.4 | ||||
branch: 5x/18848_Array_numbers_session_timeout |
|
I tested this and it looks good! |
|
Fix committed to 5.x branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=34735 |
|
Fixed in Release 5.6.24+230531 |
|
LimeSurvey: 5.x 52cbf96c 2023-05-30 17:56 Details Diff |
Fixed issue 18848: setting specific values for steps in Array(numbers) causes php timeout |
Affected Issues 18848 |
|
mod - application/controllers/admin/DataEntry.php | Diff File | ||
mod - application/extensions/AdvancedSettingWidget/views/integer.php | Diff File | ||
mod - application/helpers/admin/statistics_helper.php | Diff File | ||
mod - application/helpers/export_helper.php | Diff File | ||
mod - application/helpers/qanda_helper.php | Diff File | ||
mod - application/helpers/userstatistics_helper.php | Diff File | ||
mod - application/views/admin/export/statistics_subviews/_question.php | Diff File | ||
mod - application/views/survey/questions/answer/arrays/multiflexi/config.xml | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-05-30 15:41 | p_teichmann | New Issue | |
2023-05-30 15:41 | p_teichmann | File Added: limesurvey_question_240.lsq | |
2023-05-30 15:41 | p_teichmann | File Added: LimeSurvey (35).png | |
2023-05-30 15:42 | p_teichmann | Assigned To | => p_teichmann |
2023-05-30 15:42 | p_teichmann | Status | new => assigned |
2023-05-30 15:57 | p_teichmann | Note Added: 75258 | |
2023-05-30 15:57 | p_teichmann | Bug heat | 0 => 2 |
2023-05-30 15:57 | p_teichmann | Status | assigned => ready for testing |
2023-05-30 16:19 | tibor.pacalat | Note Added: 75259 | |
2023-05-30 16:19 | tibor.pacalat | Bug heat | 2 => 4 |
2023-05-30 18:03 | p_teichmann | Changeset attached | => LimeSurvey 5.x 52cbf96c |
2023-05-30 18:03 | p_teichmann | Note Added: 75260 | |
2023-05-30 18:03 | p_teichmann | Resolution | open => fixed |
2023-05-30 18:30 | LimeBot | Note Added: 75264 | |
2023-05-30 18:30 | LimeBot | Status | ready for testing => closed |
2023-05-30 18:30 | LimeBot | Bug heat | 4 => 6 |
2023-10-22 04:15 | mfavetti | Relationship added | related to 19181 |