[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#331327: marked as done (gs-gpl: stack underflow in an errordict procedure crashes the interpreter)



Your message dated Thu, 2 Aug 2012 22:11:23 +0200
with message-id <201208022211.23883.roucaries.bastien@gmail.com>
and subject line Done: gs-gpl: stack underflow in an errordict procedure crashes the      interpreter
has caused the Debian Bug report #331327,
regarding gs-gpl: stack underflow in an errordict procedure crashes the      interpreter
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
331327: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=331327
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gs-gpl
Version: 8.15-4
Severity: normal

The various errordict procedures (e.g. 'undefinedresult') expect one argument
on the stack, the name of the procedure raising the error.  If that argument
isn't present, the interpreter crashes.

Sample transcript:

$ gs -sDEVICE=nullpage
GS> errordict /undefinedresult get exec
Unrecoverable error: stackunderflow in exch
Operand stack:
    --nostringval--

Unexpected interpreter error -17.
Error object: (f80)op(4:exch)0x80b8b60
Operand stack at 0x8301ee8:
0x82f6504: 0x02 dict --Lwrx--- 0x0018 0x082f2e20
Execution stack at 0x8301eac:
0x82f7e6c: 0x0f oper --F---e-- 0x0000 0x080a0c50 = %interp_exit
0x82f7e74: 0x0d name --S---e-- 0x03f6 0x082e5fc4 = .runexec2
0x82f7e7c: 0x03 file --G-rx--- 0x0001 0x0844f620
0x82f7e84: 0x05 mpry --G-rxe-- 0x0006 0x08319e44
0x82f7e8c: 0x0e null --F---e-- 0x0003 0x080ae950
0x82f7e94: 0x0e null --F------ 0x082d 0x082296af
0x82f7e9c: 0x0b int  --F------ 0x0002 0x00000002 = 2
0x82f7ea4: 0x0f oper --F---e-- 0x0000 0x080ae1f0 = %stopped_push
0x82f7eac: 0x03 file --G-rxe-- 0x0001 0x0844f620
0x82f7eb4: 0x0e null --F---e-- 0x0002 0x080ae950
0x82f7ebc: 0x05 mpry --G-rxe-- 0x0008 0x08319bf6
0x82f7ec4: 0x0f oper --F---e-- 0x0000 0x080ae0b0 = %loop_continue
0x82f7ecc: 0x0e null --F---e-- 0x0000 0x080a3120
0x82f7ed4: 0x0b int  --F------ 0x0003 0x00000002 = 2
0x82f7edc: 0x0b int  --F------ 0x0000 0x00000003 = 3
0x82f7ee4: 0x0f oper --F---e-- 0x0000 0x080a3100 = %oparray_pop
0x82f7eec: 0x06 spry --G-rxe-- 0x0001 0x0831a80e
0x82f7ef4: 0x05 mpry --G-rxe-- 0x0007 0x0831a7f0
0x82f7efc: 0x0e null --F---e-- 0x0003 0x080ae950
0x82f7f04: 0x01 bool --F------ 0x0000 0x080b0000 = false
0x82f7f0c: 0x0b int  --F------ 0x001a 0x00000001 = 1
0x82f7f14: 0x0f oper --F---e-- 0x0000 0x080ae1f0 = %stopped_push
0x82f7f1c: 0x0d name --S---e-- 0x03f6 0x082e5fc4 = .runexec2
0x82f7f24: 0x03 file --L-rx--- 0x0002 0x083fee34
0x82f7f2c: 0x05 mpry --G-rxe-- 0x0006 0x08319e44
0x82f7f34: 0x0e null --F---e-- 0x0003 0x080ae950
0x82f7f3c: 0x0e null --F------ 0x082d 0x082296af
0x82f7f44: 0x0b int  --F------ 0x0002 0x00000002 = 2
0x82f7f4c: 0x0f oper --F---e-- 0x0000 0x080ae1f0 = %stopped_push
0x82f7f54: 0x03 file --L-rxe-- 0x0002 0x083fee34
0x82f7f5c: 0x05 mpry --G-rxe-- 0x0024 0x0831ace0
0x82f7f64: 0x05 mpry --G-rxe-- 0x0039 0x0831acb6
Dictionary stack at 0x8301e54:
0x8301b0c: 0x02 dict --Gwrx--- 0x0000 0x082e865c
0x8301b14: 0x02 dict --Gwrx--- 0x0000 0x08331f34
0x8301b1c: 0x02 dict --Lwrx--- 0x0000 0x082f1fd0
$ echo $?
255

There would seem to be two options for dealing with this:

1) Handle an error raised from inside the error-raising procedures better.
2) Make the error-raising procedures check for stack underflow.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.12-1-686-smp
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages gs-gpl depends on:
ii  gs-common                 0.3.9          Common files for different Ghostsc
ii  libc6                     2.3.5-6        GNU C Library: Shared libraries an
ii  libice6                   6.8.2.dfsg.1-7 Inter-Client Exchange library
ii  libjpeg62                 6b-10          The Independent JPEG Group's JPEG
ii  libpaper1                 1.1.14-3       Library for handling paper charact
ii  libpng12-0                1.2.8rel-4     PNG library - runtime
ii  libsm6                    6.8.2.dfsg.1-7 X Window System Session Management
ii  libx11-6                  6.8.2.dfsg.1-7 X Window System protocol client li
ii  libxext6                  6.8.2.dfsg.1-7 X Window System miscellaneous exte
ii  libxt6                    6.8.2.dfsg.1-7 X Toolkit Intrinsics
ii  xlibs                     6.8.2.dfsg.1-7 X Window System client libraries m
ii  zlib1g                    1:1.2.3-4      compression library - runtime

Versions of packages gs-gpl recommends:
ii  gsfonts               8.14+v8.11+urw-0.2 Fonts for the Ghostscript interpre
ii  psfontmgr             0.11.8-0.1         PostScript font manager -- part of

-- no debconf information



--- End Message ---
--- Begin Message ---
Package: ghostscript
Version: 9.05~dfsg-6

Not an error according to upstream. Feel free to convince upstream.

Bastien

--- End Message ---

Reply to: