We have a React/Node/WebPack application. We used to deploy it in GAE Flexible for the past 2 years or so. Recently we updated our libraries to React 16, WebPack 4, and Node 10. Since we merged the code for this libraries update, we cannot deploy to GAE any more.
- we can deploy any older commit (pre React 16 and WebPack 4)
- Node version 10 or 8, doesn't matter. It won't work either way.
- we can deploy the project with React 16, but ONLY with WebPack set to development mode.
- with WebPack 4 set to "production" mode, the process hangs, and GCloud finally decides it's broken and starts continuously rebooting the instance.
- We did the following test: deployed project with WebPack 4 in development mode. SSH into the instance and open a terminal into the "gaeapp" docker container. We created a copy of the /app folder and run the webpack command with "production" mode. The process immediately started using 100% CPU. After about 2 minutes it started reading from the disk with 50 MBytes/sec and got stuck there. There were 1000 read IOPS continuously. Eventually, after about 10-15 minutes, the container crashed.
- We run the same commands locally on our computer, with WebPack 4 set in production mode. Everything worked.
- We run the same command on several computers, inside a node:10 docker image, with only 1 GB of RAM and WebPack 4 set to production mode. The process always finished nicely, in about 50 seconds. We couldn't observe high disk IO for more than 2-3 seconds, which I guess is normal.
- No, there are no logs in GCloud stack driver. The last thing logged is the webpack command that crashes the system.
Any ideas how could we debug this, or how to reproduce it locally in a docker image?