View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
15756Bug reports_ Unknownpublic2020-02-10 12:40
ReporterDenisChenu Assigned ToDenisChenu  
PrioritynoneSeverityminor 
Status closedResolutionfixed 
Product Version4.0.x 
Fixed in Version4.1.1 
Summary15756: Debug mode and error : difficult to analyse page
Description

With debug mode, when there are error about notice etc … the HTML produced by Yii in 3.X allow to really check where is the error.
It's not the case in 4.X

Steps To Reproduce

Install and import included plugins (there are a PHP notice in this plugin)
Set debug > 1
Launch any survey …
Try to find where is the error …

Additional Information

See difference with 3.X

TagsNo tags attached.
Attached Files
500 Internal Server Error (4.X).html (8,169 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="500%20%20Internal%20Server%20Error_fichiers/noto.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/font-awesome.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/survey.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/embeddables.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/spectrum_002.html">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/template-core.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/awesome-bootstrap-checkbox.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/bootstrap.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/yiistrap.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/ajaxify.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/theme.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/custom.css">
<link rel="stylesheet" type="text/css" href="500%20%20Internal%20Server%20Error_fichiers/errors.css">
<script type="text/javascript">window.debugState = {frontend : (0 === 1), backend : (0 === 1)};</script><script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/jquery-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/jquery-migrate-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/moment-with-locales.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/em_javascript.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/lslog.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/pjax.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/survey.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/spectrum.html" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/template-core.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/bootstrap.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/bootstrapconfirm.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/theme.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/ajaxify.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/custom.js" class="headScriptTag"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/survey_runtime.js" class="headScriptTag"></script>
<title>
                            500: Internal Server Error
                    </title>

                <meta name="generator" content="LimeSurvey http://www.limesurvey.org">
        <link rel="shortcut icon" href="http://limesurvey.local/master/survey/index/action/previewquestion/sid/129419/gid/146/qid/favicon.ico">
    </head>

    <body class="vanilla lang-en " marginwidth="0" marginheight="0"><script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/decimal.js"></script>
<script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/decimalcustom.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
var LEMmode='group';
var LEMgseq='';
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;
}
if (evt_type == 'updated'  && (typeof last_sgqa !== 'undefined' && sgqa==last_sgqa)) {
  last_evt_type='updated';
  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>Undefined variable: chek</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>
                            <pre>                    #0 unknown(0): brokenBeforeSurvey-&gt;beforeSurveyPage()
#1 /mnt/data/shnoulle/nginx/www/master/application/libraries/PluginManager/PluginManager.php(258): call_user_func()
#2 /mnt/data/shnoulle/nginx/www/master/application/controllers/survey/index.php(171): LimeSurvey\PluginManager\PluginManager-&gt;dispatchEvent()
#3 /mnt/data/shnoulle/nginx/www/master/application/controllers/survey/index.php(24): index-&gt;action()
#4 /mnt/data/shnoulle/nginx/www/master/framework/web/actions/CAction.php(76): index-&gt;run()
#5 /mnt/data/shnoulle/nginx/www/master/framework/web/CController.php(308): index-&gt;runWithParams()
#6 /mnt/data/shnoulle/nginx/www/master/framework/web/CController.php(286): SurveyController-&gt;runAction()
#7 /mnt/data/shnoulle/nginx/www/master/framework/web/CController.php(265): SurveyController-&gt;runActionWithFilters()
#8 /mnt/data/shnoulle/nginx/www/master/framework/web/CWebApplication.php(282): SurveyController-&gt;run()
#9 /mnt/data/shnoulle/nginx/www/master/framework/web/CWebApplication.php(141): LSYii_Application-&gt;runController()
#10 /mnt/data/shnoulle/nginx/www/master/framework/base/CApplication.php(185): LSYii_Application-&gt;processRequest()
#11 /mnt/data/shnoulle/nginx/www/master/index.php(195): LSYii_Application-&gt;run()

                </pre>
                        <div>
            </div>
        </article>
                    
            <script type="text/javascript" src="500%20%20Internal%20Server%20Error_fichiers/embeddables.js"></script>
<script type="text/javascript">
/*<![CDATA[*/

            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();
});
jQuery(document).off('pjax:scriptsuccess.debugger').on('pjax:scriptsuccess.debugger',function(e) { console.ls.log('PJAX scriptsuccess', e); });
jQuery(document).off('pjax:scripterror.debugger').on('pjax:scripterror.debugger',function(e) { console.ls.log('PJAX scripterror', e); });
jQuery(document).off('pjax:scripttimeout.debugger').on('pjax:scripttimeout.debugger',function(e) { console.ls.log('PJAX scripttimeout', e); });
jQuery(document).off('pjax:success.debugger').on('pjax:success.debugger',function(e) { console.ls.log('PJAX success', e);});
jQuery(document).off('pjax:error.debugger').on('pjax:error.debugger',function(e) { console.ls.log('PJAX error', e);});
/*]]>*/
</script>


</body></html>
PHP notice (3.X).html (17,997 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>PHP notice</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 notice</h1>

	<p class="message">
		Undefined variable: chek	</p>

	<div class="source">
		<p class="file">/mnt/data/shnoulle/nginx/www/3LTS/plugins/brokenBeforeSurvey/brokenBeforeSurvey.php(28)</p>
		<div class="code"><pre><span class="ln">16</span>     static protected $description = 'More hard to debug plugin in develop : error page.';
<span class="ln">17</span>     static protected $name = 'brokenBeforeSurvey';
<span class="ln">18</span> 
<span class="ln">19</span> 
<span class="ln">20</span>     public function init()
<span class="ln">21</span>     {
<span class="ln">22</span>         /* Menu maganement */
<span class="ln">23</span>         $this-&gt;subscribe('beforeSurveyPage');
<span class="ln">24</span>     }
<span class="ln">25</span> 
<span class="ln">26</span>     public function beforeSurveyPage()
<span class="ln">27</span>     {
<span class="error"><span class="ln error-ln">28</span>         if ($chek) {
</span><span class="ln">29</span>             // Throw a 500 error in debug mode
<span class="ln">30</span>         }
<span class="ln">31</span>     }
<span class="ln">32</span> }
</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">
										&nbsp;unknown(0): <strong>brokenBeforeSurvey</strong>-&gt;<strong>beforeSurveyPage</strong>()				</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/libraries/PluginManager/PluginManager.php(185): <strong>call_user_func</strong>(array(brokenBeforeSurvey, "beforeSurveyPage"))				</div>

				<div class="code"><pre><span class="ln">180</span>         if (isset($this-&gt;subscriptions[$eventName])) {
<span class="ln">181</span>             foreach ($this-&gt;subscriptions[$eventName] as $subscription) {
<span class="ln">182</span>                 if (!$event-&gt;isStopped()
<span class="ln">183</span>                  &amp;&amp; (empty($target) || in_array(get_class($subscription[0]), $target))) {
<span class="ln">184</span>                     $subscription[0]-&gt;setEvent($event);
<span class="error"><span class="ln error-ln">185</span>                     call_user_func($subscription);
</span><span class="ln">186</span>                 }
<span class="ln">187</span>             }
<span class="ln">188</span>         }
<span class="ln">189</span> 
<span class="ln">190</span>         return $event;
</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/controllers/survey/index.php(158): <strong>LimeSurvey\PluginManager\PluginManager</strong>-&gt;<strong>dispatchEvent</strong>(PluginEvent)				</div>

				<div class="code"><pre><span class="ln">153</span>         }
<span class="ln">154</span> 
<span class="ln">155</span>         /* Launch beforeSurveyPage before all renderExitMessage */
<span class="ln">156</span>         $beforeSurveyPageEvent = new PluginEvent('beforeSurveyPage');
<span class="ln">157</span>         $beforeSurveyPageEvent-&gt;set('surveyId', $surveyid);
<span class="error"><span class="ln error-ln">158</span>         App()-&gt;getPluginManager()-&gt;dispatchEvent($beforeSurveyPageEvent);
</span><span class="ln">159</span> 
<span class="ln">160</span>         if ($this-&gt;_isClientTokenDifferentFromSessionToken($clienttoken, $surveyid)) {
<span class="ln">161</span>             $sReloadUrl = $this-&gt;getController()-&gt;createUrl("/survey/index/sid/{$surveyid}", array('token'=&gt;$clienttoken, 'lang'=&gt;App()-&gt;language, 'newtest'=&gt;'Y'));
<span class="ln">162</span>             $aErrors    = array(gT('Token mismatch'));
<span class="ln">163</span>             $asMessage  = array(gT('The token you provided doesn\'t match the one in your session.'));
</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/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">
				#4			</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">
				#5			</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/action/previewgroup/sid/435135/gid/1350", "action" 
=&gt; "previewgroup", "sid" =&gt; "435135", "gid" =&gt; "1350"))				</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">
				#6			</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">
				#7			</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">
				#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/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">
				#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/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index/action/previewgroup/sid/435135/gid/1350")				</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">
				#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/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">
				#11			</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-01-23 07:25:02 nginx/1.16.1 <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>



</body></html>
PHP notice (3.X).html (17,997 bytes)   
brokenBeforeSurvey.zip (1,426 bytes)
Bug heat6
Complete LimeSurvey version number (& build)4.0.1 github
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant
Server OS (if known)not relevant
Webserver software & version (if known)not relevant
PHP Versionnot relevant

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2020-01-23 08:29

developer   ~55440

This happen too with error in LimeSurvey code .

Make it really more complex to debug !

DenisChenu

DenisChenu

2020-01-23 08:40

developer   ~55441

LSYii_Application->onException never happen (add die('toto') at start of this function : nothing happen …

DenisChenu

DenisChenu

2020-01-23 09:29

developer   ~55442

@cdorin @ollehar
https://github.com/LimeSurvey/LimeSurvey/pull/1374

ollehar

ollehar

2020-01-23 09:30

administrator   ~55443

Did you check the plugin database table for errors? It should be written there.

DenisChenu

DenisChenu

2020-01-23 10:00

developer   ~55444

@ollehar : and ?
I don't care about database … don't want to check a database when i set debug == 2 …

See the 2 screenshot …

And i think it can be better for Test too …

DenisChenu

DenisChenu

2020-01-23 10:02

developer   ~55445

Updated plugin (to have a 500 error without debug too)

DenisChenu

DenisChenu

2020-02-03 17:00

developer   ~55678

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

lime_release_bot

lime_release_bot

2020-02-10 12:40

administrator   ~55825

Fixed in Release 4.1.2+200210

Related Changesets

LimeSurvey: master 1eec7944

2020-02-03 17:00:47

DenisChenu


Committer: GitHub Details Diff
Fixed issue 15756: Debug mode and error : difficult to analyse page (#1374)

Dev: LSYii_Application->onException manage when need own error handler
Affected Issues
15756
mod - application/config/internal.php Diff File

Issue History

Date Modified Username Field Change
2020-01-23 08:28 DenisChenu New Issue
2020-01-23 08:28 DenisChenu File Added: 500 Internal Server Error (4.X).html
2020-01-23 08:28 DenisChenu File Added: PHP notice (3.X).html
2020-01-23 08:28 DenisChenu File Added: brokenBeforeSurvey.zip
2020-01-23 08:29 DenisChenu Note Added: 55440
2020-01-23 08:40 DenisChenu Note Added: 55441
2020-01-23 09:29 DenisChenu Note Added: 55442
2020-01-23 09:30 ollehar Note Added: 55443
2020-01-23 09:53 ollehar Product Version 4.0.0-RC12 => 4.0.x
2020-01-23 10:00 DenisChenu File Added: Capture d’écran du 2020-01-23 09-59-24.png
2020-01-23 10:00 DenisChenu File Added: Capture d’écran du 2020-01-23 09-59-45.png
2020-01-23 10:00 DenisChenu Note Added: 55444
2020-01-23 10:02 DenisChenu File Added: brokenBeforeSurvey-2.zip
2020-01-23 10:02 DenisChenu Note Added: 55445
2020-02-03 17:00 DenisChenu Changeset attached => LimeSurvey master 1eec7944
2020-02-03 17:00 DenisChenu Note Added: 55678
2020-02-03 17:00 DenisChenu Assigned To => DenisChenu
2020-02-03 17:00 DenisChenu Resolution open => fixed
2020-02-03 18:40 DenisChenu Status new => resolved
2020-02-03 18:40 DenisChenu Fixed in Version => 4.1.1
2020-02-10 12:40 lime_release_bot Note Added: 55825
2020-02-10 12:40 lime_release_bot Status resolved => closed