View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
18403Bug reportsTranslationpublic2022-10-24 12:33
Reportergabrieljenik Assigned Togabrieljenik  
PrioritynormalSeverityblock 
Status closedResolutionfixed 
Summary18403: Dump when loading demo site
Description

https://demo.limesurvey.org/?lang=te

WrongTemplateVersionException
Can't render layout layout_errors.twig for template fruity. Template version in database is 3.0, but in config.xml it's 3.0.1. Please re-install the template.

TagsNo tags attached.
Bug heat6
Complete LimeSurvey version number (& build)5.x
I will donate to the project if issue is resolvedNo
Browser
Database type & versionMysql
Server OS (if known)
Webserver software & version (if known)
PHP Versionphp

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2022-10-06 18:15

developer   ~72156

Since all other are OK, i think it's due to twig generated cache ?

gabrieljenik

gabrieljenik

2022-10-07 19:26

manager   ~72167

PR: https://github.com/LimeSurvey/LimeSurvey/pull/2649

DenisChenu

DenisChenu

2022-10-08 14:38

developer   ~72170

For information, issue with debug set was before.

PHP warning.html (35,509 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 warning</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 warning</h1>

	<p class="message">
		unpack(): Type c: not enough input, need 1, have 0	</p>

	<div class="source">
		<p class="file">/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/i18n/gettext/CGettextMoFile.php(77)</p>
		<div class="code"><pre><span class="ln">65</span>      * @throws CException
<span class="ln">66</span>      */
<span class="ln">67</span>     public function load($file,$context)
<span class="ln">68</span>     {
<span class="ln">69</span>         if(!($fr=@fopen($file,'rb')))
<span class="ln">70</span>             throw new CException(Yii::t('yii','Unable to read file "{file}".',
<span class="ln">71</span>                 array('{file}'=&gt;$file)));
<span class="ln">72</span> 
<span class="ln">73</span>         if(!@flock($fr,LOCK_SH))
<span class="ln">74</span>             throw new CException(Yii::t('yii','Unable to lock file "{file}" for reading.',
<span class="ln">75</span>                 array('{file}'=&gt;$file)));
<span class="ln">76</span> 
<span class="error"><span class="ln error-ln">77</span>         $array=unpack('c',$this-&gt;readByte($fr,4));
</span><span class="ln">78</span>         $magic=current($array);
<span class="ln">79</span>         if($magic==-34)
<span class="ln">80</span>             $this-&gt;useBigEndian=false;
<span class="ln">81</span>         elseif($magic==-107)
<span class="ln">82</span>             $this-&gt;useBigEndian=true;
<span class="ln">83</span>         else
<span class="ln">84</span>             throw new CException(Yii::t('yii','Invalid MO file: {file} (magic: {magic}).',
<span class="ln">85</span>                 array('{file}'=&gt;$file,'{magic}'=&gt;$magic)));
<span class="ln">86</span> 
<span class="ln">87</span>         if(($revision=$this-&gt;readInteger($fr))!=0)
<span class="ln">88</span>             throw new CException(Yii::t('yii','Invalid MO file revision: {revision}.',
<span class="ln">89</span>                 array('{revision}'=&gt;$revision)));
</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;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/i18n/gettext/CGettextMoFile.php(77):
 <strong>unpack</strong>("c", "")				</div>

				<div class="code"><pre><span class="ln">72</span> 
<span class="ln">73</span>         if(!@flock($fr,LOCK_SH))
<span class="ln">74</span>             throw new CException(Yii::t('yii','Unable to lock file "{file}" for reading.',
<span class="ln">75</span>                 array('{file}'=&gt;$file)));
<span class="ln">76</span> 
<span class="error"><span class="ln error-ln">77</span>         $array=unpack('c',$this-&gt;readByte($fr,4));
</span><span class="ln">78</span>         $magic=current($array);
<span class="ln">79</span>         if($magic==-34)
<span class="ln">80</span>             $this-&gt;useBigEndian=false;
<span class="ln">81</span>         elseif($magic==-107)
<span class="ln">82</span>             $this-&gt;useBigEndian=true;
</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;/home/www/demonstrations/master.sondages.pro/htdocs/application/core/LSMessageSource.php(83): <strong>CGettextMoFile</strong>-&gt;<strong>load</strong>("/home/www/demonstrations/master.sondages.pro/htdocs/application/...", "")				</div>

				<div class="code"><pre><span class="ln">78</span>             if ($this-&gt;useMoFile) {
<span class="ln">79</span>                 $file = new CGettextMoFile($this-&gt;useBigEndian);
<span class="ln">80</span>             } else {
<span class="ln">81</span>                 $file = new CGettextPoFile();
<span class="ln">82</span>             }
<span class="error"><span class="ln error-ln">83</span>             $messagesGettext = $file-&gt;load($messageFile, $category);
</span><span class="ln">84</span>         } else {
<span class="ln">85</span>             $messagesGettext = array();
<span class="ln">86</span>         }
<span class="ln">87</span> 
<span class="ln">88</span>         /* Messages by DB */
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/i18n/CMessageSource.php(103):
 <strong>LSMessageSource</strong>-&gt;<strong>loadMessages</strong>("", "te")				</div>

				<div class="code"><pre><span class="ln">098</span>      */
<span class="ln">099</span>     protected function translateMessage($category,$message,$language)
<span class="ln">100</span>     {
<span class="ln">101</span>         $key=$language.'.'.$category;
<span class="ln">102</span>         if(!isset($this-&gt;_messages[$key]))
<span class="error"><span class="ln error-ln">103</span>             $this-&gt;_messages[$key]=$this-&gt;loadMessages($category,$language);
</span><span class="ln">104</span>         if(isset($this-&gt;_messages[$key][$message]) &amp;&amp; $this-&gt;_messages[$key][$message]!=='')
<span class="ln">105</span>             return $this-&gt;_messages[$key][$message];
<span class="ln">106</span>         elseif($this-&gt;hasEventHandler('onMissingTranslation'))
<span class="ln">107</span>         {
<span class="ln">108</span>             $event=new CMissingTranslationEvent($this,$category,$message,$language);
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/i18n/CMessageSource.php(85):
 <strong>CMessageSource</strong>-&gt;<strong>translateMessage</strong>("", "Afrikaans", "te")				</div>

				<div class="code"><pre><span class="ln">80</span>     public function translate($category,$message,$language=null)
<span class="ln">81</span>     {
<span class="ln">82</span>         if($language===null)
<span class="ln">83</span>             $language=Yii::app()-&gt;getLanguage();
<span class="ln">84</span>         if($this-&gt;forceTranslation || $language!==$this-&gt;getLanguage())
<span class="error"><span class="ln error-ln">85</span>             return $this-&gt;translateMessage($category,$message,$language);
</span><span class="ln">86</span>         else
<span class="ln">87</span>             return $message;
<span class="ln">88</span>     }
<span class="ln">89</span> 
<span class="ln">90</span>     /**
</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;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/YiiBase.php(620): <strong>CMessageSource</strong>-&gt;<strong>translate</strong>("", "Afrikaans", "te")				</div>

				<div class="code"><pre><span class="ln">615</span>         if(self::$_app!==null)
<span class="ln">616</span>         {
<span class="ln">617</span>             if($source===null)
<span class="ln">618</span>                 $source=($category==='yii'||$category==='zii')?'coreMessages':'messages';
<span class="ln">619</span>             if(($source=self::$_app-&gt;getComponent($source))!==null)
<span class="error"><span class="ln error-ln">620</span>                 $message=$source-&gt;translate($category,$message,$language);
</span><span class="ln">621</span>         }
<span class="ln">622</span>         if($params===array())
<span class="ln">623</span>             return $message;
<span class="ln">624</span>         if(!is_array($params))
<span class="ln">625</span>             $params=array($params);
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/helpers/common_helper.php(30): <strong>YiiBase</strong>::<strong>t</strong>("", "Afrikaans", array(), LSMessageSource, ...)				</div>

				<div class="code"><pre><span class="ln">25</span>  * @param string $sLanguage
<span class="ln">26</span>  * @return string
<span class="ln">27</span>  */
<span class="ln">28</span> function gT($sToTranslate, $sEscapeMode = 'html', $sLanguage = null)
<span class="ln">29</span> {
<span class="error"><span class="ln error-ln">30</span>     return quoteText(Yii::t('', $sToTranslate, array(), null, $sLanguage), $sEscapeMode);
</span><span class="ln">31</span> }
<span class="ln">32</span> 
<span class="ln">33</span> /**
<span class="ln">34</span>  * As gT(), but echoes directly
<span class="ln">35</span>  *
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/helpers/surveytranslator_helper.php(82): <strong>gT</strong>("Afrikaans")				</div>

				<div class="code"><pre><span class="ln">77</span>     if (isset($result[$sLanguageCode][$bOrderByNative])) {
<span class="ln">78</span>         return $result[$sLanguageCode][$bOrderByNative];
<span class="ln">79</span>     }
<span class="ln">80</span> 
<span class="ln">81</span>     // Afrikaans
<span class="error"><span class="ln error-ln">82</span>     $supportedLanguages['af']['description'] = gT('Afrikaans');
</span><span class="ln">83</span>     $supportedLanguages['af']['nativedescription'] = 'Afrikaans';
<span class="ln">84</span>     $supportedLanguages['af']['rtl'] = false;
<span class="ln">85</span>     $supportedLanguages['af']['dateformat'] = 1;
<span class="ln">86</span>     $supportedLanguages['af']['radixpoint'] = 1;
<span class="ln">87</span>     $supportedLanguages['af']['momentjs'] = 'af';
</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;/home/www/demonstrations/master.sondages.pro/htdocs/application/helpers/surveytranslator_helper.php(1248): <strong>getLanguageData</strong>(false, "te")				</div>

				<div class="code"><pre><span class="ln">1243</span> }
<span class="ln">1244</span> 
<span class="ln">1245</span> 
<span class="ln">1246</span> function getLanguageRTL($sLanguageCode)
<span class="ln">1247</span> {
<span class="error"><span class="ln error-ln">1248</span>     $aLanguageData = getLanguageData(false, $sLanguageCode);
</span><span class="ln">1249</span>     if (isset($aLanguageData[$sLanguageCode]) &amp;&amp; isset($aLanguageData[$sLanguageCode]['rtl'])) {
<span class="ln">1250</span>         return $aLanguageData[$sLanguageCode]['rtl'];
<span class="ln">1251</span>     } else {
<span class="ln">1252</span>         return false;
<span class="ln">1253</span>     }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/TemplateConfig.php(242): <strong>getLanguageRTL</strong>("te")				</div>

				<div class="code"><pre><span class="ln">237</span>      * @param TemplateConfiguration $oTemplate
<span class="ln">238</span>      * @return string[]
<span class="ln">239</span>      */
<span class="ln">240</span>     protected function getDependsPackages($oTemplate)
<span class="ln">241</span>     {
<span class="error"><span class="ln error-ln">242</span>         $dir = (getLanguageRTL(App()-&gt;getLanguage())) ? 'rtl' : 'ltr';
</span><span class="ln">243</span> 
<span class="ln">244</span>         /* Core package */
<span class="ln">245</span>         $packages[] = 'limesurvey-public';
<span class="ln">246</span>         $packages[] = 'template-core';
<span class="ln">247</span>         $packages[] = ($dir == "ltr") ? 'template-core-ltr' : 'template-core-rtl'; // Awesome Bootstrap Checkboxes
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/TemplateConfiguration.php(1250): <strong>TemplateConfig</strong>-&gt;<strong>getDependsPackages</strong>(TemplateConfiguration)				</div>

				<div class="code"><pre><span class="ln">1245</span>         // Options are optional
<span class="ln">1246</span>         $this-&gt;setOptions();
<span class="ln">1247</span> 
<span class="ln">1248</span>         // Not mandatory (use package dependances)
<span class="ln">1249</span>         $this-&gt;setCssFramework();
<span class="error"><span class="ln error-ln">1250</span>         $this-&gt;packages = $this-&gt;getDependsPackages($this);
</span><span class="ln">1251</span>         if (!empty($this-&gt;packages_to_load)) {
<span class="ln">1252</span>             $templateToLoadPackages = json_decode($this-&gt;packages_to_load);
<span class="ln">1253</span>             if (!empty($templateToLoadPackages-&gt;add)) {
<span class="ln">1254</span>                 $this-&gt;packages = array_merge($templateToLoadPackages-&gt;add, $this-&gt;packages);
<span class="ln">1255</span>             }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/TemplateConfiguration.php(1697): <strong>TemplateConfiguration</strong>-&gt;<strong>setThisTemplate</strong>()				</div>

				<div class="code"><pre><span class="ln">1692</span>             }
<span class="ln">1693</span>         }
<span class="ln">1694</span> 
<span class="ln">1695</span>         $this-&gt;setBasics($sTemplateName, $iSurveyId, $bUseMagicInherit);
<span class="ln">1696</span>         $this-&gt;setMotherTemplates(); // Recursive mother templates configuration
<span class="error"><span class="ln error-ln">1697</span>         $this-&gt;setThisTemplate(); // Set the main config values of this template
</span><span class="ln">1698</span>         $this-&gt;createTemplatePackage($this); // Create an asset package ready to be loaded
<span class="ln">1699</span>         $this-&gt;removeFiles();
<span class="ln">1700</span>         $this-&gt;getshowpopups();
<span class="ln">1701</span> 
<span class="ln">1702</span>         if (!empty($sTemplateName) &amp;&amp; !empty($iSurveyId)) {
</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;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/TemplateConfiguration.php(1188): <strong>TemplateConfiguration</strong>-&gt;<strong>prepareTemplateRendering</strong>("vanilla", "")				</div>

				<div class="code"><pre><span class="ln">1183</span>     {
<span class="ln">1184</span>         if (!empty($this-&gt;template-&gt;extends)) {
<span class="ln">1185</span>             $sMotherTemplateName   = $this-&gt;template-&gt;extends;
<span class="ln">1186</span>             $instance = TemplateConfiguration::getInstanceFromTemplateName($sMotherTemplateName);
<span class="ln">1187</span>             $instance-&gt;template-&gt;checkTemplate();
<span class="error"><span class="ln error-ln">1188</span>             $this-&gt;oMotherTemplate = $instance-&gt;prepareTemplateRendering($sMotherTemplateName, '');
</span><span class="ln">1189</span>         }
<span class="ln">1190</span>     }
<span class="ln">1191</span> 
<span class="ln">1192</span>     /**
<span class="ln">1193</span>      * Get the closest template in the hierarchy that has the definition for $attribute
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/TemplateConfiguration.php(1696): <strong>TemplateConfiguration</strong>-&gt;<strong>setMotherTemplates</strong>()				</div>

				<div class="code"><pre><span class="ln">1691</span>                 self::$aPreparedToRender[$sTemplateName][$iSurveyId][$bUseMagicInherit] = array();
<span class="ln">1692</span>             }
<span class="ln">1693</span>         }
<span class="ln">1694</span> 
<span class="ln">1695</span>         $this-&gt;setBasics($sTemplateName, $iSurveyId, $bUseMagicInherit);
<span class="error"><span class="ln error-ln">1696</span>         $this-&gt;setMotherTemplates(); // Recursive mother templates configuration
</span><span class="ln">1697</span>         $this-&gt;setThisTemplate(); // Set the main config values of this template
<span class="ln">1698</span>         $this-&gt;createTemplatePackage($this); // Create an asset package ready to be loaded
<span class="ln">1699</span>         $this-&gt;removeFiles();
<span class="ln">1700</span>         $this-&gt;getshowpopups();
<span class="ln">1701</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/models/Template.php(507): <strong>TemplateConfiguration</strong>-&gt;<strong>prepareTemplateRendering</strong>("skelvanilla", null)				</div>

				<div class="code"><pre><span class="ln">502</span>             return self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML, true);
<span class="ln">503</span>         }
<span class="ln">504</span> 
<span class="ln">505</span>         if (empty(self::$instance) || ! self::isCorrectInstance($sTemplateName)) {
<span class="ln">506</span>             self::$instance = self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML);
<span class="error"><span class="ln error-ln">507</span>             self::$instance-&gt;prepareTemplateRendering($sTemplateName, $iSurveyId);
</span><span class="ln">508</span>         }
<span class="ln">509</span> 
<span class="ln">510</span>         return self::getLastInstance(false);
<span class="ln">511</span>     }
<span class="ln">512</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/application/controllers/SurveysController.php(34): <strong>Template</strong>::<strong>getInstance</strong>("skelvanilla")				</div>

				<div class="code"><pre><span class="ln">29</span>             $lang = App()-&gt;getConfig('defaultlang');
<span class="ln">30</span>         }
<span class="ln">31</span>             App()-&gt;setLanguage($lang);
<span class="ln">32</span> 
<span class="ln">33</span> 
<span class="error"><span class="ln error-ln">34</span>         $oTemplate       = Template::model()-&gt;getInstance(getGlobalSetting('defaulttheme'));
</span><span class="ln">35</span>         $this-&gt;sTemplate = $oTemplate-&gt;sTemplateName;
<span class="ln">36</span> 
<span class="ln">37</span>         $aData = array(
<span class="ln">38</span>             'publicSurveys'     =&gt; Survey::model()-&gt;active()-&gt;open()-&gt;with('languagesettings')-&gt;findAllPublic(),
<span class="ln">39</span>             'futureSurveys'     =&gt; Survey::model()-&gt;active()-&gt;registration()-&gt;with('languagesettings')-&gt;findAllPublic(),
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>SurveysController</strong>-&gt;<strong>actionPublicList</strong>("te")				</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;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/web/actions/CAction.php(115):
 <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(SurveysController, array("te"))				</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">
				#17			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/web/actions/CInlineAction.php(47):
 <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(SurveysController, ReflectionMethod, array("lang" =&gt; "te"))				</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">
				#18			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/web/CController.php(308): <strong>CInlineAction</strong>-&gt;<strong>runWithParams</strong>(array("lang" =&gt; "te"))				</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">
				#19			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/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">
				#20			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/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">
				#21			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/web/CWebApplication.php(282):
 <strong>CController</strong>-&gt;<strong>run</strong>("")				</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">
				#22			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/yiisoft/yii/framework/web/CWebApplication.php(141):
 <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("")				</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">
				#23			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										
&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/third_party/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">
				#24			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/www/demonstrations/master.sondages.pro/htdocs/index.php(192): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

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

	<div class="version">
		2022-10-08 14:36:41 Apache/2.4.38 (Debian) <a href="https://www.yiiframework.com/">Yii Framework</a>/1.1.26-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="PHP%20warning_fichiers/api.js"></script></html>
PHP warning.html (35,509 bytes)   
DenisChenu

DenisChenu

2022-10-08 14:40

developer   ~72171

PS : why it's a twig exception ?

gabrieljenik

gabrieljenik

2022-10-10 00:06

manager   ~72172

Let me debug it a bit more and be back.

gabrieljenik

gabrieljenik

2022-10-11 22:16

manager   ~72205

It goes in between these lines...

When debug is enabled, you got an exception.

When debug is not enabled, you don't get that stacktrace but the exception is still there, as well as a non fully well configured template instance.
The exception is intended to be displayed with the layout_error template.
When that happens, the template instance is tried to be used but fails as it was not configured properly before.

DenisChenu

DenisChenu

2022-10-12 10:05

developer   ~72214

When that happens, the template instance is tried to be used but fails as it was not configured properly before.

Why template instance need po file then …

Maybe we need to throw an exception before ?

But : clearly have an empty file po/mo or an invalid po/mo file here is a core issue ;)

gabrieljenik

gabrieljenik

2022-10-24 11:50

manager   ~72387

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

LimeBot

LimeBot

2022-10-24 12:33

administrator   ~72389

Fixed in Release 5.4.8+221024

Related Changesets

LimeSurvey: master 1a66178a

2022-10-24 13:38

gabrieljenik

Committer: GitHub


Details Diff
Fixed issue 18403: Dump when loading demo site (#2649)

Dev: Telugu MO file was completely empty
Co-authored-by: encuestabizdevgit <devgit@encuesta.biz>
Affected Issues
18403
mod - locale/te/te.mo Diff File

Issue History

Date Modified Username Field Change
2022-10-06 17:16 gabrieljenik New Issue
2022-10-06 18:15 DenisChenu Note Added: 72156
2022-10-06 18:15 DenisChenu Bug heat 0 => 2
2022-10-07 15:28 ollehar Priority none => normal
2022-10-07 19:26 gabrieljenik Assigned To => DenisChenu
2022-10-07 19:26 gabrieljenik Status new => ready for code review
2022-10-07 19:26 gabrieljenik Note Added: 72167
2022-10-07 19:26 gabrieljenik Bug heat 2 => 4
2022-10-08 14:38 DenisChenu Note Added: 72170
2022-10-08 14:38 DenisChenu File Added: PHP warning.html
2022-10-08 14:40 DenisChenu Note Added: 72171
2022-10-10 00:06 gabrieljenik Note Added: 72172
2022-10-10 08:53 DenisChenu Assigned To DenisChenu => gabrieljenik
2022-10-10 08:53 DenisChenu Status ready for code review => ready for testing
2022-10-11 22:16 gabrieljenik Note Added: 72205
2022-10-12 10:05 DenisChenu Note Added: 72214
2022-10-18 18:41 gabrieljenik Assigned To gabrieljenik => ollehar
2022-10-18 18:41 gabrieljenik Status ready for testing => ready for merge
2022-10-24 11:50 gabrieljenik Changeset attached => LimeSurvey master 1a66178a
2022-10-24 11:50 gabrieljenik Note Added: 72387
2022-10-24 11:50 gabrieljenik Assigned To ollehar => gabrieljenik
2022-10-24 11:50 gabrieljenik Resolution open => fixed
2022-10-24 12:33 LimeBot Note Added: 72389
2022-10-24 12:33 LimeBot Status ready for merge => closed
2022-10-24 12:33 LimeBot Bug heat 4 => 6