Relationship Graph

Relationship Graph
related to related to child of child of duplicate of duplicate of

View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
16481Bug reportsSurvey takingpublic2021-01-25 12:40
ReporterDenisChenu Assigned ToDenisChenu  
PrioritynormalSeveritycrash 
Status closedResolutionfixed 
Product Version3.22.25 
Summary16481: Easy way to launch CDBException
Description

Really easy to launch a CDbException publicly

Steps To Reproduce

Import included survey
Copy the start link with newtest=Y
Add &Q00=ABCDEFGHIJ
Send the link

Additional Information

Seems prefilled value are not filtered with https://github.com/LimeSurvey/LimeSurvey/blob/bdd01aab12a6c9897cb777fbb8e3692a6f95858d/application/helpers/expressions/em_manager_helper.php#L10132

Here it's with mysql, but other have same issue (date for example)

The 2 htmlk are done with debug or without

TagsNo tags attached.
Attached Files
500InternalServerError.html (7,955 bytes)   
<!DOCTYPE html>
<html dir="ltr" class="en dir-ltr  no-js " lang="en"><head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/expressions.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/noto.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/font-awesome.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/survey.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/template-core.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/awesome-bootstrap-checkbox.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/bootstrap.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/yiistrap.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/base.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/ajaxify.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/theme.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/custom.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/errors.css">
<script type="text/javascript" async="" defer="defer" src="500InternalServerError_fichiers/matomo.js"></script><script type="text/javascript">window.debugState = {frontend : (0 === 1), backend : (0 === 1)};</script><script type="text/javascript" src="500InternalServerError_fichiers/jquery-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/jquery-migrate-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/lslog.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/pjax.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/moment-with-locales.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/survey.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/template-core.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/bootstrap.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/bootstrapconfirm.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/theme.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/ajaxify.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/custom.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/survey_runtime.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/heartbeat.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/em_javascript.js" class="headScriptTag"></script>
<script type="text/javascript">
/*<![CDATA[*/
LSvar={"bFixNumAuto":1,"bNumRealValue":0,"sLEMradix":".","lang":{"confirm":{"confirm_cancel":"Cancel","confirm_ok":"OK"}},"showpopup":1,"startPopups":{},"debugMode":0};
/*]]>*/
</script>
<title>
                            500: Internal Server Error
                    </title>

                <meta name="generator" content="LimeSurvey http://www.limesurvey.org">
        <link rel="shortcut icon" href="http://limesurvey.local/3LTS/favicon.ico">
    </head>

    <body class="vanilla lang-en " marginwidth="0" marginheight="0"><script type="text/javascript" src="500InternalServerError_fichiers/decimal.js"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/decimalcustom.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
setJsVar();
var _paq = window._paq || [];
_paq.push(['setDomains', ['*.limesurvey.local/tzert','','*.www.limesurvey.local/qsdqsdqs/erezer','*.sondages.pro']]);
_paq.push(['enableCrossDomainLinking']);

_paq.push(['setCustomUrl', '721221/en']);
_paq.push(['setCustomVariable',1,'Gender','&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;q1.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;','visit']);
_paq.push(['setCustomVariable',2,'Age','&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;Age.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;','visit']);
_paq.push(['setCustomDimension',1,'&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;Age.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;']);
_paq.push(['appendToTrackingUrl', 'limesurveyData={"surveyid":"721221","srid":4}']);

_paq.push(['appendToTrackingUrl', 'new_visit=1']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
  var u="//limesurvey.local/matomo/";
  _paq.push(['setTrackerUrl', u+'matomo.php']);
  _paq.push(['setSiteId', '2']);
  var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();

var LEMmode='group';
var LEMgseq=-1;
ExprMgr_process_relevance_and_tailoring = function(evt_type,sgqa,type){
if (typeof LEM_initialized == 'undefined') {
LEM_initialized=true;
LEMsetTabIndexes();
}
if (evt_type == 'onchange' && (typeof last_sgqa !== 'undefined' && sgqa==last_sgqa) && (typeof last_evt_type !== 'undefined' && last_evt_type == 'TAB' && type != 'checkbox')) {
  last_evt_type='onchange';
  last_sgqa=sgqa;
  return;
}
last_evt_type = evt_type;
last_sgqa=sgqa;

}

/*]]>*/
</script>

        <article id="block_error">
            <div>
                                    <h1>500: Internal Server Error</h1>
                                <h2>CDbCommand failed to execute the SQL
 statement: SQLSTATE[22001]: String data, right truncated: 1406 Data too
 long for column '721221X2043X31723' at row 1</h2>
                <p>
                    An internal error occurred while the Web server was processing your request.
                </p>
                <p>
                                            Please contact Administrator to report this problem.
                                    </p>
            </div>
        </article>
                    
            <script type="text/javascript" src="500InternalServerError_fichiers/expression.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
heartBeat.beat({ "endpoint":"\/3LTS\/index.php?r=plugins\/direct&plugin=HeartBeat&function=beat","interval":1296000 });

            try{ 
                triggerEmClassChange(); 
            } catch(e) {
                console.ls.warn('triggerEmClassChange could not be run. Is survey.js correctly loaded?');
            }

triggerEmRelevance();
jQuery(document).off('pjax:scriptcomplete.mainBottom').on('ready pjax:scriptcomplete.mainBottom', function() {
updateMandatoryErrorClass();
});
/*]]>*/
</script>


<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="500InternalServerError_fichiers/api.js"></script></html>
500InternalServerError.html (7,955 bytes)   
CDbException.html (26,666 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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">
<title>CDbException</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>CDbException</h1>

	<p class="message">
		CDbCommand failed to execute the SQL statement: SQLSTATE[22001]: 
String data, right truncated: 1406 Data too long for column 
'721221X2043X31723' at row 1. The SQL statement executed was: UPDATE 
`lime_survey_721221` SET `lastpage`=:yp0, `721221X2043X31723`=:yp1 WHERE
 `lime_survey_721221`.`id`=2	</p>

	<div class="source">
		<p class="file">/mnt/data/shnoulle/nginx/www/3LTS/framework/db/CDbCommand.php(358)</p>
		<div class="code"><pre><span class="ln">346</span>         {
<span class="ln">347</span>             if($this-&gt;_connection-&gt;enableProfiling)
<span class="ln">348</span>                 Yii::endProfile('system.db.CDbCommand.execute('.$this-&gt;getText().$par.')','system.db.CDbCommand.execute');
<span class="ln">349</span> 
<span class="ln">350</span>             $errorInfo=$e instanceof PDOException ? $e-&gt;errorInfo : null;
<span class="ln">351</span>             $message=$e-&gt;getMessage();
<span class="ln">352</span>             Yii::log(Yii::t('yii','CDbCommand::execute() failed: {error}. The SQL statement executed was: {sql}.',
<span class="ln">353</span>                 array('{error}'=&gt;$message, '{sql}'=&gt;$this-&gt;getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
<span class="ln">354</span> 
<span class="ln">355</span>             if(YII_DEBUG)
<span class="ln">356</span>                 $message.='. The SQL statement executed was: '.$this-&gt;getText().$par;
<span class="ln">357</span> 
<span class="error"><span class="ln error-ln">358</span>             throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
</span><span class="ln">359</span>                 array('{error}'=&gt;$message)),(int)$e-&gt;getCode(),$errorInfo);
<span class="ln">360</span>         }
<span class="ln">361</span>     }
<span class="ln">362</span> 
<span class="ln">363</span>     /**
<span class="ln">364</span>      * Executes the SQL statement and returns query result.
<span class="ln">365</span>      * This method is for executing an SQL query that returns result set.
<span class="ln">366</span>      * @param array $params input parameters (name=&gt;value) for the SQL execution. This is an alternative
<span class="ln">367</span>      * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing
<span class="ln">368</span>      * them in this way can improve the performance. Note that if you pass parameters in this way,
<span class="ln">369</span>      * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.
<span class="ln">370</span>      * Please also note that all values are treated as strings in this case, if you need them to be handled as
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace core collapsed">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/db/ar/CActiveRecord.php(1756): <strong>CDbCommand</strong>-&gt;<strong>execute</strong>()				</div>

				<div class="code"><pre><span class="ln">1751</span>         Yii::trace(get_class($this).'.updateByPk()','system.db.ar.CActiveRecord');
<span class="ln">1752</span>         $builder=$this-&gt;getCommandBuilder();
<span class="ln">1753</span>         $table=$this-&gt;getTableSchema();
<span class="ln">1754</span>         $criteria=$builder-&gt;createPkCriteria($table,$pk,$condition,$params);
<span class="ln">1755</span>         $command=$builder-&gt;createUpdateCommand($table,$attributes,$criteria);
<span class="error"><span class="ln error-ln">1756</span>         return $command-&gt;execute();
</span><span class="ln">1757</span>     }
<span class="ln">1758</span> 
<span class="ln">1759</span>     /**
<span class="ln">1760</span>      * Updates records with the specified condition.
<span class="ln">1761</span>      * See {@link find()} for detailed explanation about $condition and $params.
</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;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/expressions/em_manager_helper.php(5589): <strong>CActiveRecord</strong>-&gt;<strong>updateByPk</strong>("2", array("lastpage" =&gt; 1, "721221X2043X31723" =&gt; "AZDJKQHSUHSU"))				</div>

				<div class="code"><pre><span class="ln">5584</span>                         LimeExpressionManager::addFrontendFlashMessage('error', $message, $this-&gt;sid);
<span class="ln">5585</span>                         return;
<span class="ln">5586</span>                     }
<span class="ln">5587</span>                     //If the responses already have been submitted once they are marked as completed already, so they shouldn't be changed.
<span class="ln">5588</span>                     if ($oResponse-&gt;submitdate == null || Survey::model()-&gt;findByPk($this-&gt;sid)-&gt;alloweditaftercompletion == 'Y') {
<span class="error"><span class="ln error-ln">5589</span>                         Response::model($this-&gt;sid)-&gt;updateByPk($oResponse-&gt;id,$aResponseAttributes);
</span><span class="ln">5590</span>                         /* See https://www.php.net/manual/en/pdostatement.rowcount.php :
<span class="ln">5591</span>                          * this behaviour is not guaranteed for all databases and should not be relied on for portable applications.
<span class="ln">5592</span>                          */
<span class="ln">5593</span>                         // Action in case its saved with success : to be move in Response::aferSave ?
<span class="ln">5594</span>                         // Save Timings if needed
</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;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/expressions/em_manager_helper.php(5067): <strong>LimeExpressionManager</strong>-&gt;<strong>_UpdateValuesInDatabase</strong>()				</div>

				<div class="code"><pre><span class="ln">5062</span>                     $LEM-&gt;updatedValues[$knownVar['sgqa']]=array(
<span class="ln">5063</span>                         'type'=&gt;$knownVar['type'],
<span class="ln">5064</span>                         'value'=&gt;$value,
<span class="ln">5065</span>                     );
<span class="ln">5066</span>                 }
<span class="error"><span class="ln error-ln">5067</span>                 $LEM-&gt;_UpdateValuesInDatabase();
</span><span class="ln">5068</span>             }
<span class="ln">5069</span> 
<span class="ln">5070</span>             return array(
<span class="ln">5071</span>             'hasNext'=&gt;true,
<span class="ln">5072</span>             'hasPrevious'=&gt;false,
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(665): <strong>LimeExpressionManager</strong>::<strong>StartSurvey</strong>("721221",
 "survey", array("active" =&gt; true, "allowsave" =&gt; true, 
"anonymized" =&gt; false, "assessments" =&gt; false, ...), false, ...)		
		</div>

				<div class="code"><pre><span class="ln">660</span>             if ($this-&gt;iSurveyid != LimeExpressionManager::getLEMsurveyId()) {
<span class="ln">661</span>                 LimeExpressionManager::SetDirtyFlag();
<span class="ln">662</span>             }
<span class="ln">663</span> 
<span class="ln">664</span>             // Init $LEM states.
<span class="error"><span class="ln error-ln">665</span>             LimeExpressionManager::StartSurvey($this-&gt;iSurveyid, $this-&gt;sSurveyMode, $this-&gt;aSurveyOptions, false, $this-&gt;LEMdebugLevel);
</span><span class="ln">666</span>             $_SESSION[$this-&gt;LEMsessid]['step'] = 0;
<span class="ln">667</span> 
<span class="ln">668</span>             // Welcome page.
<span class="ln">669</span>             if ($this-&gt;sSurveyMode == 'survey') {
<span class="ln">670</span>                 LimeExpressionManager::JumpTo(1, false, false, true);
</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;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(526): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>initFirstStep</strong>()				</div>

				<div class="code"><pre><span class="ln">521</span>      *   + Is the survey finished?
<span class="ln">522</span>      *   + Are all the answer validated? (like: participant didn't answered to a mandatory question)
<span class="ln">523</span>      */
<span class="ln">524</span>     private function initMove()
<span class="ln">525</span>     {
<span class="error"><span class="ln error-ln">526</span>         $this-&gt;initFirstStep(); // If it's the first time user load this survey, will init session and LEM
</span><span class="ln">527</span>         $this-&gt;initTotalAndMaxSteps();
<span class="ln">528</span>         $this-&gt;checkIfUseBrowserNav(); // Check if user used browser navigation, or relaoded page
<span class="ln">529</span>         if ($this-&gt;sMove != 'clearcancel' &amp;&amp; $this-&gt;sMove != 'confirmquota') {
<span class="ln">530</span>             $this-&gt;checkPrevStep(); // Check if prev step is set, else set it
<span class="ln">531</span>             $this-&gt;setMoveResult();
</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;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(104): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>initMove</strong>()				</div>

				<div class="code"><pre><span class="ln">099</span>         if (!isset($_SESSION[$this-&gt;LEMsessid]['step'])) {
<span class="ln">100</span>             $this-&gt;showTokenOrCaptchaFormsIfNeeded();
<span class="ln">101</span>         }
<span class="ln">102</span> 
<span class="ln">103</span>         if (!$this-&gt;previewgrp &amp;&amp; !$this-&gt;previewquestion) {
<span class="error"><span class="ln error-ln">104</span>             $this-&gt;initMove(); // main methods to init session, LEM, moves, errors, etc
</span><span class="ln">105</span>             $this-&gt;checkForDataSecurityAccepted(); // must be called after initMove to allow LEM to be initialized
<span class="ln">106</span>             $this-&gt;checkQuotas(); // check quotas (then the process will stop here)
<span class="ln">107</span>             $this-&gt;displayFirstPageIfNeeded();
<span class="ln">108</span>             $this-&gt;saveAllIfNeeded();
<span class="ln">109</span>             $this-&gt;saveSubmitIfNeeded();
</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;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/survey/index.php(585): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>run</strong>("721221",
 array("surveyid" =&gt; "721221", "thissurvey" =&gt; array("htmlemail" 
=&gt; "Y", "format" =&gt; "A", "template" =&gt; "vanilla", "language" 
=&gt; "en", ...), "thisstep" =&gt; null, "tokensexist" =&gt; 0, ...))			
	</div>

				<div class="code"><pre><span class="ln">580</span>         unset($redata);
<span class="ln">581</span>         $redata = compact(array_keys(get_defined_vars()));
<span class="ln">582</span>         Yii::import('application.helpers.SurveyRuntimeHelper');
<span class="ln">583</span>         $tmp = new SurveyRuntimeHelper();
<span class="ln">584</span>         // try {
<span class="error"><span class="ln error-ln">585</span>             $tmp-&gt;run($surveyid, $redata);
</span><span class="ln">586</span>         // } catch (WrongTemplateVersionException $ex) {
<span class="ln">587</span>         //     echo $ex-&gt;getMessage();
<span class="ln">588</span>         // }
<span class="ln">589</span>     }
<span class="ln">590</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;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/survey/index.php(24): <strong>index</strong>-&gt;<strong>action</strong>()				</div>

				<div class="code"><pre><span class="ln">19</span>     public $oTemplate;
<span class="ln">20</span> 
<span class="ln">21</span>     public function run()
<span class="ln">22</span>     {
<span class="ln">23</span>         useFirebug();
<span class="error"><span class="ln error-ln">24</span>         $this-&gt;action();
</span><span class="ln">25</span>     }
<span class="ln">26</span> 
<span class="ln">27</span>     public function action()
<span class="ln">28</span>     {
<span class="ln">29</span>         global $surveyid;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/actions/CAction.php(76): <strong>index</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">71</span>     {
<span class="ln">72</span>         $method=new ReflectionMethod($this, 'run');
<span class="ln">73</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="ln">74</span>             return $this-&gt;runWithParamsInternal($this, $method, $params);
<span class="ln">75</span> 
<span class="error"><span class="ln error-ln">76</span>         $this-&gt;run();
</span><span class="ln">77</span>         return true;
<span class="ln">78</span>     }
<span class="ln">79</span> 
<span class="ln">80</span>     /**
<span class="ln">81</span>      * Executes a method of an object with the supplied named parameters.
</pre></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;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(308): <strong>CAction</strong>-&gt;<strong>runWithParams</strong>(array("r" =&gt; "survey/index", "sid" =&gt; "721221", "Q00" =&gt; "AZDJKQHSUHSU", "newtest" =&gt; "Y", ...))				</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">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(index)				</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">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(index, 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">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(282): <strong>CController</strong>-&gt;<strong>run</strong>("index")				</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">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index")				</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">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/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">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/index.php(194): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">189</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">190</span> 
<span class="ln">191</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">192</span> 
<span class="ln">193</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">194</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">195</span> 
<span class="ln">196</span> /* End of file index.php */
<span class="ln">197</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2020-07-10 06:27:05 nginx/1.18.0 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.22-dev	</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>



<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="CDbException_fichiers/api.js"></script></html>
CDbException.html (26,666 bytes)   
Bug heat8
Complete LimeSurvey version number (& build)3.22.25
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionmariadb
Server OS (if known)fedora/linux
Webserver software & version (if known)nginx
PHP Versionphp7.3

Relationships

parent of 16482 new Prefill value broke survey policy (and GPDR ?) 
related to 16937 ready for code reviewollehar Easy way to launch CDBException 
Not all the children of this issue are yet resolved or closed.

Activities

DenisChenu

DenisChenu

2020-07-10 11:29

developer   ~58894

https://github.com/LimeSurvey/LimeSurvey/pull/1480

cdorin

cdorin

2021-01-05 17:23

reporter   ~61439

@DenisChenu, do you have an .lss file to easily reproduce the issue? Using any specific survey settings?

DenisChenu

DenisChenu

2021-01-05 17:24

developer   ~61440

Nothing specific , bu i can send a lss

DenisChenu

DenisChenu

2021-01-05 17:28

developer   ~61441

Last edited: 2021-01-05 17:28

index.php?r=survey/index&sid=113483&newtest=Y&lang=en&Q00=ABDCEFGH

DenisChenu

DenisChenu

2021-01-05 17:30

developer   ~61442

Q00 is a Yes/No questioin here . DB is VARCHAR(5) , prefill value (by URL) up to 5 character ABDCEFGH

DenisChenu

DenisChenu

2021-01-25 12:30

developer   ~61658

Fix committed to 3.x-LTS branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=30944

lime_release_bot

lime_release_bot

2021-01-25 12:40

administrator   ~61659

Fixed in Release 3.25.9+210125

Related Changesets

LimeSurvey: 3.x-LTS 6142626e

2021-01-25 12:30:40

DenisChenu


Committer: GitHub Details Diff
Fixed issue 16481: Easy way to launch CDBException (#1480)

Dev: use checkValidityAnswer to allow or not prefilling
Dev: set other to true : can be invalid, but don't broke DB
Affected Issues
16481
mod - application/helpers/expressions/em_manager_helper.php Diff File

Issue History

Date Modified Username Field Change
2020-07-10 08:34 DenisChenu New Issue
2020-07-10 08:34 DenisChenu File Added: 500InternalServerError.html
2020-07-10 08:34 DenisChenu File Added: CDbException.html
2020-07-10 09:31 DenisChenu Relationship added parent of 16482
2020-07-10 11:10 tomasz Issue Monitored: tomasz
2020-07-10 11:29 DenisChenu Note Added: 58894
2020-12-28 14:49 cdorin Priority none => normal
2020-12-28 14:49 cdorin Status new => confirmed
2020-12-28 14:49 cdorin Sync to Zoho Project => |Yes|
2020-12-31 15:24 gabrieljenik Issue cloned: 16937
2020-12-31 15:25 gabrieljenik Relationship added related to 16937
2021-01-05 17:23 cdorin Note Added: 61439
2021-01-05 17:24 DenisChenu Note Added: 61440
2021-01-05 17:28 DenisChenu Note Added: 61441
2021-01-05 17:28 DenisChenu File Added: survey_archive_113483.lsa
2021-01-05 17:28 DenisChenu File Added: Capture d’écran du 2021-01-05 17-27-59.png
2021-01-05 17:28 DenisChenu Note Edited: 61441
2021-01-05 17:28 DenisChenu Note Edited: 61441
2021-01-05 17:30 DenisChenu Note Added: 61442
2021-01-25 12:30 DenisChenu Changeset attached => LimeSurvey 3.x-LTS 6142626e
2021-01-25 12:30 DenisChenu Note Added: 61658
2021-01-25 12:30 DenisChenu Assigned To => DenisChenu
2021-01-25 12:30 DenisChenu Resolution open => fixed
2021-01-25 12:40 lime_release_bot Sync to Zoho Project Yes => |Yes|
2021-01-25 12:40 lime_release_bot Note Added: 61659
2021-01-25 12:40 lime_release_bot Status confirmed => closed