Change:
Printing with a HP Color LaserJet printer fails due to a crash in the filter when using the driver "hpcups 3.19.1" With the "CUPS+Gutenprint v5.2.14" driver printing works. Try to print anything, a test page would do Please run and paste the results. oops.. let's try again:
I'm having the same problem, and made some observations: hplip 3.18.5 (used in release-18.09) works, even if compiled with pkgs from release-19.03 Here's a bug report with a proposed patch: is probably here: I didn't come around to test any of those patches thoug as I have only very limited access to my HP printer.

Discussion:
mkdir -p $out/etc/sane.d/dll.d mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf <del> rm $out/etc/udev/rules.d/56-hpmud.rules </del> ''; # The installed executables are just symlinks into $out/share/hplip,

meta = with stdenv.lib; { description = "Print, scan and fax HP drivers for Linux"; homepage = http://hplipopensource.com/; <ins> downloadPage = https://sourceforge.net/projects/hplip/files/hplip/; </ins> license = if withPlugin then licenses.unfree else with licenses; [ mit bsd2 gpl2Plus ];

let name = "hplip-${version}"; <del> version = "3.19.1"; </del> <ins> version = "3.19.6"; </ins> src = fetchurl { url = "mirror://sourceforge/hplip/${name}.tar.gz"; <del> sha256 = "1kl1q4753xx1w76dhp92wgrhn5k1yx1ib35pyi0vi3mw0njbhrzm"; </del> <ins> sha256 = "0vfnc6pg7wzs68qn5mlk3cyl969d8n55bydgydq2wzfikvpfvnpw"; </ins> }; plugin = fetchurl { url = "https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; <del> sha256 = "1fwjypy1ycyi7rr1vk1yxhbdhx51n7fxhvjb36mzw8qz71dif2i3"; </del> <ins> sha256 = "1b5gys04kh41gg7r7rzlpdbc2f4jirl2ik22cd935mm85k7abfwq"; </ins> }; hplipState = substituteAll {

makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ]; <ins> patches = [ # remove ImageProcessor usage, it causes segfaults, see # https://bugs.launchpad.net/hplip/+bug/1788706 # https://bugs.launchpad.net/hplip/+bug/1787289 ./image-processor.patch ]; </ins> prePatch = '' # HPLIP hardcodes absolute paths everywhere. Nuke from orbit. find . -type f -exec sed -i 

mkdir -p $out/var/lib/hp cp ${hplipState} $out/var/lib/hp/hplip.state <del> rm $out/etc/udev/rules.d/56-hpmud.rules </del> ''; # The installed executables are just symlinks into $out/share/hplip,

postFixup = '' substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out <del> '' + stdenv.lib.optionalString (!withPlugin) '' # A udev rule to notify users that they need the binary plugin. # Needs a lot of patching but might save someone a bit of confusion: </del> <ins> # Patch udev rules: # with plugin, they upload firmware to printers, # without plugin, they complain about the missing plugin. </ins> substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules  --replace {,${bash}}/bin/sh  <del> --replace {/usr,${coreutils}}/bin/nohup  </del> <ins> --replace /usr/bin/nohup ""  </ins> --replace {,${utillinux}/bin/}logger  --replace {/usr,$out}/bin '';

meta = with stdenv.lib; { description = "Print, scan and fax HP drivers for Linux"; homepage = https://developers.hp.com/hp-linux-imaging-and-printing; <ins> downloadPage = https://sourceforge.net/projects/hplip/files/hplip/; </ins> license = if withPlugin then licenses.unfree else with licenses; [ mit bsd2 gpl2Plus ];

<ins> diff --git i/prnt/hpcups/HPCupsFilter.cpp w/prnt/hpcups/HPCupsFilter.cpp index 5b282d8..153ee3a 100644 --- i/prnt/hpcups/HPCupsFilter.cpp +++ w/prnt/hpcups/HPCupsFilter.cpp @@ -31,7 +31,6 @@ *****************************************************************************/ #include "HPCupsFilter.h" -#include "ImageProcessor.h" #include <signal.h> #include <sys/wait.h> @@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name); -    image_processor_t* imageProcessor = imageProcessorCreate(); while (cupsRasterReadHeader2(cups_raster, &cups_header)) { -        IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header); -        if (result != IPE_SUCCESS){ -            dbglog("DEBUG: imageProcessorStartPage failed result = %dn", result); -        } - current_page_number++; if (current_page_number == 1) { @@ -745,11 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) color_raster = rgbRaster; black_raster = kRaster; -            result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine); -            if (result != IPE_SUCCESS){ -                dbglog("DEBUG: imageProcessorProcessLine failed result = %dn", result); -            } - if ((y == 0) && !is_ljmono) { //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer @@ -780,11 +768,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) } }  // for() loop end -        result = imageProcessorEndPage(imageProcessor); -        if (result != IPE_SUCCESS){ -                dbglog("DEBUG: imageProcessorEndPage failed result = %dn", result); -        } - m_Job.NewPage(); if (err != NO_ERROR) { @@ -800,8 +783,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) rgbRaster = NULL; } -    imageProcessorDestroy(imageProcessor); - unlink(hpPreProcessedRasterFile); return ret_status; } </ins>