Evince should fall back to linear display if DSC-based random access on .PS file fails

Bug #68412 reported by Alexandre Otto Strube
6
Affects Status Importance Assigned to Milestone
Evince
Unknown
Medium
evince (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

Binary package hint: evince

When I open the following ps file in evince, it works for some pages, then it suddenly stops working. Going to the middle of the file makes it show blank pages or a huge "LOADING".

Revision history for this message
Alexandre Otto Strube (surak) wrote :
Revision history for this message
Daniel Holbach (dholbach) wrote :

Thanks for your bug report. Which version of Ubuntu and evince do you use?

Changed in evince:
assignee: nobody → desktop-bugs
importance: Undecided → Medium
status: Unconfirmed → Needs Info
Revision history for this message
Daniel Holbach (dholbach) wrote :

I can imagine that this is simply a problem of the size? Seeking through 77,8MB is not exactly fast, hm? :)

Revision history for this message
Daniel Holbach (dholbach) wrote :

Hum... were you able to view it in any other viewer? gnome-gv and kghostview failed on me too - the best I got out of them were 8 pages in a row.

Revision history for this message
Paul Sladen (sladen) wrote :

'ps2pdf' brings it down to a 3.5MB random-access PDF that works fine.

Revision history for this message
Paul Sladen (sladen) wrote :

  $ evince tesis.ps
  ...
  %%[ Error: undefined; OffendingCommand: AddT42Char ]%%
  ESP Ghostscript 815.02: Unrecoverable error, exit code 1

  $ evince tesis.ps
  %%[ ProductName: ESP Ghostscript ]%%
  %%[ Error: undefined; OffendingCommand: Pscript_WinNT_Compat ]%%
  ESP Ghostscript 815.02: Unrecoverable error, exit code 1

certainly seems to be something related to seeking; is evince is started on the first page and the file displayed linearly, things appear to be (mostly?) fine. If evince /remembers/ that last time you closed that file it was on page 176, then evince starts on page 176 and complains immediately.

It could be that the two commands in questions are not correctly marked as macros sets by PostScript DSC marks, so are only ever loaded when the fine is read linearly and not when the file is randomly accessed using the DSC (Document Structuring Conventions) markup.

Revision history for this message
Alexandre Otto Strube (surak) wrote :

> I can imagine that this is simply a problem of the size?
> Seeking through 77,8MB is not exactly fast, hm? :)

I don't think so. If I open it and tell it to go to page 90, for instance, it goes almost intantly. Then, after browsing some pages, it suddenly stops.

> Which version of Ubuntu and evince do you use?

Edgy fully updated.
evince 0.6.1-0ubuntu1
gs-esp 8.15.2.dfsg.0

> Hum... were you able to view it in any other viewer?

gs-esp -sDEVICE=x11 tesis.ps works. But not in a random way.

Revision history for this message
Paul Sladen (sladen) wrote :

I'm now fairly certain that the problem is to do with (a) incorrect DSC (Document Structuring Convention) information, (b) making use of the bad DSC and attempting random access.

There's already some bugs in this file;

  %%BeginResource: file Pscript_WinNT_VMErrorHandler 5.0 0

but:

  %%+ procset Pscript_WinNT_VMErrorHandler 5.0 0

The resource is declared as a 'file' and referenced as a 'procset'.

The other errors are because functions are used called, that are inside a Resource, and the Resource is not pulled in... (AFAICT).

Revision history for this message
Paul Sladen (sladen) wrote :
Changed in evince:
status: Unknown → Unconfirmed
Changed in evince:
status: Needs Info → Confirmed
Changed in evince:
status: Confirmed → Triaged
Changed in evince:
status: New → Invalid
Revision history for this message
Martin Mai (mrkanister-deactivatedaccount-deactivatedaccount) wrote :

This should be fixed in Jaunty now. Thanks for reporting.

Changed in evince:
status: Triaged → Fix Released
Changed in evince:
importance: Unknown → Medium
status: Invalid → Unknown
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.