Read the statement by Michael Teeuw here.
Electron Crashing after update to 2.21.0 with PM2
-
After updating my MagicMirror to version 2.21.0 it seems that Electron is crashing when using PM2 with the following error at crash (from pm2 logs):
0|mm | /home/pi/MagicMirror/node_modules/electron/dist/electron exited with signal SIGTERMAfter the restart there seems to be a large number of errors thrown, though with a repeating pattern of the following:
0|mm | [30696:1006/101030.900201:ERROR:angle_platform_impl.cc(43)] renderergl_utils.cpp:2519 (CheckError): GL call functions->texStorage2D(ToGLenum(type), static_cast<GLsizei>(levels), texStorageFormat.internalFormat, size.width, size.height) generated error 0x00000505 in ../../third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp, setStorage:1052. 0|mm | [30696:1006/101030.901706:ERROR:shared_context_state.cc(811)] SharedContextState context lost via Skia OOM. 0|mm | [30696:1006/101030.903252:ERROR:gpu_service_impl.cc(990)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly. 0|mm | [19587:1006/101030.932806:ERROR:command_buffer_proxy_impl.cc(329)] GPU state invalid after WaitForGetOffsetInRange. 0|mm | [19587:1006/101030.940181:ERROR:gpu_process_host.cc(974)] GPU process exited unexpectedly: exit_code=8704 0|mm | MESA-LOADER: failed to retrieve device information 0|mm | MESA-LOADER: failed to retrieve device information 0|mm | MESA-LOADER: failed to retrieve device informationNow, if I run MagicMirror by using
npm startwhile in the~/MagicMirrordirectory, it seems to stay up. Hoping someone has some insight on this. I can easily manually start the system, but would rather not have to every time. -
@pattanner92 how did you upgrade? manual or use my automated scripts?
which os is this?
show outout of
uname -a lsb_release -a -
@pattanner92 also add
export ELECTRON_DISABLE_GPU=1
to the installers/mm.sh before the
npm start lineor wherever the mm comes from (in the pm2 logs output)
my setup script use the mm.sh in the installers folder -
@sdetweil
Output of first command is:Linux raspberrypi 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/LinuxOutput of second command is:
No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: busterI did so a manual upgrade. Though I typically do that without running into too many issues.
-
@sdetweil
Still seems to crash. This is how I have configured my pm2 start script:cd ~/MagicMirror export ELECTRON_DISABLE_GPU=1 DISPLAY=:0 npm start -
@pattanner92 sorry two more
node -v
npm-vu are running on 32 bit buster, which is ok
on some armv7l device, pi3, 4, or pi0w2 -
@sdetweil
node v16.16.0
npm v8.11.0I am running on a Raspberry Pi B3+
-
@pattanner92 can u try running my upgrade script with force instead of apply
-
@sdetweil
EDIT: I was digging while cleaning up pm2 so it didn’t display my old script. I noticed that themm.shscript in~/MagicMirror/installerswas indeed missingexport ELECTRON_DISABLE_GPU=1. Adding that back to the script seems to keep it stable. Still wondering if this is an Electron version issue.No dice. Here are the errors I am seeing in the logs - I pulled only the errors to see if I caught them all. Here is what I am seeing at the exit event:
0|mm | [25978:1009/112505.776458:ERROR:zygote_communication_linux.cc(275)] Failed to send GetTerminationStatus message to zygote 0|mm | [25978:1009/112505.812741:ERROR:zygote_communication_linux.cc(275)] Failed to send GetTerminationStatus message to zygote 0|mm | [25978:1009/112505.848727:ERROR:network_service_instance_impl.cc(470)] Network service crashed, restarting service. 0|mm | [25978:1009/112505.880738:ERROR:gpu_process_host.cc(968)] GPU process launch failed: error_code=1002 0|mm | [25978:1009/112505.897587:ERROR:gpu_process_host.cc(968)] GPU process launch failed: error_code=1002 0|mm | [25978:1009/112505.917812:ERROR:gpu_process_host.cc(968)] GPU process launch failed: error_code=1002 0|mm | [25978:1009/112505.942511:ERROR:gpu_process_host.cc(968)] GPU process launch failed: error_code=1002 0|mm | [25978:1009/112505.959337:ERROR:gpu_process_host.cc(968)] GPU process launch failed: error_code=1002And later in the restart process I saw these errors:
0|mm | [09.10.2022 11:25.36.393] [ERROR] 0|mm | (node:26362) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. 0|mm | (Use `electron --trace-deprecation ...` to show where the warning was created)I did go in and check for the line
export ELECTRON_DISABLE_GPU=1in the startup scriptmm.shand it is there. I did have two startup scripts (one that was created before your script was a a thing) and made sure it was there in both as I wasn’t sure which pm2 was using. The original is out in the home folder - I made a backup and then ran your pm2 setup script. While it seemed to reconfigure pm2 to use the script in~/MagicMirror/installersit still crashes. Figured I would try that in case something was walking over itself.Could this be an Electron version issue?
-
@pattanner92 the buffer thing is a warning, but not our code. nothing we can do
the gpu errors are concerning, because u have gpu use turned off.
do u know what driver is being used in /boot/config.txt, like this
dtoverlay=vc4-fkms-v3d
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login