From 407f6b2e30a1d2b0be265b2c751bf75642ea9f5e Mon Sep 17 00:00:00 2001 From: Martin d'Allens Date: Sun, 26 Nov 2023 02:16:33 +0100 Subject: [PATCH] Fix crash on ARM during rendering (#1077) * chore: fix crash on ARM during rendering Signed-off-by: Martin d'Allens * chore: remove useless comment Signed-off-by: Martin d'Allens --------- Signed-off-by: Martin d'Allens --- src/serve_rendered.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/serve_rendered.js b/src/serve_rendered.js index 0beb383..da5001e 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -1,12 +1,24 @@ 'use strict'; +// SECTION START +// +// The order of the two imports below is important. +// For an unknown reason, if the order is reversed, rendering can crash. +// This happens on ARM: +// > terminate called after throwing an instance of 'std::runtime_error' +// > what(): Cannot read GLX extensions. +import 'canvas'; +import '@maplibre/maplibre-gl-native'; +// +// SECTION END + import advancedPool from 'advanced-pool'; import fs from 'node:fs'; import path from 'path'; import url from 'url'; import util from 'util'; import zlib from 'zlib'; -import sharp from 'sharp'; // sharp has to be required before node-canvas on linux but after it on windows. see https://github.com/lovell/sharp/issues/371 +import sharp from 'sharp'; import clone from 'clone'; import Color from 'color'; import express from 'express';