KnoooW / naclports

Automatically exported from code.google.com/p/naclports
0 stars 0 forks source link

pnacl - openssl naclport - ssl_read/ssl_write crash #101

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Connect to host (Windows) with SSL
2.Perform socket SSL_read and SSL_write
3.During many SSL_read/SSL_write, there is no returninf from SSL_read(),
seems like SSL_read() stuck...
any attempt to do net SSL_write, the crash occurs. 

What is the expected output? What do you see instead?
SSL_read(): tryread=11
SSL_read(return): readret=11

SSL_write(): trywrite=305
SSL_write(return): writeret=305

SSL_read(): tryread=2 
SSL_read(return): readret=2

SSL_read(): tryread=30
SSL_read(return): readret=30

SSL_read(): tryread=2
SSL_read(return): readret=2

SSL_read(): tryread=2
SSL_read(return): readret=2

SSL_read(): tryread=437
SSL_read(return): readret=437

SSL_read(): tryread=2
==> Stuck, no return from openssl read

What version of the product are you using? On what operating system?
SDK: pepper_canary (Version 33 Chrome Revision 239820)
Chrome OS (Browser) Version 31.0.1650.57
Ubuntu 12.04
naclports (sync today at revision 12560)

Please provide any additional information below.

Original issue reported on code.google.com by mele3...@gmail.com on 19 Dec 2013 at 1:30

GoogleCodeExporter commented 9 years ago
I think this is not the ssl lib issue.
The same issue on POSIX socket (nacl_io) send/recv in blocking mode vs 
non-blocking.
Without using SSL, just straight Posix send/recv, the recv() is starving after 
socket calls. The recv() is choking for a while

recv() try=3218 connection.js:266
recv() return=3218 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=6333 connection.js:266
recv() return=1437 connection.js:266
recv() try=4896 connection.js:266
recv() return=4896 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=6494 connection.js:266
recv() return=6494 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=5947 connection.js:266
recv() return=1437 connection.js:266
recv() try=4510 connection.js:266
recv() return=4510 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=6056 connection.js:266
recv() return=1437 connection.js:266
recv() try=4619 connection.js:266
recv() return=4619 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=6200 connection.js:266
recv() return=1437 connection.js:266
recv() try=4763 connection.js:266
recv() return=4763 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=6028 connection.js:266
recv() return=2877 connection.js:266
recv() try=3151 connection.js:266
recv() return=3151 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=5252 connection.js:266
recv() return=1437 connection.js:266
recv() try=3815 connection.js:266
recv() return=3815 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=5728 connection.js:266
recv() return=2877 connection.js:266
recv() try=2851 connection.js:266
recv() return=2851 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=5404 connection.js:266
recv() return=1437 connection.js:266
recv() try=3967 connection.js:266
recv() return=3967 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=4881 connection.js:266
recv() return=4881 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=4307 connection.js:266
recv() return=4307 connection.js:266
recv() try=2 connection.js:266
recv() return=2 connection.js:266
recv() try=1 connection.js:266
recv() return=1 connection.js:266
recv() try=2898 connection.js:266
recv() return=2898 connection.js:266
recv() try=2 connection.js:266
==> no return from recv()

Original comment by mele3...@gmail.com on 12 Jan 2014 at 5:48

GoogleCodeExporter commented 9 years ago
Do you have a source code sample that demonstrates this issue?

Original comment by sbc@chromium.org on 6 Feb 2014 at 11:23

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Is this still an issue?  We've make a few fixes to the nacl_io socket code 
recently so I would hope that it was fixed.

Original comment by sbc@google.com on 19 Jun 2014 at 6:18

GoogleCodeExporter commented 9 years ago
This should be fixed now.

Original comment by sbc@google.com on 1 Oct 2014 at 4:26