Plugin loading fails in firefox

Bug #61048 reported by Dennis van Dok
This bug report is a duplicate of:  Bug #41787: nppdf.so: undefined symbol: XtCalloc. Edit Remove
4
Affects Status Importance Assigned to Milestone
acroread (Ubuntu)
Confirmed
Medium
Unassigned
acroread-debian-files (Ubuntu)
Invalid
Undecided
Rolf Leggewie

Bug Description

Binary package hint: mozilla-acroread

(version 7.0.1-0.0.ubuntu1).

After installation of this package, removing my .mozilla folder and restarting firefox, the plugin does not appear in about:plugins nor can I read PDF files in my browser.

Revision history for this message
Niki Kovacs (contact-kikinovak) wrote :

I second that. I am having the same problem here on Ubuntu 6.06 as well as Xubuntu 6.06.

Rolf Leggewie (r0lf)
Changed in acroread:
status: Unconfirmed → Confirmed
Revision history for this message
Rolf Leggewie (r0lf) wrote :

The binary package says mozilla-acroread, but you filed against acroread-debian-files. Which one is it? Can you post the output of "dpkg -l *acroread*". Do you have any 3rd-party debs installed? Have you upgraded to edgy and if so do you still see this problem?

Changed in acroread-debian-files:
assignee: nobody → r0lf
status: Confirmed → Needs Info
Revision history for this message
Dennis van Dok (dvandok) wrote : Re: [Bug 61048] Re: Plugin loading fails in firefox

Rolf Leggewie schreef:
> The binary package says mozilla-acroread, but you filed against
> acroread-debian-files. Which one is it?
I don't recall much about acroread-debian-files, but I seem unable to
install it now (conflicts with acroread). The problem is definitely with
mozilla-acroread, which contains amongst others

/usr/lib/mozilla-firefox/plugins/nppdf.so.
> Can you post the output of
> "dpkg -l *acroread*".
ii acroread 7.0.1-0.0.ubuntu1 Adobe Acrobat Reader:
Portable Document Format file viewer
un acroread-debian-files <none> (no description available)
un acroread-plugin <none> (no description available)
un acroread-plugins <none> (no description available)
ii mozilla-acroread 7.0.1-0.0.ubuntu1 Adobe Acrobat(R) Reader
plugin for mozilla / konqueror
> Do you have any 3rd-party debs installed?
Not that I know, but how can I tell?
> Have you upgraded to edgy and if so do you still see this problem?
Sorry, I can't/won't upgrade.

Regards,

Dennis van Dok

--
D.H. van Dok (<email address hidden>)

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Removing from acroread-debian-files

Changed in acroread-debian-files:
status: Needs Info → Rejected
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Is this a problem you can alway reproduce or only from time to time?

Changed in acroread:
assignee: nobody → r0lf
status: Unconfirmed → Needs Info
Revision history for this message
Dennis van Dok (dvandok) wrote :

Rolf Leggewie schreef:
> Is this a problem you can alway reproduce or only from time to time?
>
Always. I've got another hint.

What I do to reproduce it is this:
1. I remove the .mozilla directory in my home directory.
2. I start firefox from the command line
3. A dialog comes up and asks if I want to import any settings. I select
"don't import anything".
4. In the main window's address field, I type "about:plugins"

At that moment, on stdout several messages are written:

LoadPlugin: failed to initialize shared library libXt.so [libXt.so:
cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library libXext.so [libXext.so:
cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library
/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so
[/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so: undefined
symbol: XtCalloc]
LoadPlugin: failed to initialize shared library
/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so
[/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so: undefined
symbol: XtCalloc]

The Firefox window reports no plugins.

Oddly, after quitting and repeating from step 2, I no longer get the
messages about libXt.so and libExt.so (is that cached in the profile?)

I tried a workaround: I added ~/lib/ to LD_LIBRARY_PATH and there
created symlinks libXt.so -> /usr/lib/libXt.so.6 and libXext.so ->
/usr/lib/libXext.so.6; repeating from step 1 finally works!

So it seems that someone has been making sloppy assumptions about the
whereabouts and naming of libX(ex)t. :-)

Cheers,

Dennis van Dok

--
D.H. van Dok (<email address hidden>)

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Strange.

Poking in the dark here, but can you post the output of "locate libXt.so; locate libExt.so;echo $LD_LIBRARY_PATH"? after you moved .mozilla out of the way (or deleted it). "ldd /usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so" would be interesting as well (if you have ldd installed). Maybe you can also attach the output of "strace firefox 2>&1 | grep libXt.so"?

Revision history for this message
Dennis van Dok (dvandok) wrote :

Rolf Leggewie schreef:
> Strange.
>
> Poking in the dark here, but can you post the output of "locate
> libXt.so; locate libExt.so;echo $LD_LIBRARY_PATH"?
/home/dennis/lib/i386/libXt.so
/usr/lib/libXt.so.6
/usr/lib/libXt.so.6.0.0
/home/dennis/lib/i386/libXext.so
/usr/lib/libXext.so.6
/usr/lib/libXext.so.6.4.0
/home/dennis/lib/i386:/usr/local/lib:

(I assume you meant libXext.so; The hits in my dir are symlinks)
> after you moved
> .mozilla out of the way (or deleted it). "ldd
> /usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so" would be
> interesting as well (if you have ldd installed).
        linux-gate.so.1 => (0xffffe000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dcc000)
        /lib/ld-linux.so.2 (0x80000000)

(Which suggests Adobe is to blame for sloppy assumptions.)
> Maybe you can also
> attach the output of "strace firefox 2>&1 | grep libXt.so"?
>
>
Here's a relevant part of the full trace; this is after deleting
.mozilla and typing about:plugins. It appears that the name libXt.so is
hardcoded into the plug-in; maybe this can be checked with Adobe? The
easy solution seems to be what I did: make two symlinks in a directory
in LD_LIBRARY_PATH.

Regards,

Dennis van Dok

access("/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so", F_OK) = 0
open("/usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so", O_RDONLY) = 39
read(39, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20p\3\000"...,
512) =
512
fstat64(39, {st_mode=S_IFREG|0644, st_size=878568, ...}) = 0
old_mmap(NULL, 890208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
39, 0) =
0xb2394000
old_mmap(0xb245a000, 61440, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENY
WRITE, 39, 0xc6000) = 0xb245a000
old_mmap(0xb2469000, 17760, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANON
YMOUS, -1, 0) = 0xb2469000
close(39) = 0
mprotect(0xb2394000, 811008, PROT_READ|PROT_WRITE) = 0
munmap(0xb2394000, 890208) = 0
open("/usr/lib/firefox/libXt.so", O_RDONLY) = -1 ENOENT (No such file or
directo
ry)
open("/usr/lib/firefox/plugins/libXt.so", O_RDONLY) = -1 ENOENT (No such
file or
 directory)
open("/usr/lib/mozilla-firefox/plugins/libXt.so", O_RDONLY) = -1 ENOENT
(No such
 file or directory)
open("/home/dennis/lib/i386/libXt.so", O_RDONLY) = 39
read(39, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\275"...,
512) = 51
2
fstat64(39, {st_mode=S_IFREG|0644, st_size=312564, ...}) = 0
close(39) = 0
open("/usr/lib/firefox/libXext.so", O_RDONLY) = -1 ENOENT (No such file
or direc
tory)
open("/usr/lib/firefox/plugins/libXext.so", O_RDONLY) = -1 ENOENT (No
such file
or directory)
open("/usr/lib/mozilla-firefox/plugins/libXext.so", O_RDONLY) = -1
ENOENT (No su
ch file or directory)
open("/home/dennis/lib/i386/libXext.so", O_RDONLY) = 39
read(39, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P&\0\000"...,
512) = 51
2

--
D.H. van Dok (<email address hidden>)

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Dennis, I don't quite agree with your assessment. And the console output you quoted cannot be complete. Please attach (!) the information as requested without truncating or any such thing. the ldd part for example cannot be the whole deal.

Revision history for this message
Dennis van Dok (dvandok) wrote :
Download full text (6.7 KiB)

Rolf Leggewie schreef:
> Dennis, I don't quite agree with your assessment. And the console
> output you quoted cannot be complete. Please attach (!) the information
> as requested without truncating or any such thing.
OK, hereby the output of strace firefox 2>&1 | grep libXt.

I removed .mozilla beforehand, and typed about:plugins as before.

> the ldd part for
> example cannot be the whole deal.
>
Is, too :-) Go see for yourself, it is the official version from
mozilla-acroread 7.0.1-0.0.ubuntu1. That's what they call weak dynamic
dependencies. My full assessment, for what it's worth, is that the
original programmer used dlopen("libXt.so") to dynamically link that
library. He/She assumed that a symbolic link by that name would always
be available (or could easily be made available). I tend to agree, but I
still would rather have made it an explicit dependency, which would show
up in the output of ldd.

In conclusion, the bug is that there is an unfulfilled (and somewhat
obscured) dependency on libXt.so.

Regards,

Dennis van Dok

--
D.H. van Dok (<email address hidden>)

open("/usr/lib/firefox/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox/plugins/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/mozilla-firefox/plugins/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/dennis/lib/i386/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/i686/sse2/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/i686/sse2/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/i686/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/i686/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/sse2/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/sse2/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/sse2/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/sse2/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("sse2/cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("sse2/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("cmov/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libXt.so.6", O_RDONLY) = 5
open("/usr/lib/firefox/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox/plugins/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/mozilla-firefox/plugins/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/ho...

Read more...

Revision history for this message
Dennis van Dok (dvandok) wrote :

I tried to attach the file, but on the website it still shows up in-line. Let me try to attach it in launchpad...

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Dennis, thank you for all this info and the analysis you did. Setting to confirmed. I have to admit that I don't fully understand where your problem is coming from but let's hope somebody else can pick it up from here. I originally came to this bug since I was experiencing a similar issue, so I will continue to monitor the progress.

Changed in acroread:
assignee: r0lf → nobody
status: Needs Info → Confirmed
Rolf Leggewie (r0lf)
Changed in acroread:
importance: Undecided → Medium
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Dennis, still have this issue? Isn't this the same as bug 41787. If so, try the workaround given there.

Revision history for this message
Dennis van Dok (dvandok) wrote :

Rolf Leggewie schreef:
> Dennis, still have this issue? Isn't this the same as bug 41787. If
> so, try the workaround given there.
>
Yes, it is the same as bug #41787; I've marked it as a duplicate.
Apparently the preloading of the libraries prevents the plugin from
trying to load them itself.

So there are two trivial workarounds: one is to add a LD_PRELOAD line to
the firefox script, the other is to add two harmless symlinks in the
firefox plugin path.

Regards,

Dennis
--
D.H. van Dok (<email address hidden>)

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.