I created a PDF with a highcharts chart on it using KNP snappy bundle. If I do getOutputFromHtml(), rendering the twig file without the highcharts chart, it is successful. If I copy and paste an example from highcharts and then getOutputFromHtml(), it is successful. So it is not the path to WKHTMLTOPDF, highcharts, or the javascript causing the issue. If I switch out the example from highcharts with the chart I want to go there, then it throws an error of 'The process has been signaled with signal "11".'. I have the chart on other pages on the site and it does not throw any javascript errors, so it is not the chart. If I look at the html render from the twig file before getOutputFromHtml(), the chart is showing and does not throw any javascript errors. I have animation, enable mouse tracking, and shadow all set to false. The process error only goes away if I shorten the names on the data series or change the y on the last item in the data series. I have looked at other questions with the same error, but none of them solved my problem. I also verified that selinux was not causing the issue.
This is the chart
<script type="text/javascript">
$(document).ready(function () {
Highcharts.chart('tam-by-product-type-chart', {
credits:{
enabled:false
},
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
title: {
text: 'TAM by Product Type'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
accessibility: {
point: {
valueSuffix: '%'
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %'
}
}
},
series: [{
name: 'Share',
enableMouseTracking: false,
shadow: false,
animation: false,
data: [{
name: 'Addressable Wire/Cable',
y: {{ data.totalProductTypes.wireCable|number_format(2) }}
}, {
name: 'Addressable Lighting',
y: {{ data.totalProductTypes.lighting|number_format(2) }}
}, {
name: 'ACRF',
y: {{ data.totalProductTypes.conduitRacewayFittings|number_format(2) }}
}, {
name: 'ADSCB',
y: {{ data.totalProductTypes.distributionSwitchgearCircuitBreakers|number_format(2) }}
}, {
name: 'AIC',
y: {{ data.totalProductTypes.industrialControls|number_format(2) }}
}, {
name: 'All Other',
y: {{ data.totalProductTypes.other|number_format(2) }}
}]
}]
});
});
</script>
This is where I am making the pdf
$bodyHtml = $this->templating->render('pdf/reports/territory_book/body.html.twig', array('data' => $data));
$bodyPdf = $this->pdf->getOutputFromHtml($bodyHtml, array(
'page-size' => 'Letter',
'images' => true,
'enable-javascript' => true,
'javascript-delay' => 5000
));
It ended up being the font size on the chart. I reduced the font size to 5 and it produced the pdf without error.