I've setup an IPP+DNSSD printing server with ArchLinux+hplip+cups+avahi in my LAN. The architecture graph is here:

I'm trying to make my Linux Desktop using this printing server. I installed and enabled cups, hplip, and avahi-daemon. However, it's still not using my server. Both IPP and DNSSD printing fails with the same error message:
processing since
Thu 05 Dec 2019 05:23:09 PM CST
"Filter failed"
/var/log/cups/error_log:
...
E [05/Dec/2019:17:47:02 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:13 +0800] [CGI] Saw EOF, expected \':\'!
E [05/Dec/2019:17:47:13 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:13 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:13 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:24 +0800] [CGI] Saw EOF, expected \':\'!
E [05/Dec/2019:17:47:24 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:24 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:24 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:35 +0800] [CGI] Saw EOF, expected \':\'!
E [05/Dec/2019:17:47:35 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:35 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:35 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:46 +0800] [CGI] Saw EOF, expected \':\'!
E [05/Dec/2019:17:47:46 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:46 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:46 +0800] [CGI] Saw EOF, expected \'}\'!
E [05/Dec/2019:17:47:57 +0800] [CGI] Saw EOF, expected \':\'!
E [05/Dec/2019:17:47:57 +0800] [CGI] Saw EOF, expected \'}\'!
...
I tried to re-install hplip, un-install hplip, re-install cups. Tried to add printer through DNSSD, IPP+PPD_file, IPP+hplip. None of them works...
Could you provide some suggestions?