マルチスレッドを openssl で使用すると問題が発生します。
環境: Linux centOS232 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
エラーはセグメンテーション違反です! そしてクレント出口。
コア スタック:
0 asn1_d2i_ex_primitive (pval=0x640280、in=0x7ffff6ffe140、inlen=9、it=0x7ffff77f0840、tag=-1、aclass=0、opt=0 '\000'、ctx=0x7ffff6ffebd0) at tasn_dec.c:770
1 0x00007ffff75413f2 in ASN1_item_ex_d2i (pval=0x640280, in=0x7ffff6ffe140, len=9, it=0x7ffff77f0840, tag=-1, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:233
2 asn1_template_noexp_d2i の 0x00007ffff7541ba9 (val=0x640280、in=0x7ffff6ffe290、len=9、tt=0x7ffff77f6a40、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:746
3 asn1_template_ex_d2i の 0x00007ffff7541eac (val=0x640280、in=0x7ffff6ffe290、inlen=、tt=0x7ffff77f6a40、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:607
4 0x00007ffff75415ca in ASN1_item_ex_d2i (pval=0x7ffff6ffe328, in=0x7ffff6ffe330, len=9, it=0x7ffff77f01e0, tag=, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:448
5 asn1_template_noexp_d2i の 0x00007ffff7541c8f (val=0x7ffff6ffe518、in=0x7ffff6ffe520、len=11、tt=0x7ffff77f6aa0、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:706
6 asn1_template_ex_d2i の 0x00007ffff7541eac (val=0x7ffff6ffe518、in=0x7ffff6ffe520、inlen=、tt=0x7ffff77f6aa0、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:607
7 0x00007ffff75414c5 in ASN1_item_ex_d2i (pval=0x7ffff6ffe518, in=0x7ffff6ffe520, len=98, it=0x7ffff77f0220, tag=-1, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:1:
8 0x00007ffff7541c8f in asn1_template_noexp_d2i (val=0x7ffff6ffe6e0、in=0x7ffff6ffe6e8、len=98、tt=0x7ffff77f6ae0、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:706
9 0x00007ffff7541eac in asn1_template_ex_d2i (val=0x7ffff6ffe6e0、in=0x7ffff6ffe6e8、inlen=、tt=0x7ffff77f6ae0、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:607
10 0x00007ffff75414c5 in ASN1_item_ex_d2i (pval=0x7ffff6ffe6e0, in=0x7ffff6ffe6e8, len=410, it=0x7ffff77f0260, tag=-1, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.
11 0x00007ffff753a705 in x509_name_ex_d2i (val=0x63d6f8, in=0x7ffff6ffe830, len=, it=, tag=, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at x_name.c:186
12 0x00007ffff7541083 in ASN1_item_ex_d2i (pval=0x63d6f8, in=0x7ffff6ffe830, len=410, it=0x7ffff77f6a00, tag=-1, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:
13 0x00007ffff7541ba9 in asn1_template_noexp_d2i (val=0x63d6f8, in=0x7ffff6ffe980, len=410, tt=0x7ffff77f6b98, opt=, ctx=0x7ffff6ffebd0) at tasn_dec.c:746
14 0x00007ffff7541eac in asn1_template_ex_d2i (val=0x63d6f8, in=0x7ffff6ffe980, inlen=, tt=0x7ffff77f6b98, opt=, ctx=0x7ffff6ffebd0) at tasn_dec.c:607
15 0x00007ffff75415ca in ASN1_item_ex_d2i (pval=0x63d620, in=0x7ffff6ffea20, len=410, it=0x7ffff77f02e0, tag=, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:448
16 0x00007ffff7541ba9 in asn1_template_noexp_d2i (val=0x63d620, in=0x7ffff6ffeb70, len=587, tt=0x7ffff77f6cc0, opt=, ctx=0x7ffff6ffebd0) at tasn_dec.c:746
17 0x00007ffff7541eac in asn1_template_ex_d2i (val=0x63d620、in=0x7ffff6ffeb70、inlen=、tt=0x7ffff77f6cc0、opt=、ctx=0x7ffff6ffebd0) at tasn_dec.c:607
18 0x00007ffff75415ca in ASN1_item_ex_d2i (pval=0x7ffff6ffebf8, in=0x7ffff6ffec20, len=587, it=0x7ffff77f0320, tag=, aclass=, opt=0 '\000', ctx=0x7ffff6ffebd0) at tasn_dec.c:448
19 0x00007ffff7542024 in ASN1_item_d2i (pval=0x7ffff6ffebf8, in=, len=, it=) at tasn_dec.c:136
20 ssl3_get_server_certificate の 0x00007ffff7830c3c (s=0x62a870)、s3_clnt.c:1125
s3_clnt.c:334 の ssl3_connect (s=0x62a870) の 21 0x00007ffff7832332
22 0x00007ffff783a3bc in ssl23_get_server_hello (s=0x62a870) at s23_clnt.c:743
23 ssl23_connect (s=0x62a870) at s23_clnt.c:226
24 0x00007ffff7ab85fa in ZCY_SSL_create (ssl=0x626940, ssl_ctx=, bio_ctx=0x626948) at ssl_cliapi.c:267
Cli_Login の 25 0x00007ffff701bf12 (gid=0x7ffff6fff7a0、err=0x7ffff6fff390)、capi.c:1146
26 0x00007ffff7a89568 ログイン中 (gid=0x7ffff6fff7a0、err=0x7ffff6fff390) tmcapi.c:137
ssl_get_send.c:337 の send_msg (argv=0x605ed0) の 27 0x00000000004022cb
28 0x0000003efd407851 in start_thread () from /lib64/libpthread.so.0
/lib64/libc.so.6 からのクローン () の 29 0x0000003efd0e811d
スレッド サポート:
"crypto/threads/mttest.c" の例のように、ssl コードにコールバックを設定しました。
質問: しかし、他の machine2 で同じコード [Linux ph-suse 2.6.27.19-5-default #1 SMP 2009-02-28 04:40:21 +0100 x86_64 x86_64 x86_64 GNU/Linux] は成功しました。 「ldd」を使用して、マシン 2 でライブラリが異なるかどうかを確認しますが、それらは同じです。
申し訳ありませんが、私は英語でプールです.
誰が私を助けることができます?ありがとう!