[Vm-dev] Pharo VM crash in bootstrap with Inconsistency detected by ld.so

Alistair Grant akgrant0710 at gmail.com
Mon Mar 12 10:54:20 UTC 2018


Hi Tobias,

On 12 March 2018 at 11:22, Tobias Pape <Das.Linux at gmx.de> wrote:
>
>
>> On 12.03.2018, at 09:28, Alistair Grant <akgrant0710 at gmail.com> wrote:
>>
>> ...
>>
>> I'm struggling to figure this one out at the moment and am hoping that
>> one of you might recognise something to help track it down...
>>
>> P.S. I also tried compiling with -DSQSSL_OPENSSL_LINKED, but that
>> produced compiler errors.
>
> which?


c99 -m32 -g3 -O0 -fwrapv -DDEBUGVM=1 -DPharoVM -DIMMUTABILITY=1
-DSQSSL_OPENSSL_LINKED -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-DCOGMTVM=0 -DLSB_FIRST=1 -DHAVE_CONFIG_H
-I/home/alistair/vmmaker/opensmalltalk-vm/build.linux32x86/pharo.cog.spur/build.debug
-I/home/alistair/vmmaker/opensmalltalk-vm/build.linux32x86/pharo.cog.spur/build.debug
-I/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/vm
-I/home/alistair/vmmaker/opensmalltalk-vm/platforms/Cross/vm
-I/home/alistair/vmmaker/opensmalltalk-vm/spursrc/vm
-I/home/alistair/vmmaker/opensmalltalk-vm/platforms/Cross/plugins/SqueakSSL
-I/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL
-c /home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c
 -fPIC -DPIC -DPIC -o sqUnixOpenSSL.o
In file included from
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:4:0:
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:
In function 'loadLibrary':
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:140:30:
error: too many arguments to function '0u'
 #define sqo_OPENSSL_init_ssl ((void*(*)(void))NULL)
                              ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:886:7:
note: in expansion of macro 'sqo_OPENSSL_init_ssl'
       sqo_OPENSSL_init_ssl(sqo_OPENSSL_INIT_LOAD_SSL_STRINGS |
       ^
In file included from /usr/include/openssl/crypto.h:129:0,
                 from /usr/include/openssl/comp.h:5,
                 from /usr/include/openssl/ssl.h:149,
                 from
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:33,
                 from
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:4:
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:
In function 'sqVerifyNameInner':
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:39:
error: 'sk_GENERAL_NAME_freefunc' undeclared (first use in this
function)
   sqo_sk_GENERAL_NAME_pop_free(sANs,
(sk_GENERAL_NAME_freefunc)sqo_OPENSSL_sk_free);
                                       ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:3:
note: in expansion of macro 'sqo_sk_GENERAL_NAME_pop_free'
   sqo_sk_GENERAL_NAME_pop_free(sANs,
(sk_GENERAL_NAME_freefunc)sqo_OPENSSL_sk_free);
   ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:39:
note: each undeclared identifier is reported only once for each
function it appears in
   sqo_sk_GENERAL_NAME_pop_free(sANs,
(sk_GENERAL_NAME_freefunc)sqo_OPENSSL_sk_free);
                                       ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:3:
note: in expansion of macro 'sqo_sk_GENERAL_NAME_pop_free'
   sqo_sk_GENERAL_NAME_pop_free(sANs,
(sk_GENERAL_NAME_freefunc)sqo_OPENSSL_sk_free);
   ^
In file included from
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:4:0:
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:
In function 'sqVerifySAN':
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:149:35:
error: too many arguments to function '0u'
 #define sqo_ASN1_STRING_get0_data ((void*(*)(void))NULL)
                                   ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:162:6:
note: in expansion of macro 'sqo_ASN1_STRING_get0_data'
    ? sqo_ASN1_STRING_get0_data(sAN->d.ia5)
      ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:
In function 'sqSetupSSL':
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:138:33:
error: too many arguments to function '0u'
 #define sqo_SSL_CTX_set_options ((void*(*)(void))NULL)
                                 ^
/home/alistair/vmmaker/opensmalltalk-vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:241:2:
note: in expansion of macro 'sqo_SSL_CTX_set_options'
  sqo_SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
  ^
Makefile:192: recipe for target 'sqUnixOpenSSL.lo' failed
make[1]: *** [sqUnixOpenSSL.lo] Error 1
Makefile:552: recipe for target 'SqueakSSL.la' failed
make: *** [SqueakSSL.la] Error 2
~/vmmaker/opensmalltalk-vm/build.linux32x86/pharo.cog.spur/build.debug
~/vmmaker/opensmalltalk-vm/build.linux32x86/pharo.cog.spur/build.debug
cp -f /home/alistair/vmmaker/opensmalltalk-vm/.thirdparty-cache/linux/i386/lib/libSDL2-2.0.so.0.4.1
/home/alistair/vmmaker/opensmalltalk-vm/products/debug/phcogspurlinuxht/lib/squeak/5.0-201803091840
Installing links
for each in /home/alistair/vmmaker/opensmalltalk-vm/.thirdparty-cache/linux/i386/lib/libSDL2*so*;
do \
if [ -L $each ]; then \
cp -d $each /home/alistair/vmmaker/opensmalltalk-vm/products/debug/phcogspurlinuxht/lib/squeak/5.0-201803091840;
\
fi \
done
DONE


Let me know if you want the complete log file (417K).


> I've committed a probable fix in 802de0a1b. Please tell me whether this works.

Thanks!  I'll let you know.


Cheers,
Alistair


More information about the Vm-dev mailing list