Bug in /usr/bin/web-server

I have an issue where I can reliably reproduce a situation where the Creality print service bound to port 9999 stops working, and a reboot does not fix it.
This causes the head-unit (screen) to stop working, and CrealityPrint6 no longer can control the printer, upload files, or load CFS filament information. Temperature information is still shown in Fluidd, but not in CP6, amongst other issues.

I have packet captures of the failure, as well as logs from the machine, and the moonraker and klippy log files. I haven’t tracked it down to the specific cause, but I think it has to do with an array size limit in the Creality web service running on port 9999.

Is this something I would just send to Creality through email? Its an annoying bug that has forced me to hard-reset my machine 5 times now. This last time was kind of on purpose because I was intentionally trying to recreate the error, but still annoying.

The specific situation I’m having is that if I have all CFS’s full of filament, and I add a 17th filament through CP6, then try to print with it, as soon as I “send” the print through CP6 it will cause /usr/bin/web-server to puke and it will NOT come back up. The headunit stops working, and CP6 stops working. A reboot does not fix it. Very annoying.

Here is a video of the issue showing the immediate stop of temperature values from the printer as soon as I upload the file trying to use the 17th filament.

I don’t want to have to remove my CFS everytime I want to print with an external filament. That defeats the point of the CFS.

If Creality would provide the source code to their firmware and CP6, we could fix this issue within hours and have a bug-fix published.

and to be clear, the temperatures no longer showing in CP6 is just the tip of the iceberg, but it serves as an indicator that the web-service has stopped working, and it will not come back up.

More information for Creality.
As soon as there is a file in the “files” section of the printer that uses a 17th filament, the web-server will not work.

If you remove that file with the 17th filament, the web-server starts workiing again, returning temperatures correctly.

clearly this is a simple software bug, most likely to do with sizing an array or similar when processing the G-Code files, or something. Not sure why it would cause the /usr/bin/web-server to fail on reboot, unless it is parsing those files somehow to determine something.

Please release the source code so we can fix the kind of stuff ourselves.