[poppler] Bugfix proposal for Shading Type 6 and 7

Christian Feuersaenger cfeuersaenger at googlemail.com
Fri Oct 1 10:06:22 PDT 2010


Am 13.08.2010 23:43, schrieb Albert Astals Cid:
> A Divendres, 30 de juliol de 2010, Albert Astals Cid va escriure:
>    
>> A Dimarts, 27 de juliol de 2010, Christian Feuersaenger va escriure:
>>      
>>> Dear Albert,
>>>
>>> thank you for your time to perform the regression tests!
>>>
>>> I have fixed the bug; it was a data type problem.
>>>
>>> Attached you find the fixed version.
>>>
>>> The file
>>> bugfix_shadingtype4567_incremental.patch
>>> is relative to the version you used for the regression tests.
>>>
>>> The file
>>> bugfix_shadingtype4567_poppler0.14.patch
>>> is relative to poppler-0.14.0-3-gb2427d0 .
>>>
>>> Thank you for considering my contributions.
>>>        
>> I've ran the regression test with the Splash outputdev and all looks ok,
>> will have to run it over the cairo and ps outputdevs before committing,
>> though it'll take a while since next week i'm going to be away on
>> holidays.
>>      
> Bad news, this patch produces a regression in pdftops when running over the
> attached file, that is, the unpatched version creates a ps file that is valid
> (gs will open it) and the patched version creates a ps file that "crashes" gs.
>
> Do you think you can have a look?
>
> Albert
>    
Dear Albert,

I am having difficulties to reproduce the problem. Here is what I did:

1. try to view bug157704.pdf with the standard gs
--> crash (see below)
2. call pdftops (using system's version of libpoppler) and open gs on 
the result
--> works without errors (see below)
3. call pdftops using the patched libpoppler and open gs on the result
--> works without errors
4. call pdftops of poppler git version of 0.14 without my patch (I have 
not yet pulled the new version) and open gs on the result
--> works without errors

Do you have more detailed information about the crash? I fear I am 
unable to do anything here...

Best regards

Christian

Here are the detailed outputs for your reference:

for (1):
[ludewich] tmp >>gs bug157704.pdf
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
Error: /unknownerror in --run--
Operand stack:
    --dict:6/15(L)--
Execution stack:
    %interp_exit   .runexec2   --nostringval--   --nostringval--   
--nostringval--   2   %stopped_push   --nostringval--   
--nostringval--   --nostringval--   false   1   %stopped_push   1878   
1   3   %oparray_pop   1877   1   3   %oparray_pop   1861   1   3   
%oparray_pop   --nostringval--   --nostringval--   2   1   1   
--nostringval--   %for_pos_int_continue   --nostringval--   
--nostringval--   false   1   %stopped_push   --nostringval--   
--nostringval--   --nostringval--   %array_continue   --nostringval--   
false   1   %stopped_push   --nostringval--   %loop_continue   
--nostringval--
Dictionary stack:
    --dict:1153/1684(ro)(G)--   --dict:1/20(G)--   --dict:75/200(L)--   
--dict:75/200(L)--   --dict:108/127(ro)(G)--   --dict:288/300(ro)(G)--   
--dict:22/25(L)--   --dict:6/8(L)--   --dict:21/40(L)--   --dict:3/5(L)--
Current allocation mode is local
Last OS error: 11
GPL Ghostscript 8.71: Unrecoverable error, exit code 1

for (2):
[ludewich] tmp >>pdftops -?
pdftops version 0.12.4
[ludewich] tmp >>time pdftops bug157704.pdf

real    0m14.925s
user    0m13.900s
sys    0m0.140s
[ludewich] tmp >>gs bug157704.ps
GPL Ghostscript 8.71 (2010-02-10)
[ ALL OK ]

for (3):
[ludewich] poppler >>git describe # (with my patch)
poppler-0.14.0-18-g821bc2a
[ludewich] tmp >>time ~/code/xpdf/poppler/utils/pdftops bug157704.pdf

real    0m2.785s
user    0m2.540s
sys    0m0.130s
[ludewich] tmp >>gs bug157704.ps
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
[ ALL OK ]


for (4):
[ludewich] poppler >>git describe # (without my patch using poppler-0.14 )
poppler-0.14.0-3-gb2427d0
[ludewich] tmp >>time ~/code/xpdf/poppler/utils/pdftops bug157704.pdf

real    0m15.844s
user    0m13.820s
sys    0m0.140s
[ludewich] tmp >>gs bug157704.ps
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
[ ALL OK ]

>> Albert
>>
>>      
>>> Best regards
>>>
>>> Christian
>>>
>>> Am 25.07.2010 16:56, schrieb Albert Astals Cid:
>>>        
>>>> A Dissabte, 3 de juliol de 2010, Christian Feuersaenger va escriure:
>>>>          
>>>>> Hello Albert,
>>>>>            
>>>> Hi
>>>>
>>>>          
>>>>> I've managed to fix a bug in the Shading Type 6/7 (Coons&   cubic
>>>>> tensor patches) implementation.
>>>>>
>>>>> The bugfix is small and stable (in my eyes); the poppler-0.14 branch
>>>>> doesn't implement support for parameterized patch shadings. I modified
>>>>> the existing implementation accordingly with relatively few changes.
>>>>>
>>>>> Attached you find the patch file and the updated test.pdf to see the
>>>>> improvement.
>>>>>
>>>>> The file type4567patch.... also includes the patch of my previous mail
>>>>> (they only share the same refinement threshold).
>>>>>
>>>>> The patch should work relative to poppler-0.14.0-3-gb2427d0 .
>>>>>            
>>>> This patch causes a regression in the attached pdf (the blue area
>>>> disappears)
>>>>
>>>> Albert
>>>>
>>>>          
>>>>> Best regards
>>>>>
>>>>> Christian
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> poppler mailing list
>>>>> poppler at lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>>>            
>> _______________________________________________
>> poppler mailing list
>> poppler at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>      
>>
>>
>> _______________________________________________
>> poppler mailing list
>> poppler at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>      



More information about the poppler mailing list