Page MenuHomePhabricator

Unable to render new math images in 1.6
Closed, ResolvedPublic

Description

Math.php was recently changed to use 3 levels of subdirectories for the rendered math
images. Unfortunately the code is broken such that initial rendering is done into the
wrong directory, so any newly rendered images end up in the wrong directory and aren't
visible (404).

For instance rendering this bit in the english wikipedia sandbox:
<math>\frac{238490}{89973}</math>

gives this URL:
http://en.wikipedia.org/math/4/8/2/48287d2c5dacab82a7a4b46638ee6781.png

but the file is actually at:
http://en.wikipedia.org/math/48287d2c5dacab82a7a4b46638ee6781.png

The subdirectories are the first three digits of the hex output content hash, which is
used to name the .png files. This value is calculated by texvc, so is not known until
after texvc returns, but we try to generate the directory and pass it to texvc to tell it
where to deposit the image... This ends up trying something like "/math///" which reduces
in Unix semantics to "/math/".

Recommendation: render into the temp directory, then move the image to its final
destination.


Version: unspecified
Severity: normal
URL: http://en.wikipedia.org/math/4/8/2/48287d2c5dacab82a7a4b46638ee6781.png

Details

Reference
bz3877

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 8:55 PM
bzimport added a project: Math.
bzimport set Reference to bz3877.
bzimport added a subscriber: Unknown Object (MLST).

Done; can now render new images.