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]
