<table role="table">
<thead>
<tr>
<th>Q</th>
<th>A</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bug report?</td>
<td>yes</td>
</tr>
<tr>
<td>Patch?</td>
<td>yes</td>
</tr>
<tr>
<td>Feature request?</td>
<td>no</td>
</tr>
<tr>
<td>BC Break report?</td>
<td>no</td>
</tr>
<tr>
<td>RFC?</td>
<td>no</td>
</tr>
<tr>
<td>Symfony version</td>
<td>3.2</td>
</tr>
</tbody>
</table>
<p dir="auto">The problem occurs when the amount of cache generated is such that writing is no longer possible on the HttpCache (e.g dedicated disk, my case).</p>
<p dir="auto">More precisely, the temporary file created by <strong>tempnam</strong> can no longer be moved to the HttpCache cache folder.</p>
<p dir="auto">Until then everything is not going so bad, the cache is not created but the page is displayed correctly.</p>
<p dir="auto">Symfony/Component/HttpKernel/HttpCache/Store.php The case is provided line 412</p>
<blockquote>
<p dir="auto">if (false === <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rename/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rename">@rename</a>($tmpFile, $path)) {<br>
return false;<br>
}</p>
</blockquote>
<p dir="auto">The tempnam function creates a unique temporary file for each call to a page to be cached, and if the temporary folder passed as an argument is not writable, tempnam will use /tmp.</p>
<p dir="auto"><em>Note: If PHP cannot create a file in the specified dir parameter, it falls back on the system default. On NTFS this also happens if the specified dir contains more than 65534 files.</em><br>
<a href="http://php.net/manual/en/function.tempnam.php" rel="nofollow">http://php.net/manual/en/function.tempnam.php</a></p>
<p dir="auto">Therefore, as soon as the HttpCache cache is no longer writable, the /tmp fills up fairly quickly, <strong>tempnam</strong> being called on every page (since no page cache) and creating a new unique file in /tmp.</p>
<p dir="auto">Patch:<br>
I propose to delete the temporary file $tmpFile. It will not fix the space problem for the cache but it will no longer fill the server /tmp and will not crash the instance anymore:</p>
<p dir="auto"><a href="https://github.com/symfony/symfony/files/1002484/httpcache.patch.txt">httpcache.patch.txt</a></p>
<p dir="auto">Thx!</p>
<p dir="auto">Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser received a new regular expression in 2.7.10, breaking the use of template names that are not in Resources/views.</p>
<p dir="auto">E.g. a template in "src/My/SuperBundle/Whatever/Template.html.twig" could be found with "@MySuperBundle/Whatever/Template.html.twig" as template name until 2.7.9.</p>
<p dir="auto">As of 2.7.10 the new regex in the TemplateNameParser matches said template name and thus does not use the parent's parse method of Symfony\Component\Templating\TemplateNameParser effectively not finding the template anymore.</p>
<p dir="auto">This should not have happened in a minor release.</p>