Bug 39120

Summary: Unrecoverable error
Product: Sisyphus Reporter: Alexander Makeenkov <amakeenk>
Component: pstotextAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: darktemplar, george, mike
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Alexander Makeenkov 2020-10-23 12:05:18 MSK
Запуск pstotext завершается ошибкой:

$ pstotext /usr/share/doc/ghostscript-9.28/examples/colorcir.ps
GPL Ghostscript RELEASE CANDIDATE 1 9.28: Unrecoverable error, exit code 1

Запуск в debug режиме:

$ pstotext -debug /usr/share/doc/ghostscript-9.28/examples/colorcir.ps
GPL Ghostscript RELEASE CANDIDATE 1 9.28 (2019-08-15)
Copyright (C) 2019 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.

 *** WARNING - you have selected SAFER, indicating you want Ghostscript
               to execute in a safer environment, but at the same time
               have selected DELAYBIND. Unless you use this option with
               care (and specifically, remember to call .bindnow) it is
               possible that malicious code may be able to evade the
               limited security offered by the SAFER option.

 *** WARNING - you have selected SAFER, indicating you want Ghostscript
               to execute in a safer environment, but at the same time
               have selected WRITESYSTEMDICT. Unless you use this option with
               care and specifically, remember to execute code like:
                      "systemdict readonly pop"
               it is possible that malicious code may be able to evade the
               limited security offered by the SAFER option.
Error: /invalidaccess in --def--
Operand stack:
   pstotextLocalDict   --dict:0/30(L)--
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1973   1   3   %oparray_pop   1972   1   3   %oparray_pop   1960   1   3   %oparray_pop   1817   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
GPL Ghostscript RELEASE CANDIDATE 1    --dict:1170/1684(G)--   --dict:0/20(G)--   --dict:76/200(L)--   --dict:1170/1684(G)--
9.28: Unrecoverable error, exit code 1
Current allocation mode is local
Current file position is 6337

$ rpm -q pstotext 
pstotext-1.9-alt3.x86_64

$ rpm -q ghostscript
ghostscript-9.28-alt0.rc1.2.x86_64
Comment 1 Michael Shigorin 2020-10-25 18:38:14 MSK
Боюсь, в GS я ничего не понимаю.  Хорошо бы проверить именно на сизифном 9.53.3 на всякий (если не воспроизведётся -- перевесить на p9).
Comment 2 Alexander Makeenkov 2020-10-26 09:30:32 MSK
(Ответ для Michael Shigorin на комментарий #1)
> Боюсь, в GS я ничего не понимаю.  Хорошо бы проверить именно на сизифном
> 9.53.3 на всякий (если не воспроизведётся -- перевесить на p9).

ghostscript-9.53.3 собрали в тот же день, когда я повесил баг.

Проверил, ошибка осталась:

$ pstotext -debug /usr/share/doc/ghostscript-9.53.3/examples/colorcir.ps 
GPL Ghostscript 9.53.3 (2020-10-01)
Copyright (C) 2020 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.

 *** WARNING - you have selected SAFER, indicating you want Ghostscript
               to execute in a safer environment, but at the same time
               have selected DELAYBIND. Unless you use this option with
               care (and specifically, remember to call .bindnow) it is
               possible that malicious code may be able to evade the
               limited security offered by the SAFER option.

 *** WARNING - you have selected SAFER, indicating you want Ghostscript
               to execute in a safer environment, but at the same time
               have selected WRITESYSTEMDICT. Unless you use this option with
               care and specifically, remember to execute code like:
                      "systemdict readonly pop"
               it is possible that malicious code may be able to evade the
               limited security offered by the SAFER option.
Error: /invalidaccess in --def--
Operand stack:
   pstotextLocalDict   --dict:0/30(L)--
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1974   1   3   %oparray_pop   1973   1   3   %oparray_pop   1961   1   3   %oparray_pop   1818   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1170/1684(G)--   --dict:0/20(G)--   --dict:76/200(L)--   --dict:1170/1684(G)--
GPL Ghostscript Current allocation mode is local
9.53.3Current file position is 6337
: Unrecoverable error, exit code 1