View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
20148 | Bug reports | Survey taking | public | 2025-06-24 11:09 | 2025-06-24 13:24 |
Reporter | uschwarz | Assigned To | marcolombardo | ||
Priority | none | Severity | crash | ||
Status | assigned | Resolution | open | ||
Product Version | 6.6.x | ||||
Summary | 20148: Division by zero in progress bar | ||||
Description | I've not entirely traced the logic, but under some circumstances, the progress bar seems to think there are 0 questions and $progressValue = ($this->aSurveyInfo['progress']['currentstep']) / $this->aSurveyInfo['progress']['total'] * 100; in SurveyRuntimeHelper.php fails. (This has been around for months, we're currently patching in a | ||||
Steps To Reproduce | Steps to reproduceImport the attached survey. Test the survey, accept the ToCs and click next. Expected resultYou go to the first proper question. Actual resultDivision by zero in SurveyRuntimeHelper. | ||||
Tags | No tags attached. | ||||
Attached Files | buggy-survey.lss (17,255 bytes)
<?xml version="1.0" encoding="UTF-8"?> <document> <LimeSurveyDocType>Survey</LimeSurveyDocType> <DBVersion>633</DBVersion> <languages> <language>de</language> </languages> <groups> <fields> <fieldname>gid</fieldname> <fieldname>sid</fieldname> <fieldname>group_order</fieldname> <fieldname>randomization_group</fieldname> <fieldname>grelevance</fieldname> </fields> <rows> <row> <gid><![CDATA[87]]></gid> <sid><![CDATA[452991]]></sid> <group_order><![CDATA[0]]></group_order> <randomization_group/> <grelevance><![CDATA[1]]></grelevance> </row> </rows> </groups> <group_l10ns> <fields> <fieldname>id</fieldname> <fieldname>gid</fieldname> <fieldname>group_name</fieldname> <fieldname>description</fieldname> <fieldname>language</fieldname> <fieldname>sid</fieldname> <fieldname>group_order</fieldname> <fieldname>randomization_group</fieldname> <fieldname>grelevance</fieldname> </fields> <rows> <row> <id><![CDATA[87]]></id> <gid><![CDATA[87]]></gid> <group_name/> <description/> <language><![CDATA[de]]></language> <sid><![CDATA[452991]]></sid> <group_order><![CDATA[0]]></group_order> <randomization_group/> <grelevance><![CDATA[1]]></grelevance> </row> </rows> </group_l10ns> <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[608]]></qid> <parent_qid><![CDATA[0]]></parent_qid> <sid><![CDATA[452991]]></sid> <gid><![CDATA[87]]></gid> <type><![CDATA[Y]]></type> <title><![CDATA[G01Q01]]></title> <other><![CDATA[N]]></other> <mandatory><![CDATA[Y]]></mandatory> <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[yesno]]></question_theme_name> <modulename/> <same_script><![CDATA[0]]></same_script> </row> </rows> </questions> <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[608]]></id> <qid><![CDATA[608]]></qid> <question><![CDATA[<p style="list-style-type:decimal;border:none;border-bottom:none;margin-left:48px;text-indent:-18pt;border-left:none;border-top:none;border-right:none;">Does the progress bar work?</p> ]]></question> <help/> <script/> <language><![CDATA[de]]></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[608]]></qid> <attribute><![CDATA[cssclass]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[display_type]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[hidden]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[hide_tip]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[page_break]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[printable_help]]></attribute> <value/> <language><![CDATA[de]]></language> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[public_statistics]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[random_group]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[save_as_default]]></attribute> <value><![CDATA[N]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[scale_export]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[statistics_graphtype]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[608]]></qid> <attribute><![CDATA[statistics_showgraph]]></attribute> <value><![CDATA[1]]></value> <language/> </row> </rows> </question_attributes> <surveys> <fields> <fieldname>sid</fieldname> <fieldname>gsid</fieldname> <fieldname>admin</fieldname> <fieldname>expires</fieldname> <fieldname>startdate</fieldname> <fieldname>adminemail</fieldname> <fieldname>anonymized</fieldname> <fieldname>format</fieldname> <fieldname>savetimings</fieldname> <fieldname>template</fieldname> <fieldname>language</fieldname> <fieldname>additional_languages</fieldname> <fieldname>datestamp</fieldname> <fieldname>usecookie</fieldname> <fieldname>allowregister</fieldname> <fieldname>allowsave</fieldname> <fieldname>autonumber_start</fieldname> <fieldname>autoredirect</fieldname> <fieldname>allowprev</fieldname> <fieldname>printanswers</fieldname> <fieldname>ipaddr</fieldname> <fieldname>ipanonymize</fieldname> <fieldname>refurl</fieldname> <fieldname>showsurveypolicynotice</fieldname> <fieldname>publicstatistics</fieldname> <fieldname>publicgraphs</fieldname> <fieldname>listpublic</fieldname> <fieldname>htmlemail</fieldname> <fieldname>sendconfirmation</fieldname> <fieldname>tokenanswerspersistence</fieldname> <fieldname>assessments</fieldname> <fieldname>usecaptcha</fieldname> <fieldname>usetokens</fieldname> <fieldname>bounce_email</fieldname> <fieldname>attributedescriptions</fieldname> <fieldname>emailresponseto</fieldname> <fieldname>emailnotificationto</fieldname> <fieldname>tokenlength</fieldname> <fieldname>showxquestions</fieldname> <fieldname>showgroupinfo</fieldname> <fieldname>shownoanswer</fieldname> <fieldname>showqnumcode</fieldname> <fieldname>bouncetime</fieldname> <fieldname>bounceprocessing</fieldname> <fieldname>bounceaccounttype</fieldname> <fieldname>bounceaccounthost</fieldname> <fieldname>bounceaccountpass</fieldname> <fieldname>bounceaccountencryption</fieldname> <fieldname>bounceaccountuser</fieldname> <fieldname>showwelcome</fieldname> <fieldname>showprogress</fieldname> <fieldname>questionindex</fieldname> <fieldname>navigationdelay</fieldname> <fieldname>nokeyboard</fieldname> <fieldname>alloweditaftercompletion</fieldname> <fieldname>googleanalyticsstyle</fieldname> <fieldname>googleanalyticsapikey</fieldname> <fieldname>tokenencryptionoptions</fieldname> <fieldname>othersettings</fieldname> </fields> <rows> <row> <sid><![CDATA[452991]]></sid> <gsid><![CDATA[1]]></gsid> <admin><![CDATA[inherit]]></admin> <adminemail><![CDATA[inherit]]></adminemail> <anonymized><![CDATA[Y]]></anonymized> <format><![CDATA[I]]></format> <savetimings><![CDATA[I]]></savetimings> <template><![CDATA[inherit]]></template> <language><![CDATA[de]]></language> <additional_languages/> <datestamp><![CDATA[I]]></datestamp> <usecookie><![CDATA[I]]></usecookie> <allowregister><![CDATA[I]]></allowregister> <allowsave><![CDATA[I]]></allowsave> <autonumber_start><![CDATA[0]]></autonumber_start> <autoredirect><![CDATA[I]]></autoredirect> <allowprev><![CDATA[Y]]></allowprev> <printanswers><![CDATA[I]]></printanswers> <ipaddr><![CDATA[I]]></ipaddr> <ipanonymize><![CDATA[I]]></ipanonymize> <refurl><![CDATA[I]]></refurl> <showsurveypolicynotice><![CDATA[2]]></showsurveypolicynotice> <publicstatistics><![CDATA[I]]></publicstatistics> <publicgraphs><![CDATA[I]]></publicgraphs> <listpublic><![CDATA[I]]></listpublic> <htmlemail><![CDATA[I]]></htmlemail> <sendconfirmation><![CDATA[I]]></sendconfirmation> <tokenanswerspersistence><![CDATA[I]]></tokenanswerspersistence> <assessments><![CDATA[I]]></assessments> <usecaptcha><![CDATA[E]]></usecaptcha> <usetokens><![CDATA[N]]></usetokens> <bounce_email><![CDATA[inherit]]></bounce_email> <emailresponseto><![CDATA[inherit]]></emailresponseto> <emailnotificationto><![CDATA[inherit]]></emailnotificationto> <tokenlength><![CDATA[-1]]></tokenlength> <showxquestions><![CDATA[N]]></showxquestions> <showgroupinfo><![CDATA[B]]></showgroupinfo> <shownoanswer><![CDATA[I]]></shownoanswer> <showqnumcode><![CDATA[I]]></showqnumcode> <bounceprocessing><![CDATA[N]]></bounceprocessing> <showwelcome><![CDATA[Y]]></showwelcome> <showprogress><![CDATA[Y]]></showprogress> <questionindex><![CDATA[-1]]></questionindex> <navigationdelay><![CDATA[-1]]></navigationdelay> <nokeyboard><![CDATA[I]]></nokeyboard> <alloweditaftercompletion><![CDATA[I]]></alloweditaftercompletion> <tokenencryptionoptions><![CDATA[{ "enabled":"Y","columns":{ "firstname":"N","lastname":"N","email":"N" } }]]></tokenencryptionoptions> <othersettings><![CDATA[{"question_code_prefix":"","subquestion_code_prefix":"","answer_code_prefix":""}]]></othersettings> </row> </rows> </surveys> <surveys_languagesettings> <fields> <fieldname>surveyls_survey_id</fieldname> <fieldname>surveyls_policy_error</fieldname> <fieldname>surveyls_email_invite_subj</fieldname> <fieldname>surveyls_email_invite</fieldname> <fieldname>surveyls_email_remind_subj</fieldname> <fieldname>surveyls_email_remind</fieldname> <fieldname>surveyls_email_register_subj</fieldname> <fieldname>surveyls_email_register</fieldname> <fieldname>surveyls_email_confirm_subj</fieldname> <fieldname>surveyls_email_confirm</fieldname> <fieldname>surveyls_dateformat</fieldname> <fieldname>surveyls_attributecaptions</fieldname> <fieldname>surveyls_alias</fieldname> <fieldname>email_admin_notification_subj</fieldname> <fieldname>email_admin_notification</fieldname> <fieldname>email_admin_responses_subj</fieldname> <fieldname>email_admin_responses</fieldname> <fieldname>surveyls_numberformat</fieldname> <fieldname>attachments</fieldname> <fieldname>surveyls_language</fieldname> <fieldname>surveyls_title</fieldname> <fieldname>surveyls_description</fieldname> <fieldname>surveyls_welcometext</fieldname> <fieldname>surveyls_endtext</fieldname> <fieldname>surveyls_policy_notice</fieldname> <fieldname>surveyls_policy_notice_label</fieldname> <fieldname>surveyls_url</fieldname> <fieldname>surveyls_urldescription</fieldname> </fields> <rows> <row> <surveyls_survey_id><![CDATA[452991]]></surveyls_survey_id> <surveyls_policy_error/> <surveyls_email_invite_subj><![CDATA[Einladung zu einer Umfrage]]></surveyls_email_invite_subj> <surveyls_email_invite><![CDATA[Hallo {FIRSTNAME},<br /> <br /> Hiermit möchten wir dich zu einer Umfrage einladen.<br /> <br /> Der Titel der Umfrage ist <br /> "{SURVEYNAME}"<br /> <br /> "{SURVEYDESCRIPTION}"<br /> <br /> Um an dieser Umfrage teilzunehmen, klicke bitte auf den unten stehenden Link.<br /> <br /> Mit freundlichen Grüßen,<br /> <br /> {ADMINNAME} ({ADMINEMAIL})<br /> <br /> ----------------------------------------------<br /> Klicke hier um die Umfrage zu starten:<br /> {SURVEYURL}<br /> <br /> Wenn Sie an diese Umfrage nicht teilnehmen und keine weiteren Erinnerungen erhalten möchten, klicken Sie bitte auf den folgenden Link:<br /> {OPTOUTURL}<br /> <br /> Wenn Sie gesperrt sind, jedoch wieder teilnehmen und weitere Einladungen erhalten möchten, klicken Sie bitte auf den folgenden Link:<br /> {OPTINURL}]]></surveyls_email_invite> <surveyls_email_remind_subj><![CDATA[Erinnerung an die Teilnahme an einer Umfrage]]></surveyls_email_remind_subj> <surveyls_email_remind><![CDATA[Hallo {FIRSTNAME},<br /> <br /> Vor kurzem haben wir dich zu einer Umfrage eingeladen.<br /> <br /> Zu unserem Bedauern haben wir bemerkt, dass du die Umfrage noch nicht ausgefüllt hast. Wir möchten dir mitteilen, dass die Umfrage noch aktiv ist, und würden uns freuen, wenn du teilnehmen könntest.<br /> <br /> Der Titel der Umfrage ist <br /> '{SURVEYNAME}'<br /> <br /> '{SURVEYDESCRIPTION}'<br /> <br /> Um an dieser Umfrage teilzunehmen, klicke bitte auf den unten stehenden Link.<br /> <br /> Mit freundlichen Grüßen,<br /> <br /> {ADMINNAME} ({ADMINEMAIL})<br /> <br /> ----------------------------------------------<br /> Klicke hier, um die Umfrage zu starten:<br /> {SURVEYURL}<br /> <br /> Wenn Sie an diese Umfrage nicht teilnehmen und keine weiteren Erinnerungen erhalten möchten, klicken Sie bitte auf den folgenden Link:<br /> {OPTOUTURL}]]></surveyls_email_remind> <surveyls_email_register_subj><![CDATA[Registrierungsbestätigung für Teilnahmeumfrage]]></surveyls_email_register_subj> <surveyls_email_register><![CDATA[Hallo {FIRSTNAME},<br /> <br /> du (oder jemand, der deine E-Mail-Adresse angegeben hat) hast dich für eine Umfrage mit dem Titel {SURVEYNAME} angemeldet.<br /> <br /> Um an dieser Umfrage teilzunehmen, klicke bitte auf folgenden Link:<br /> <br /> {SURVEYURL}<br /> <br /> Wenn du irgendwelche Fragen zu dieser Umfrage hast oder wenn du dich nicht für diese Umfrage angemeldet hast und glaubst, dass dir diese E-Mail irrtümlicherweise zugeschickt worden ist, kontaktiere bitte {ADMINNAME} unter {ADMINEMAIL}.]]></surveyls_email_register> <surveyls_email_confirm_subj><![CDATA[Bestätigung für die Teilnahme an unserer Umfrage]]></surveyls_email_confirm_subj> <surveyls_email_confirm><![CDATA[Hallo {FIRSTNAME},<br /> <br /> Vielen Dank für die Teilnahme an der Umfrage mit dem Titel {SURVEYNAME}. Deine Antworten wurden bei uns gespeichert.<br /> <br /> Wenn du irgendwelche Fragen zu dieser E-Mail hast, kontaktiere bitte {ADMINNAME} unter {ADMINEMAIL}.<br /> <br /> Mit freundlichen Grüßen,<br /> <br /> {ADMINNAME}]]></surveyls_email_confirm> <surveyls_dateformat><![CDATA[1]]></surveyls_dateformat> <surveyls_alias/> <email_admin_notification_subj><![CDATA[Antwortabsendung für Umfrage {SURVEYNAME}]]></email_admin_notification_subj> <email_admin_notification><![CDATA[Hallo,<br /> <br /> Eine neue Antwort wurde für die Umfrage '{SURVEYNAME}' abgegeben.<br /> <br /> Klicke auf den folgenden Link um den Antwortdatensatz anzusehen:<br /> {VIEWRESPONSEURL}<br /> <br /> Klicke auf den folgenden Link um den Antwortdatensatz zu bearbeiten:<br /> {EDITRESPONSEURL}<br /> <br /> Um die Statistik zu sehen, klicke hier:<br /> {STATISTICSURL}]]></email_admin_notification> <email_admin_responses_subj><![CDATA[Antwortabsendung für Umfrage {SURVEYNAME} mit Ergebnissen]]></email_admin_responses_subj> <email_admin_responses><![CDATA[Hallo,<br /> <br /> Eine neue Antwort wurde für die Umfrage '{SURVEYNAME}' abgegeben.<br /> <br /> Klicken Sie auf den folgenden Link um den Antwortdatensatz anzusehen:<br /> {VIEWRESPONSEURL}<br /> <br /> Klicken Sie auf den folgenden Link um den Antwortdatensatz zu bearbeiten:<br /> {EDITRESPONSEURL}<br /> <br /> Um die Statistik zu sehen, klicken Sie hier:<br /> {STATISTICSURL}<br /> <br /> <br /> Die folgenden Antworten wurden vom Teilnehmer gegeben:<br /> {ANSWERTABLE}]]></email_admin_responses> <surveyls_numberformat><![CDATA[1]]></surveyls_numberformat> <surveyls_language><![CDATA[de]]></surveyls_language> <surveyls_title><![CDATA[Buggy progress bar]]></surveyls_title> <surveyls_description/> <surveyls_welcometext><![CDATA[…]]></surveyls_welcometext> <surveyls_endtext><![CDATA[…]]></surveyls_endtext> <surveyls_policy_notice><![CDATA[…]]></surveyls_policy_notice> <surveyls_policy_notice_label/> <surveyls_url/> <surveyls_urldescription/> </row> </rows> </surveys_languagesettings> <themes> <theme> <sid>452991</sid> <template_name>fruity</template_name> <config> <options>inherit</options> </config> </theme> </themes> <!-- <themes_inherited> <theme> <sid>452991</sid> <template_name>cau-minimal</template_name> <config> <options> <cssframework>CAU</cssframework> <brandlogo>on</brandlogo> <brandlogofile>image::theme::files/logo.png</brandlogofile> </options> </config> </theme> </themes_inherited> --> </document> | ||||
Bug heat | 2 | ||||
Complete LimeSurvey version number (& build) | 6.15.0 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | MariaDB 11.4.7 | ||||
Server OS (if known) | Ubuntu LTS 24.04 | ||||
Webserver software & version (if known) | Apache/2.4.63 | ||||
PHP Version | 8.3.20 | ||||
I imported your survey and couldn't provoke crashing it. Progress bar is behaving correctly. I will ask dev that worked on it to take a look. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2025-06-24 11:09 | uschwarz | New Issue | |
2025-06-24 11:09 | uschwarz | File Added: buggy-survey.lss | |
2025-06-24 13:24 | tibor.pacalat | Note Added: 82939 | |
2025-06-24 13:24 | tibor.pacalat | Bug heat | 0 => 2 |
2025-06-24 13:24 | tibor.pacalat | Assigned To | => marcolombardo |
2025-06-24 13:24 | tibor.pacalat | Status | new => assigned |