Discussion:
segment violation in prolog
Josef Fydl
2014-08-13 18:45:15 UTC
Permalink
Jan and Anne, I do not know adrress to which to send this , Google does not work for me.
But anyway Facebook pages give me a segment violation, if I try to bring them with http_open , other https sites are OK
See the trace
?- open('test.txt', write, S),A='https://www.facebook.com/gopi.suri' ,
| http_open(A, In, [cert_verify_hook(cert_verify),status_code(Code),timeout(90)] ).

SWI-Prolog [thread 1]: received fatal signal 11 (segv)
C-stack trace labeled "crash":
[0] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(save_backtrace+0xb9) [0x10ae6e159]
[1] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(crashHandler+0x3d) [0x10ae6e69d]
[2] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(dispatch_signal+0x354) [0x10ae20f84]
[3] /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1a) [0x7fff857995aa]
[5] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(unify_certificate+0x42b) [0x10b015f8b]
[6] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(pl_cert_verify_hook+0xe8) [0x10b018108]
[7] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(ssl_cb_cert_verify+0xa6) [0x10b019226]
[8] /opt/local/lib/libcrypto.1.0.0.dylib(X509_verify_cert+0x4e8) [0x10b136e58]
[9] /opt/local/lib/libssl.1.0.0.dylib(ssl_verify_cert_chain+0x122) [0x10b053dc2]
[10] /opt/local/lib/libssl.1.0.0.dylib(ssl3_get_server_certificate+0x17e) [0x10b031d8e]
[11] /opt/local/lib/libssl.1.0.0.dylib(ssl3_connect+0x5aa) [0x10b030b7a]
[12] /opt/local/lib/libssl.1.0.0.dylib(ssl23_connect+0xd3d) [0x10b03ef4d]
[13] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(ssl_ssl_bio+0x10e) [0x10b019a9e]
[14] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(pl_ssl_negotiate+0x73) [0x10b017903]
[15] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(PL_next_solution+0x85dc) [0x10adba49c]
[16] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(query_loop+0x13a) [0x10ae0223a]
[17] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(prologToplevel+0x51) [0x10ae02881]
[18] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(PL_toplevel+0x38) [0x10adca9b8]
[19] /opt/local/bin/swipl(main+0x35) [0x10ada1f05]
[20] /usr/lib/system/libdyld.dylib(start+0x1) [0x7fff8b42f5fd]
Abort trap: 6

others are OK:
?- open('test.txt', write, S),A='https://plus.google.com/105304021131578236334/posts' ,
| http_open(A, In, [cert_verify_hook(cert_verify),status_code(Code),timeout(90)] ).
Accepting certificate
Accepting certificate
S = <stream>(0x7f9e8412d160),
A = 'https://plus.google.com/105304021131578236334/posts',
In = <stream>(0x7f9e8404ed30),
Code = 200.
Is there anything I can do to prevent crash? Like may be use my own Facebook ID?

Thanks Josef Frydl
Jan Wielemaker
2014-08-14 08:03:30 UTC
Permalink
Did a little digging and sent it to our SSL expert (Matt Lilley). It is
clear where it crashes,
but I don't know much about how this is supposed to work ...

Thanks for reporting --- Jan
Post by Josef Fydl
Jan and Anne, I do not know adrress to which to send this , Google does not work for me.
But anyway Facebook pages give me a segment violation, if I try to bring them with http_open , other https sites are OK
See the trace
?- open('test.txt', write, S),A='https://www.facebook.com/gopi.suri' ,
| http_open(A, In, [cert_verify_hook(cert_verify),status_code(Code),timeout(90)] ).
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
[0] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(save_backtrace+0xb9) [0x10ae6e159]
[1] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(crashHandler+0x3d) [0x10ae6e69d]
[2] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(dispatch_signal+0x354) [0x10ae20f84]
[3] /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1a) [0x7fff857995aa]
[5] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(unify_certificate+0x42b) [0x10b015f8b]
[6] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(pl_cert_verify_hook+0xe8) [0x10b018108]
[7] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(ssl_cb_cert_verify+0xa6) [0x10b019226]
[8] /opt/local/lib/libcrypto.1.0.0.dylib(X509_verify_cert+0x4e8) [0x10b136e58]
[9] /opt/local/lib/libssl.1.0.0.dylib(ssl_verify_cert_chain+0x122) [0x10b053dc2]
[10] /opt/local/lib/libssl.1.0.0.dylib(ssl3_get_server_certificate+0x17e) [0x10b031d8e]
[11] /opt/local/lib/libssl.1.0.0.dylib(ssl3_connect+0x5aa) [0x10b030b7a]
[12] /opt/local/lib/libssl.1.0.0.dylib(ssl23_connect+0xd3d) [0x10b03ef4d]
[13] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(ssl_ssl_bio+0x10e) [0x10b019a9e]
[14] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/ssl4pl.dylib(pl_ssl_negotiate+0x73) [0x10b017903]
[15] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(PL_next_solution+0x85dc) [0x10adba49c]
[16] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(query_loop+0x13a) [0x10ae0223a]
[17] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(prologToplevel+0x51) [0x10ae02881]
[18] /opt/local/lib/swipl-6.6.6/lib/x86_64-darwin13.2.0/libswipl.dylib(PL_toplevel+0x38) [0x10adca9b8]
[19] /opt/local/bin/swipl(main+0x35) [0x10ada1f05]
[20] /usr/lib/system/libdyld.dylib(start+0x1) [0x7fff8b42f5fd]
Abort trap: 6
?- open('test.txt', write, S),A='https://plus.google.com/105304021131578236334/posts' ,
| http_open(A, In, [cert_verify_hook(cert_verify),status_code(Code),timeout(90)] ).
Accepting certificate
Accepting certificate
S = <stream>(0x7f9e8412d160),
A = 'https://plus.google.com/105304021131578236334/posts',
In = <stream>(0x7f9e8404ed30),
Code = 200.
Is there anything I can do to prevent crash? Like may be use my own Facebook ID?
Thanks Josef Frydl
Loading...