Hi Rod,

Rod Evans píše v út 13. 07. 2010 v 09:14 -0700:
> On 07/12/10 11:55 PM, Milan Jurik wrote:
> 
> > 02534: 1: symbol=nspr_use_zone_allocator;  dlsym() called from
> >    file=/usr/lib/mps/libnspr4.so; starting at file=/usr/bin/FBReader [...]
> > 02534: 1: rescanning for lazy dependencies for symbol: 
> > nspr_use_zone_allocator
> 
> The dlsym() has failed to locate the symbol nspr_use_zone_allocator within
> any objects that are presently loaded within the process, so the runtime
> linker goes through an exhaustive search of all pending lazy loadable
> objects in an attempt to find the symbol.  Very expensive.
> 
> > 02534: 1: ld.so.1: FBReader: fatal: nspr_use_zone_allocator: can't find 
> > symbol
> 
> At this point, the pending lazy loads have been processed, and the symbol
> still isn't found.  As this is a dlsym() call, the caller makes the decision
> of what to do in regards this lookup failure.  I thought that libnspr4
> continued regardless of the failure.
> 

Well, in curl case it can continue and even the error line is not
displayed. FBReader not.

> Is there any activity after the fatal error condition?  Other libraries 
> loaded?
> Or is the process just being torn down? (LD_DEBUG=init would reveal the .fini
> calls of a process exiting).
> 

I see additional work in "init" log:

07260: 1: calling .init (from sorted order): /usr/lib/libldap.so.5
07260: 1: 
07260: 1: 
07260: 1: ld.so.1: FBReader: fatal: nspr_use_zone_allocator: can't find
symbol
07260: 1: 
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libldap.so.5
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libgss.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libgss.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libcrypto.so.0.9.8
07260: 1: 
07260: 1: calling .init (done): /lib/libcrypto.so.0.9.8
[...]

as the result log is short, I am attaching it.

Also, I hacked code and added nspr_use_zone_allocator to FBReader binary
as global variable and this hack allows FBReader to start and work
without problem.

Best regards,

Milan
debug: 
debug: Solaris Linkers: 5.11-1.1713
debug: 
07260: 
07260: platform capability (CA_SUNW_PLAT) - i86pc
07260: machine capability (CA_SUNW_MACH) - i86pc
07260: hardware capabilities (CA_SUNW_HW_1) - 0x435c6f  [ SSSE3 AHF CX16 SSE3 
SSE2 SSE FXSR MMX CMOV SEP CX8 TSC FPU ]
07260: 
07260: 
07260: configuration file=/var/ld/ld.config: unable to process file
07260: 
07260: 
07260: 1: calling .init (from sorted order): /lib/libc.so.1
07260: 1: 
07260: 1: calling .init (done): /lib/libc.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libz.so.1
07260: 1: 
07260: 1: calling .init (done): /lib/libz.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libbz2.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libbz2.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libmd.so.1
07260: 1: 
07260: 1: calling .init (done): /lib/libmd.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libmp.so.2
07260: 1: 
07260: 1: calling .init (done): /lib/libmp.so.2
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libnsl.so.1
07260: 1: 
07260: 1: calling .init (done): /lib/libnsl.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libsocket.so.1
07260: 1: 
07260: 1: calling .init (done): /lib/libsocket.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libsasl.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libsasl.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libnspr4.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libnspr4.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libplc4.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libplc4.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libplds4.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libplds4.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libnssutil3.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libnssutil3.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libnss3.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libnss3.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/mps/libssl3.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/mps/libssl3.so
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libldap.so.5
07260: 1: 
07260: 1: 
07260: 1: ld.so.1: FBReader: fatal: nspr_use_zone_allocator: can't find symbol
07260: 1: 
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libldap.so.5
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libgss.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libgss.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libcrypto.so.0.9.8
07260: 1: 
07260: 1: calling .init (done): /lib/libcrypto.so.0.9.8
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libssl.so.0.9.8
07260: 1: 
07260: 1: calling .init (done): /lib/libssl.so.0.9.8
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libcurl.so.3
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libcurl.so.3
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libgcc_s.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libgcc_s.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libstdc++.so.6
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libstdc++.so.6
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libzlcore.so.0.13
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libzlcore.so.0.13
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libfribidi.so.0
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libfribidi.so.0
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libzltext.so.0.13
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libzltext.so.0.13
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libsqlite3.so.0
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libsqlite3.so.0
07260: 1: 
07260: 1: 
07260: 1: transferring control: /usr/bin/FBReader
07260: 1: 
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libsecdb.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libsecdb.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libtsol.so.2
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libtsol.so.2
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXdmcp.so.6
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXdmcp.so.6
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXau.so.6
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXau.so.6
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libX11.so.4
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libX11.so.4
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXext.so.0
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXext.so.0
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXrender.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXrender.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXinerama.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXinerama.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXi.so.5
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXi.so.5
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXrandr.so.2
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXrandr.so.2
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXfixes.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXfixes.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXcursor.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXcursor.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXcomposite.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXcomposite.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libXdamage.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libXdamage.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libpixman-1.so.0
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libpixman-1.so.0
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libfreetype.so.6
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libfreetype.so.6
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libfontconfig.so.1
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libfontconfig.so.1
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libpng12.so.0
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libpng12.so.0
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/libcairo.so.2
07260: 1: 
07260: 1: calling .init (done): /usr/lib/libcairo.so.2
07260: 1: 
07260: 1: calling .init (from sorted order): /usr/lib/zlibrary/ui/zlui-gtk.so
07260: 1: 
07260: 1: calling .init (done): /usr/lib/zlibrary/ui/zlui-gtk.so
07260: 1: 
07260: 1: calling .init (from sorted order): /lib/libresolv.so.2
07260: 1: 
07260: 1: calling .init (done): /lib/libresolv.so.2
07260: 1: 
07260: 1: calling .fini: /lib/libresolv.so.2
07260: 1: 
07260: 1: calling .fini: /usr/lib/zlibrary/ui/zlui-gtk.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/libcairo.so.2
07260: 1: 
07260: 1: calling .fini: /usr/lib/libpng12.so.0
07260: 1: 
07260: 1: calling .fini: /usr/lib/libfontconfig.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libfreetype.so.6
07260: 1: 
07260: 1: calling .fini: /usr/lib/libpixman-1.so.0
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXdamage.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXcomposite.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXcursor.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXfixes.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXrandr.so.2
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXi.so.5
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXinerama.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXrender.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXext.so.0
07260: 1: 
07260: 1: calling .fini: /usr/lib/libX11.so.4
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXau.so.6
07260: 1: 
07260: 1: calling .fini: /usr/lib/libXdmcp.so.6
07260: 1: 
07260: 1: calling .fini: /usr/lib/libtsol.so.2
07260: 1: 
07260: 1: calling .fini: /usr/lib/libsecdb.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libsqlite3.so.0
07260: 1: 
07260: 1: calling .fini: /usr/lib/libzltext.so.0.13
07260: 1: 
07260: 1: calling .fini: /usr/lib/libfribidi.so.0
07260: 1: 
07260: 1: calling .fini: /usr/lib/libzlcore.so.0.13
07260: 1: 
07260: 1: calling .fini: /usr/lib/libstdc++.so.6
07260: 1: 
07260: 1: calling .fini: /usr/lib/libgcc_s.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libcurl.so.3
07260: 1: 
07260: 1: calling .fini: /lib/libssl.so.0.9.8
07260: 1: 
07260: 1: calling .fini: /lib/libcrypto.so.0.9.8
07260: 1: 
07260: 1: calling .fini: /usr/lib/libgss.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libldap.so.5
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libssl3.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libnss3.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libnssutil3.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libplds4.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libplc4.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/mps/libnspr4.so
07260: 1: 
07260: 1: calling .fini: /usr/lib/libsasl.so.1
07260: 1: 
07260: 1: calling .fini: /lib/libsocket.so.1
07260: 1: 
07260: 1: calling .fini: /lib/libnsl.so.1
07260: 1: 
07260: 1: calling .fini: /lib/libmp.so.2
07260: 1: 
07260: 1: calling .fini: /lib/libmd.so.1
07260: 1: 
07260: 1: calling .fini: /usr/lib/libbz2.so.1
07260: 1: 
07260: 1: calling .fini: /lib/libz.so.1
07260: 1: 
07260: 1: calling .fini: /lib/libc.so.1
07260: 1: 
_______________________________________________
tools-linking mailing list
[email protected]

Reply via email to