View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
18848Bug reportsStatisticspublic2023-10-22 04:15
Reporterp_teichmann Assigned Top_teichmann  
PrioritynoneSeveritycrash 
Status closedResolutionfixed 
Product Version5.6.x 
Summary18848: 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 reproduce

import attached question
execute survey
try to view:
statistics, userstatistics
response editing
export spss

Expected result

view page

Actual result

session timeout

TagsNo 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>
limesurvey_question_240.lsq (13,394 bytes)   
LimeSurvey (35).png (150,086 bytes)
Bug heat6
Complete LimeSurvey version number (& build)5.6.23
I will donate to the project if issue is resolvedNo
Browser
Database type & versionMySQL
Server OS (if known)
Webserver software & version (if known)
PHP Version7.4

Relationships

related to 19181 closedmfavetti Array[Number] statistics infinite loop when step is set to 0 

Users monitoring this issue

There are no users monitoring this issue.

Activities

p_teichmann

p_teichmann

2023-05-30 15:57

administrator   ~75258

branch: 5x/18848_Array_numbers_session_timeout

tibor.pacalat

tibor.pacalat

2023-05-30 16:19

administrator   ~75259

I tested this and it looks good!

p_teichmann

p_teichmann

2023-05-30 18:03

administrator   ~75260

Fix committed to 5.x branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=34735

LimeBot

LimeBot

2023-05-30 18:30

administrator   ~75264

Fixed in Release 5.6.24+230531

Related Changesets

LimeSurvey: 5.x 52cbf96c

2023-05-30 15:56:42

p_teichmann

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

Issue History

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