View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
18851Bug reports_ Unknownpublic2023-07-28 17:27
Reportermy216 Assigned Toollehar  
PrioritynoneSeveritycrash 
Status resolvedResolutionfixed 
Product Version6.1.x 
Summary18851: Internal Server Error on submit when "Participants may print answers:" is set to ON
Description

When "Participants may print answers:" is set to ON, the following error occurs when survey is submitted:

500: Internal Server Error Call to a member function decryptBeforeOutput() on null
An internal error occurred while the Web server was processing your request.
Please contact Administrator to report this problem.

Set "Participants may print answers:" back to OFF and submit works correctly.

Steps To Reproduce

Steps to reproduce

Set "Participants may print answers:" to ON

Expected result

Survey to submit

Actual result

500: Internal Server Error Call to a member function decryptBeforeOutput() on null
An internal error occurred while the Web server was processing your request.
Please contact Administrator to report this problem.

TagsNo tags attached.
Bug heat6
Complete LimeSurvey version number (& build)CE Version 6.1.0+230530
I will donate to the project if issue is resolvedNo
Browser
Database type & versionPostgreSQL 14.8
Server OS (if known)Ubuntu 22.04.2 LTS
Webserver software & version (if known)
PHP Version8.1.2-1ubuntu2.11

Users monitoring this issue

There are no users monitoring this issue.

Activities

ollehar

ollehar

2023-05-31 14:53

administrator   ~75289

Can you enable debug = 2 in application/config/config.php and try again, please? Paste the complete error message here.

my216

my216

2023-05-31 15:13

reporter   ~75290

Please see attached error message.

my216

my216

2023-05-31 15:14

reporter   ~75291

attached

PHP error.html (40,411 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0083)https://trg-apps.soton.ac.uk/limesurvey/index.php/printanswers/view?surveyid=738842 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style data-merge-styles="true"></style>
<style data-merge-styles="true"></style><style data-merge-styles="true"></style>
<title>PHP error</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>PHP error</h1>

	<p class="message">
		strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated	</p>

	<div class="source">
		<p class="file">/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2304)</p>
		<div class="code"><pre><span class="ln">2292</span>      * This version properly handles nested curly braces and curly braces within strings within curly braces - both of which are needed to better support JavaScript
<span class="ln">2293</span>      * Users still need to add a space or carriage return after opening braces (and ideally before closing braces too) to avoid  having them treated as expressions.
<span class="ln">2294</span>      * @param string $src
<span class="ln">2295</span>      * @return array
<span class="ln">2296</span>      */
<span class="ln">2297</span>     public function asSplitStringOnExpressions($src)
<span class="ln">2298</span>     {
<span class="ln">2299</span>         // Empty string, return an array
<span class="ln">2300</span>         if ($src === "") {
<span class="ln">2301</span>             return array();
<span class="ln">2302</span>         }
<span class="ln">2303</span>         // No replacement to do, preg_split get more time than strpos
<span class="error"><span class="ln error-ln">2304</span>         if (strpos($src, "{") === false || $src === "{"  || $src === "}") {
</span><span class="ln">2305</span>             return array (
<span class="ln">2306</span>                 0 =&gt; array ($src,0,'STRING')
<span class="ln">2307</span>             );
<span class="ln">2308</span>         };
<span class="ln">2309</span> 
<span class="ln">2310</span>         // Seems to need split and replacement
<span class="ln">2311</span>         $parts = preg_split($this-&gt;RDP_ExpressionRegex, $src, -1, (PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE));
<span class="ln">2312</span> 
<span class="ln">2313</span>         $count = count($parts);
<span class="ln">2314</span>         $tokens = array();
<span class="ln">2315</span>         $inSQString = false;
<span class="ln">2316</span>         $inDQString = false;
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace app expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2304): <strong>strpos</strong>(null, "{")				</div>

				<div class="code"><pre><span class="ln">2299</span>         // Empty string, return an array
<span class="ln">2300</span>         if ($src === "") {
<span class="ln">2301</span>             return array();
<span class="ln">2302</span>         }
<span class="ln">2303</span>         // No replacement to do, preg_split get more time than strpos
<span class="error"><span class="ln error-ln">2304</span>         if (strpos($src, "{") === false || $src === "{"  || $src === "}") {
</span><span class="ln">2305</span>             return array (
<span class="ln">2306</span>                 0 =&gt; array ($src,0,'STRING')
<span class="ln">2307</span>             );
<span class="ln">2308</span>         };
<span class="ln">2309</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2003): <strong>ExpressionManager</strong>-&gt;<strong>asSplitStringOnExpressions</strong>(null)				</div>

				<div class="code"><pre><span class="ln">1998</span>      * @return string
<span class="ln">1999</span>      */
<span class="ln">2000</span>     public function sProcessStringContainingExpressionsHelper($src, $questionNum, $staticReplacement = false)
<span class="ln">2001</span>     {
<span class="ln">2002</span>         // tokenize string by the {} pattern, properly dealing with strings in quotations, and escaped curly brace values
<span class="error"><span class="ln error-ln">2003</span>         $stringParts = $this-&gt;asSplitStringOnExpressions($src);
</span><span class="ln">2004</span>         $resolvedParts = array();
<span class="ln">2005</span>         $prettyPrintParts = array();
<span class="ln">2006</span>         $this-&gt;ResetErrorsAndWarnings();
<span class="ln">2007</span>         foreach ($stringParts as $stringPart) {
<span class="ln">2008</span>             if ($stringPart[2] == 'STRING') {
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(1974): <strong>ExpressionManager</strong>-&gt;<strong>sProcessStringContainingExpressionsHelper</strong>(null, 40, false)				</div>

				<div class="code"><pre><span class="ln">1969</span> 
<span class="ln">1970</span>         $prettyPrintIterationDone = false;
<span class="ln">1971</span>         for ($i = 1; $i &lt;= $numRecursionLevels; ++$i) {
<span class="ln">1972</span>             // TODO - Since want to use &lt;span&gt; for dynamic substitution, what if there are recursive substititons?
<span class="ln">1973</span>             $prevResult = $result;
<span class="error"><span class="ln error-ln">1974</span>             $result = $this-&gt;sProcessStringContainingExpressionsHelper($result, $questionNum, $staticReplacement);
</span><span class="ln">1975</span>             if ($result === $prevResult) {
<span class="ln">1976</span>                 // No update during process : can exit of iteration
<span class="ln">1977</span>                 if (!$prettyPrintIterationDone) {
<span class="ln">1978</span>                     $prettyPrint = $this-&gt;prettyPrintSource;
<span class="ln">1979</span>                 }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/helpers/expressions/em_manager_helper.php(4158): <strong>ExpressionManager</strong>-&gt;<strong>sProcessStringContainingExpressions</strong>(null, 40, 1, 1, ...)				</div>

				<div class="code"><pre><span class="ln">4153</span>             $questionSeq = isset($LEM-&gt;questionId2questionSeq[$questionNum]) ? $LEM-&gt;questionId2questionSeq[$questionNum] : -1;
<span class="ln">4154</span>             $groupSeq = isset($LEM-&gt;questionId2groupSeq[$questionNum]) ? $LEM-&gt;questionId2groupSeq[$questionNum] : -1;
<span class="ln">4155</span>         }
<span class="ln">4156</span>         $stringToParse = $string;   // decode called later htmlspecialchars_decode($string,ENT_QUOTES);
<span class="ln">4157</span>         $qnum = is_null($questionNum) ? 0 : $questionNum;
<span class="error"><span class="ln error-ln">4158</span>         $result = $LEM-&gt;em-&gt;sProcessStringContainingExpressions($stringToParse, $qnum, $numRecursionLevels, $whichPrettyPrintIteration, $groupSeq, $questionSeq, $staticReplacement);
</span><span class="ln">4159</span> 
<span class="ln">4160</span>         if ($timeit) {
<span class="ln">4161</span>             $LEM-&gt;runtimeTimings[] = [__METHOD__, (microtime(true) - $now)];
<span class="ln">4162</span>         }
<span class="ln">4163</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/models/SurveyDynamic.php(805): <strong>LimeExpressionManager</strong>::<strong>ProcessString</strong>(null, 40, null, 1, ...)				</div>

				<div class="code"><pre><span class="ln">800</span>         $aQuestionAttributes['questionSrc'] = $oQuestion-&gt;questionl10ns[$sLanguage]-&gt;question;
<span class="ln">801</span>         $result = LimeExpressionManager::ProcessString($oQuestion-&gt;questionl10ns[$sLanguage]-&gt;question, 40, null, 1, 1);
<span class="ln">802</span>         $aQuestionAttributes['question'] = $result;
<span class="ln">803</span> 
<span class="ln">804</span>         $aQuestionAttributes['helpSrc'] = $oQuestion-&gt;questionl10ns[$sLanguage]-&gt;help;
<span class="error"><span class="ln error-ln">805</span>         $result = LimeExpressionManager::ProcessString($oQuestion-&gt;questionl10ns[$sLanguage]-&gt;help, 40, null, 1, 1);
</span><span class="ln">806</span>         $aQuestionAttributes['help'] = $result;
<span class="ln">807</span> 
<span class="ln">808</span> 
<span class="ln">809</span>         $aQuestionAttributes['questionSrc'] = $oQuestion-&gt;questionl10ns[$sLanguage]-&gt;question;
<span class="ln">810</span>         $result = LimeExpressionManager::ProcessString($oQuestion-&gt;questionl10ns[$sLanguage]-&gt;question, 40, null, 1, 1);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/models/SurveyDynamic.php(825): <strong>SurveyDynamic</strong>-&gt;<strong>getQuestionArray</strong>(Question, SurveyDynamic, 1, true, ...)				</div>

				<div class="code"><pre><span class="ln">820</span>                 //dont collect scale_id &gt; 0
<span class="ln">821</span>                 if ($oSubquestion-&gt;scale_id &gt; 0) {
<span class="ln">822</span>                     continue;
<span class="ln">823</span>                 }
<span class="ln">824</span> 
<span class="error"><span class="ln error-ln">825</span>                 $subQuestionArray = $this-&gt;getQuestionArray($oSubquestion, $oResponses, $bHonorConditions, true, false, $sLanguage);
</span><span class="ln">826</span>                 if ($oQuestion-&gt;type == "P") {
<span class="ln">827</span>                     $subQuestionArray['comment'] = $this-&gt;getQuestionArray($oSubquestion, $oResponses, $bHonorConditions, true, true, $sLanguage);
<span class="ln">828</span>                 }
<span class="ln">829</span> 
<span class="ln">830</span>                 $aQuestionAttributes['subquestions'][$oSubquestion-&gt;qid] = $subQuestionArray;
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/models/SurveyDynamic.php(1039): <strong>SurveyDynamic</strong>-&gt;<strong>getQuestionArray</strong>(Question, SurveyDynamic, 1, false, ...)				</div>

				<div class="code"><pre><span class="ln">1034</span>             }
<span class="ln">1035</span> 
<span class="ln">1036</span>             $aAnswersArray = array();
<span class="ln">1037</span>             $aQuestionArray = $oGroup-&gt;questions;
<span class="ln">1038</span>             foreach ($aQuestionArray as $oQuestion) {
<span class="error"><span class="ln error-ln">1039</span>                 $aQuestionArray = $this-&gt;getQuestionArray($oQuestion, $oResponses, $bHonorConditions, false, false, $sLanguage);
</span><span class="ln">1040</span> 
<span class="ln">1041</span>                 if ($aQuestionArray === false) {
<span class="ln">1042</span>                     continue;
<span class="ln">1043</span>                 }
<span class="ln">1044</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/application/controllers/PrintanswersController.php(122): <strong>SurveyDynamic</strong>-&gt;<strong>getPrintAnswersArray</strong>("29", "en", 1)				</div>

				<div class="code"><pre><span class="ln">117</span>         $sAnonymized = $aSurveyInfo['anonymized'];
<span class="ln">118</span>         //OK. IF WE GOT THIS FAR, THEN THE SURVEY EXISTS AND IT IS ACTIVE, SO LETS GET TO WORK.
<span class="ln">119</span>         //SHOW HEADER
<span class="ln">120</span>         $oResponseRow = SurveyDynamic::model($iSurveyID);
<span class="ln">121</span>         $printanswershonorsconditions = Yii::app()-&gt;getConfig('printanswershonorsconditions');
<span class="error"><span class="ln error-ln">122</span>         $groupArray = $oResponseRow-&gt;getPrintAnswersArray($sSRID, $sLanguage, $printanswershonorsconditions);
</span><span class="ln">123</span> 
<span class="ln">124</span>         // Remove all &lt;script&gt;...&lt;/script&gt; content from result.
<span class="ln">125</span>         Yii::import('application.helpers.viewHelper');
<span class="ln">126</span>         foreach ($groupArray as &amp;$group) {
<span class="ln">127</span>             $group['description'] = viewHelper::purified($group['description']);
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>PrintanswersController</strong>-&gt;<strong>actionView</strong>("738842", false)				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/actions/CAction.php(115): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(PrintanswersController, array("738842", false))				</div>

				<div class="code"><pre><span class="ln">110</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">111</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">112</span>             else
<span class="ln">113</span>                 return false;
<span class="ln">114</span>         }
<span class="error"><span class="ln error-ln">115</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">116</span>         return true;
<span class="ln">117</span>     }
<span class="ln">118</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/actions/CInlineAction.php(47): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(PrintanswersController, ReflectionMethod, array("surveyid" =&gt; "738842"))				</div>

				<div class="code"><pre><span class="ln">42</span>     {
<span class="ln">43</span>         $methodName='action'.$this-&gt;getId();
<span class="ln">44</span>         $controller=$this-&gt;getController();
<span class="ln">45</span>         $method=new ReflectionMethod($controller, $methodName);
<span class="ln">46</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="error"><span class="ln error-ln">47</span>             return $this-&gt;runWithParamsInternal($controller, $method, $params);
</span><span class="ln">48</span> 
<span class="ln">49</span>         $controller-&gt;$methodName();
<span class="ln">50</span>         return true;
<span class="ln">51</span>     }
<span class="ln">52</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(308): <strong>CInlineAction</strong>-&gt;<strong>runWithParams</strong>(array("surveyid" =&gt; "738842"))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(CInlineAction)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(CInlineAction, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): <strong>CController</strong>-&gt;<strong>run</strong>("view")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("printanswers/view")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#16			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/vendor/yiisoft/yii/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#17			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/html/limesurvey/index.php(161): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">156</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">157</span> 
<span class="ln">158</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">159</span> 
<span class="ln">160</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">161</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">162</span> 
<span class="ln">163</span> /* End of file index.php */
<span class="ln">164</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2023-05-31 14:11:52 Apache/2.4.52 (Ubuntu) <a href="https://www.yiiframework.com/">Yii Framework</a>/1.1.28	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>



<iframe src="./PHP error_files/sources.html" allow="camera" style="display: none;"></iframe><iframe src="./PHP error_files/audiosources.html" allow="microphone" style="display: none;"></iframe></body><editor-card style="position:absolute;top:0px;left:0px;z-index:auto;display: block !important"><div dir="ltr" style="all: initial;"><div style="color: initial; font: initial; font-palette: initial; font-synthesis: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; accent-color: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation-composition: initial; animation: initial; app-region: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; baseline-source: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-end-end-radius: initial; border-end-start-radius: initial; border-inline: initial; border-start-end-radius: initial; border-start-start-radius: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-block-size: initial; contain-intrinsic-size: initial; contain-intrinsic-inline-size: initial; container: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: initial; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphenate-character: initial; hyphenate-limit-chars: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; initial-letter: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; math-depth: initial; math-shift: initial; math-style: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; object-view-box: initial; offset: initial; opacity: initial; order: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-clip-margin: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: absolute; quotes: initial; r: initial; resize: initial; rotate: initial; ruby-position: initial; rx: initial; ry: initial; scale: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; scrollbar-gutter: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-emphasis: initial; text-emphasis-position: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; translate: initial; user-select: initial; vector-effect: initial; vertical-align: initial; view-transition-name: initial; visibility: initial; border-spacing: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: 2147483647;"><link rel="stylesheet" href="chrome-extension://gpaiobkfhnonedkhhfjpmhdalgeoebfa/fonts/fabric-icons.css"><div style="all: initial;"><template shadowrootmode="open"></template></div></div><div style="color: initial; font: initial; font-palette: initial; font-synthesis: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; accent-color: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation-composition: initial; animation: initial; app-region: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; baseline-source: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-end-end-radius: initial; border-end-start-radius: initial; border-inline: initial; border-start-end-radius: initial; border-start-start-radius: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-block-size: initial; contain-intrinsic-size: initial; contain-intrinsic-inline-size: initial; container: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: initial; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphenate-character: initial; hyphenate-limit-chars: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; initial-letter: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; math-depth: initial; math-shift: initial; math-style: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; object-view-box: initial; offset: initial; opacity: initial; order: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-clip-margin: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: absolute; quotes: initial; r: initial; resize: initial; rotate: initial; ruby-position: initial; rx: initial; ry: initial; scale: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; scrollbar-gutter: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-emphasis: initial; text-emphasis-position: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; translate: initial; user-select: initial; vector-effect: initial; vertical-align: initial; view-transition-name: initial; visibility: initial; border-spacing: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: 2147483647;"><link rel="stylesheet" href="chrome-extension://gpaiobkfhnonedkhhfjpmhdalgeoebfa/fonts/fabric-icons.css"></div></div></editor-card></html>
PHP error.html (40,411 bytes)   
ollehar

ollehar

2023-05-31 15:18

administrator   ~75292

Oh that's another errors related to PHP 8. Should be fixed too.

tibor.pacalat

tibor.pacalat

2023-07-28 17:27

administrator   ~76351

When "Participants may print answers" is ON, and I complete the survey, I can print answers. So, I would say this has been fixed.

Issue History

Date Modified Username Field Change
2023-05-31 13:32 my216 New Issue
2023-05-31 14:53 ollehar Product Version 6.1.0-dev => 6.1.x
2023-05-31 14:53 ollehar Note Added: 75289
2023-05-31 14:53 ollehar Bug heat 0 => 2
2023-05-31 14:53 ollehar Assigned To => ollehar
2023-05-31 14:53 ollehar Status new => feedback
2023-05-31 15:13 my216 Note Added: 75290
2023-05-31 15:13 my216 Bug heat 2 => 4
2023-05-31 15:13 my216 Status feedback => assigned
2023-05-31 15:14 my216 Note Added: 75291
2023-05-31 15:14 my216 File Added: PHP error.html
2023-05-31 15:18 ollehar Note Added: 75292
2023-07-28 17:27 tibor.pacalat Note Added: 76351
2023-07-28 17:27 tibor.pacalat Bug heat 4 => 6
2023-07-28 17:27 tibor.pacalat Status assigned => resolved
2023-07-28 17:27 tibor.pacalat Resolution open => fixed