[squeak-dev] WebClient httpGet: 'http://freegeoip.net/json/' works on windows not linux
Tobias Pape
Das.Linux at gmx.de
Mon Feb 26 21:46:01 UTC 2018
Hi Tim
> On 26.02.2018, at 21:13, tim Rowledge <tim at rowledge.org> wrote:
>
>
>
>> On 26-02-2018, at 12:03 PM, tim Rowledge <tim at rowledge.org> wrote:
>>
>> Which probably doesn't mean much to anyone so I guess I'll look up my notes on the joys of running gdb and try again. I hate gdb.
have you ever trie "tui enable" ?
>
> It fails in loadLibrary() and looks like in dlsym.c @ line 58 it fails to find a file or directory.
>
Yes,,,
> I have to dash, so hee is the gdb output so far -
> Thread 1 "squeak" hit Breakpoint 1, sqCreateSSL ()
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:275
> 275 sqInt handle = 0;
> (gdb) list
> 270 /* sqCreateSSL: Creates a new SSL instance.
> 271 Arguments: None.
> 272 Returns: SSL handle.
> 273 */
> 274 sqInt sqCreateSSL(void) {
> 275 sqInt handle = 0;
> 276 sqSSL *ssl = NULL;
> 277
> 278 if (!wasInitialized) {
> 279 if (!loadLibrary()) {
> (gdb) n
> 276 sqSSL *ssl = NULL;
> (gdb)
> 278 if (!wasInitialized) {
> (gdb) s
> 279 if (!loadLibrary()) {
> (gdb)
> loadLibrary ()
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:430
> 430 SQO_DECLARATIONS
> (gdb) list
> 425 sqo_ ## name =(ret (*)(__VA_ARGS__)) _sqo_find(#name);
> 426 # define SQO_DECL_NO(ret, name, ...) /**/
> 427 #endif /* defined(SQSSL_OPENSSL_LINKED) */
> 428
> 429 /* THIS LINE IS VITAL */
> 430 SQO_DECLARATIONS
> 431
> 432
> 433 #undef SQO_DECL___
> 434 #undef SQO_DECL_NO
> (gdb) s
> _sqo_find (name=0x75e2da80 "ASN1_STRING_data")
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:311
> 311 void* sym = NULL;
> (gdb) s
> 312 SQO_HAS_FOUND_SYM(sym, name, RTLD_DEFAULT);
> (gdb)
> __dlsym (handle=0x0, name=0x75e2da80 "ASN1_STRING_data") at dlsym.c:58
> 58 dlsym.c: No such file or directory.
This is expected. It tries to find "ASN1_STRING_data" in the current loaded process images, but it is not yet there. But see below...
> (gdb) n
> 56 in dlsym.c
> (gdb)
> 58 in dlsym.c
> (gdb)
> 56 in dlsym.c
> (gdb)
> 58 in dlsym.c
> (gdb)
> 56 in dlsym.c
> (gdb)
> 58 in dlsym.c
> (gdb)
> 56 in dlsym.c
> (gdb)
> 58 in dlsym.c
> (gdb)
> 68 in dlsym.c
> (gdb)
> 63 in dlsym.c
> (gdb)
> 64 in dlsym.c
> (gdb)
> 65 in dlsym.c
> (gdb)
> 68 in dlsym.c
> (gdb)
> 70 in dlsym.c
> (gdb)
> 72 in dlsym.c
> (gdb)
> 70 in dlsym.c
> (gdb)
> 72 in dlsym.c
> (gdb)
> 70 in dlsym.c
> (gdb)
> 72 in dlsym.c
> (gdb)
> 75 in dlsym.c
> (gdb)
> _sqo_find (name=0x75e2da80 "ASN1_STRING_data")
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:313
> 313 SQO_FIND_SYM(sym, name, self, NULL);
.. it is also not found in the main executable but...
> (gdb)
> 314 SQO_FIND_SYM(sym, name, ssl, "libssl.so");
> (gdb)
> Found symbol ASN1_STRING_data in dlhandle_ssl
it _is_ found in an libssl.
> 317 }
> (gdb)
> Found symbol ASN1_STRING_length in RTLD_DEFAULT
> Found symbol BIO_free_all in RTLD_DEFAULT
> Found symbol BIO_new in RTLD_DEFAULT
> Found symbol BIO_s_mem in RTLD_DEFAULT
> Found symbol BIO_ctrl_pending in RTLD_DEFAULT
> Found symbol BIO_ctrl in RTLD_DEFAULT
> Found symbol BIO_write in RTLD_DEFAULT
> Found symbol BIO_read in RTLD_DEFAULT
> Found symbol ERR_print_errors_fp in RTLD_DEFAULT
> Found symbol SSL_CTX_free in RTLD_DEFAULT
> Found symbol SSL_CTX_set_cipher_list in RTLD_DEFAULT
> Found symbol SSL_CTX_set_default_verify_paths in RTLD_DEFAULT
> Found symbol SSL_CTX_ctrl in RTLD_DEFAULT
> Found symbol SSL_CTX_use_PrivateKey_file in RTLD_DEFAULT
> Found symbol SSL_CTX_use_certificate_file in RTLD_DEFAULT
> Found symbol SSL_accept in RTLD_DEFAULT
> Found symbol SSL_connect in RTLD_DEFAULT
> Found symbol SSL_free in RTLD_DEFAULT
> Found symbol SSL_ctrl in RTLD_DEFAULT
> Found symbol SSL_get_error in RTLD_DEFAULT
> Found symbol SSL_get_peer_certificate in RTLD_DEFAULT
> Found symbol SSL_get_verify_result in RTLD_DEFAULT
so are all these, too.
However, the next in line (openssl_overlay.h:274) is apparently _not_ found.
how strange.
is the openssl library list you gave some days ago still correct?
Best regards
-tobias
> loadLibrary ()
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:438
> 438 }
> (gdb)
> sqCreateSSL ()
> at /home/pi/DizietFS/Documents/Squeak/Rasbian-VM/vm/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:280
> 280 return 0;
> (gdb)
>
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Strange OpCodes: SEOB: Set Every Other Bit
>
>
>
More information about the Squeak-dev
mailing list
|