Re: segment violation in prolog

Jan Wielemaker <[email protected]> Thu, 14 Aug 2014 10:03:30 +0200
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
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


On 08/13/2014 08:45 PM, Josef Fydl wrote:
> 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
>