Created attachment 11504 [details] Test file
Created attachment 11505 [details] Preview of erroneous rendering
Take a look on the attachment: the green arrow shows the place where a non overprinted 5-channel (DeviceN) image appears as overprinted one, moreover, all but the black component are retained, resulting in a white mark as the black plate of the image is empty. The device I used is tiffsep, no additional swithes are needed, the bug is replicable on any resolutions. Surprisingly the slightest modification of the test PDF in Adobe Acrobat XI makes the problem disappear so I couldn’t manage to insulate the problematic elements. Please make an investigation on this problem.
I've duplicated the problem and like Zoltán can't simplify the file without the problem going away. I've also verified that it's not a regression.
Created attachment 11513 [details] cutdown Here is a cut down. The file is sensitive to changes.
GS is definitely confused here as Zoltan says it is off doing a fill rect for overprint when drawing the image even though the state should not have overprint on. Digging further to understand why.
After much digging I now see that when this image is getting processed the graphic state is set with overprint set to 0 which is correct, but the overprint compositor is still active and doing its overprinting in front of the target device. For some reason it was not disabled. Will spend more time on this to see why.
The overprint compositor is not getting set idle when the overprint is set to false prior to the image enumeration. The reason is that the graphic state pop that returns us to the state with the OP set to false has a color setting that is a pattern. For a pattern color space, gx_set_overprint_Pattern does nothing and simply returns 0. So the overprint compositor remains active. I need to think a bit more about this to understand the interaction of patterns and overprinting to make sure I don't break anything. The solution may be as simple as having gx_set_overprint_Pattern set the overprint compositor to idle, but as we know when dealing with patterns and compositors nothing is usually simple.
Fixed with http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a16e39318467d8a802296bd34bbf0fab7f7809d5