Bug 7192 - Unimplemented action: POPPLER_ACTION_UNKNOWN: 8_30_11_T_Europa11_BedAnltg
Summary: Unimplemented action: POPPLER_ACTION_UNKNOWN: 8_30_11_T_Europa11_BedAnltg
Status: RESOLVED FIXED
Alias: None
Product: poppler
Classification: Unclassified
Component: glib frontend (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: poppler-bugs
QA Contact:
URL: http://www.tu-clausthal.de/hv/d5/vhb/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-12 02:03 UTC by Alexander Skwar
Modified: 2010-05-05 01:44 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
File causing the WARNING (2.25 MB, application/pdf)
2006-06-12 02:05 UTC, Alexander Skwar
Details
Another file causing the warning (286.85 KB, application/pdf)
2007-11-18 22:05 UTC, Arun Raghavan
Details
Include the NONE action/dest (928 bytes, patch)
2008-03-12 03:17 UTC, Eugen Dedu
Details | Splinter Review

Description Alexander Skwar 2006-06-12 02:03:18 UTC
When I open the PDF file mentioned in the URL, I get on the terminal:

alexander@blatt ~/tmp $ evince 8_30_11_T_Europa11_BedAnltg.pdf

** (evince:16763): WARNING **: Unimplemented action: POPPLER_ACTION_UNKNOWN,
please post a bug report with a testcase.

I get this warning right away after opening the file, before I do anything else.

I'm using
  Evince 0.5.3
  poppler-0.5.3
on Gentoo Linux.
Comment 1 Alexander Skwar 2006-06-12 02:05:32 UTC
Created attachment 5877 [details]
File causing the WARNING
Comment 2 Johannes Berg 2007-09-24 08:41:43 UTC
The file http://johannes.sipsolutions.net/files/uspat20030042984a1.pdf causes the same message to be printed out but obviously there's no telling whether the same action is unimplemented or not (some sort of number might be good).

The file was obtained via depatisnet.de's full pdf link.
Comment 3 Alexander Skwar 2007-09-24 22:48:54 UTC
Still happens with evince 0.8.3 and poppler 0.5.4 on Gentoo.
Comment 4 Pedro Villavicencio 2007-10-02 08:12:50 UTC
There's also an ubuntu bug about this with test cases here: https://bugs.launchpad.net/poppler/+bug/125498
Comment 5 Arun Raghavan 2007-11-18 22:05:37 UTC
Created attachment 12623 [details]
Another file causing the warning

Here's another testcase with the same warning. Error is seen in poppler-0.6.2, evince-2.20.1 (on Gentoo).
Comment 6 Eugen Dedu 2008-03-11 11:50:52 UTC
Hi,

This comes from the fact that the index has entries which do not point
to page numbers.  For ex. in the first attached doc, the problem comes
from the last entry, Stichwortverzeichnis.  In the 2nd, from CERIAS...

To check this, you can put before line glib/poppler-document.cc:1054
(from trunk) the line:
     printf ("alfa title=%s, link_action=%p\n", title, link_action);
you will see that link_action is null for the titles I specify above.

I do not know if this is a document error, I am trying to read the pdf
reference.  I ask myself if the index is found in the pdf file, or it
is automatically generated by poppler, in the latter case being a bug of
poppler.  Do someone know the answer?

Greetings,
Eugen Dedu
Comment 7 Eugen Dedu 2008-03-12 03:17:37 UTC
Created attachment 15060 [details] [review]
Include the NONE action/dest

Please check if this patch/fix is correct.
Comment 8 Eugen Dedu 2008-03-12 03:18:44 UTC
Hi,

In the two documents attached, there is an index/outline item which has no destination.

From pdf reference v.1.7 (http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf), section 8.2.2, page 586, the destination (the actions too) is optional for outline items and annotations, but required for actions and remote actions, so no warning should be displayed for outline items (such as the two documents attached).

So poppler should return no action when the dest/action is optional and is not present in the pdf file, but POPPLER_ACTION_NONE (for ex.) does not exist.

(By the way, I notice that PopplerDestType is not used, the destinations being considered as actions.  For ex., a "grep -r PopplerDestType ." shows no usage of this type.  Also, poppler/Outline.cc:78:
     78   if (!dict->lookup("Dest", &obj1)->isNull()) {
     79     action = LinkAction::parseDest(&obj1);
     80   } else {
     81       obj1.free();
     82     if (!dict->lookup("A", &obj1)->isNull()) {
     83         action = LinkAction::parseAction(&obj1);
     84   }
shows that destinations and actions are treated in the same manner, as actions.)

Therefore, I propose the attached patch in my previous comment.  I do not know well the poppler application, so please check if I modified all the needed files.

Cheers,
Eugen Dedu
Comment 9 Eugen Dedu 2008-03-19 09:15:26 UTC
Hi,

Has anyone any comment on my previous patch?  Is it good for you?

Cheers,
Eugen Dedu
Comment 10 Carlos Garcia Campos 2008-03-19 10:40:09 UTC
I've just applied the patch, removing the POPPLER_DEST_NONE thing since I don't think it's really needed. 

Thank you very much for the patch. 
Comment 11 Eugen Dedu 2008-03-19 10:57:10 UTC
Thank you.

IMO this means that the API of poppler has changed: any application (its developers) using it should be informed that another type has been added.  For ex., evince should use
    case ...NONE:
        break;  // instead of printing a warning/error
or something like this.

Also, imagine an application which uses :
    if (action != ...UNKNOWN)
        ...

Let me know what do you think: is this important?

Cheers,
Eugen Dedu
Comment 12 Carlos Garcia Campos 2010-05-05 01:44:09 UTC
All docs mentioned in this bug report don't show the warning anymore. Closing.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.