These are chat archives for IndySockets/Indy

25th
Nov 2017
decfpc
@decfpc
Nov 25 2017 01:07
iconv_open returns -1 for 'ASCII', 'UTF-16LE'... error no is EINVAL, I guess the system doesn't support that conversion :worried:
Is there any way I can make Indy work on it anyway?
John
@JEisenheim_twitter
Nov 25 2017 15:06
Hello, Strange problem with Indy 10 on 64-bit. When I run a program which uses Indy 10, the program is crashing at start in function IN6ADDR_LOOPBACK_INIT in IdWinsock2. Steps to reproduce: Windows 7 Pro, Delphi XE2, Indy 5438, create a new project, include IdWinsock2, compile\run in 64-bit, crash. Interesting thing is that worked before November 2017, now is crashing even with earlier Indy revisions (2016 december - 2017 october). The only thing was changed on my computer in November was the Windows 7 monthly updates.
The crash in IN6ADDR_LOOPBACK_INIT is "c0000005 ACCESS VIOLATION", apparently Result.s6_bytes values are inaccessible. Thanks.
John
@JEisenheim_twitter
Nov 25 2017 15:15
Also, if somebody knows, is the Delphi XE2 64-bit compiler good enough for commercial projects? It was the first 64-bit compiler, maybe is not production ready and the crash bug is just a sign of this.
decfpc
@decfpc
Nov 25 2017 16:50
@JEisenheim_twitter I only have Windows 10 x64 for testing, but I don't have that issue in XE2 v16.0.4504.48759 64-bit (tried same Indy rev you stated). As for the quality of the compiler: I do know that I had weird crashes with it when doing slightly exotic things like building DLLs that would be used in a non-Delphi application. With newer versions (like XE6) it worked fine. If all you're doing is VCL/console desktop applications, you may be fine. On Windows 10 another reason I'm not using XE2 for x64 anymore, though, is that the debugger isn't working.
@rlebeau I solved the issue I had earlier by setting GCONV_PATH and providing the shared objects for UTF that were missing. Another thing I noticed is that it tries to load some functions that are not available in the old OpenSSL 0.9.7 version my box is using:
[S] SSL_SESSION_get_id
[C] EVP_MD_type
[C] EVP_MD_size
[C] EVP_MD_block_size
[C] EVP_MD_CTX_md
[C] EVP_CIPHER_flags
[C] EVP_CIPHER_CTX_cipher
[C] EVP_CIPHER_CTX_get_app_data
[C] EVP_CIPHER_CTX_set_app_data
[C] EVP_CIPHER_CTX_flags
decfpc
@decfpc
Nov 25 2017 16:55
I know the version is ancient, but in the array where Indy looks for the shared libraries you still give 0.9.7 and 0.9.6, so it may be a bit confusing that it is not in fact compatible with those versions out of the box.
None of those functions seem to be really required by Indy itself, they're only used in a bunch of wrappers, so nothing should happen unless one explicitly calls those from external code.
irawancepu
@irawancepu
Nov 25 2017 22:51
@JEisenheim_twitter Nothing we can do on Windows update process. Microsoft if completely free to change Windows's kernel. Winsock is not an exception.