libcrypto++ shared object missing symbols (library archive OK)

Bug #660171 reported by Jeffrey Walton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libcrypto++ (Debian)
Fix Released
Unknown
libcrypto++ (Ubuntu)
New
Undecided
Unassigned

Bug Description

Package: libcrypto++8
Version: 5.6.0-5

Please forgive the "dotting of i's and crossing of t's". Debian and Ubuntu are my platforms of choice, so I spend a little bit more time on them.

It appears the shared object version of the Crypto++ package is missing symbols in libcrypto++.so (but not libcrypto++.a).
g_nullNameValuPairs was implicated in a crash [1]. However, the symbol is not present in some Ubuntu libraries, which I believe can be sourced to Debian. The issue was reported to Debian, and this report will be annotated once Debian responds with a tracking number.

For completeness, the symbol g_nullNameValuePairs has storage allocated in cryptlib.cpp, line 40. See http://www.cryptopp.com/docs/ref/cryptlib_8cpp_source.html.

The missing symbol *appears* to be causing an [unrelated] crash when using dlopen/dlsym in a stress test for the issue in [1]. A bug report for the dlopen/dlsym crash will be reported when a minimum proof of concept is written.

root@bruno:/# nm /usr/lib/libcryptopp.a | grep g_nullNameValuePairs
                 U _ZN8CryptoPP20g_nullNameValuePairsE
0000000000000010 B _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
root@bruno:/# nm /usr/lib/libcryptopp.so | grep g_nullNameValuePairs
nm: /usr/lib/libcryptopp.so: no symbols
root@bruno:/# nm /usr/lib64/libcryptopp.a | grep g_nullNameValuePairs
                 U _ZN8CryptoPP20g_nullNameValuePairsE
0000000000000010 B _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
                 U _ZN8CryptoPP20g_nullNameValuePairsE
root@bruno:/# nm /usr/lib64/libcryptopp.so | grep g_nullNameValuePairs
nm: /usr/lib64/libcryptopp.so: no symbols

Jeffrey Walton

[1] Errors with multiple loading cryptopp as shared lib on Linux, http://groups.google.com/group/cryptopp-users/browse_thread/thread/68fbc22e8c6e2f48

root@bruno:/# uname -a
Linux bruno 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:05:27 UTC 2010 x86_64 GNU/Linux

root@bruno:/# apt-get install libcrypto++8 libcrypto++8-dbg libcrypto++-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  libcrypto++-dev libcrypto++8 libcrypto++8-dbg
...

root@bruno:/# whereis libcrypto++
libcrypto++: /usr/lib/libcrypto++.so /usr/lib/libcrypto++.a /usr/lib64/libcrypto++.so /usr/lib64/libcrypto++.a

Revision history for this message
Jeffrey Walton (noloader) wrote :
Book 'em Dano (heymrdjd)
affects: ubuntu → libcrypto++ (Ubuntu)
Changed in libcrypto++ (Debian):
status: Unknown → New
Revision history for this message
Jeffrey Walton (noloader) wrote :

Please close this erroneous report.

root@bruno:/# nm -D /usr/lib/libcrypto++.so | grep g_nullNameValuePairs
00000000006b7cc0 B _ZN8CryptoPP20g_nullNameValuePairsE
root@bruno:/# nm -D /usr/lib64/libcrypto++.so | grep g_nullNameValuePairs
00000000006b7cc0 B _ZN8CryptoPP20g_nullNameValuePairsE

Many thanks to Nathan Phillip Brink on the Crypto++ mailing list.

JW

Changed in libcrypto++ (Debian):
status: New → Fix Released
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.