A .chart page that includes a TabUtils.select transform and specifies columns where the underlying .tab data contains null values does not render. Instead, the page displays the internal error "Fatal exception of type 'Error'".
Example: https://commons.wikimedia.org/w/index.php?title=Data:Crude_Oil_Production.chart&oldid=1051807111
This issue also occurs when the transform does not specify args or cols. In the absence of null values, this setup works correctly and is also useful — it defaults to displaying all available curves but enables client-side column selection in the wiki code.
Example: https://commons.wikimedia.org/w/index.php?title=Data:Crude_Oil_Production.chart&oldid=1050456020
This example works: https://commons.wikimedia.org/w/index.php?title=Data:Crude_Oil_Production.chart&oldid=1051808135
Here, the column that includes null values was omitted from the select transform.
This issue was previously discussed in T388579, which was closed as resolved. However, the problem appears to persist—possibly due to a regression or an unhandled edge case.
Suggested improvements:
- Improve handling or sanitization of null values during transformation. Or:
- Add a clearer error message, that helps users finding a work-around.
- Automatically add failing .chart pages into a hidden maintenance category for tracking purpose.
(While discussing automatic categorization, I also suggest that all transform modules should add .chart pages that include transforms to category:Transformed charts.)
