PR# 19057 SCOOP melted code bad behavior
Problem Report Summary
Submitter: jfiat_es
Category: Compiler
Priority: Medium
Date: 2015/03/17
Class: Bug
Severity: Serious
Number: 19057
Release: 15.05.9.6654
Confidential: No
Status: Open
Responsible:
Environment: Windows 7 Pro win64
Synopsis: SCOOP melted code bad behavior
Description
See the code class HTTPD_STREAM_SOCKET feature socket: STREAM_SOCKET .... accept_to (other: separate HTTPD_STREAM_SOCKET) -- Accept a new connection on listen socket. -- Socket of accepted connection is available in `other'. do if attached {NETWORK_STREAM_SOCKET} socket as l_socket and then attached {separate NETWORK_STREAM_SOCKET} other.socket as l_other_socket then l_socket.accept_to (l_other_socket) end end note that all objects in `socket' are TCP_STREAM_SOCKET that inherits from NETWORK_STREAM_SOCKET. If the code is melted, the issue is that the call to accept_to never occurs because the second object test return False. BUT the debugger shows other.socket is not Void and is a TCP_STREAM_SOCKET ! Freezing the system, makes it working fine. to reproduce comment l_socket.accept_to (l_other_socket) recompile, then uncomment , recompile again, and run ... see in debugger the bad behavior.
To Reproduce
get code from https://github.com/jocelyn/EWF/tree/concurrent_accept_to Archive file https://github.com/jocelyn/EWF/archive/concurrent_accept_to.zip or using git % git clone -b concurrent_accept_to https://github.com/jocelyn/EWF or with older version of git % git clone https://github.com/jocelyn/EWF % cd EWF % git checkout -b concurrent_accept_to origin/concurrent_accept_to
Problem Report Interactions
Last info "To reproduce" .. I forgot to mention the project to compile. EWF\library\server\ewsgi\connectors\httpd\httpd-safe.ecf target=dev and the related class HTTPD_STREAM_SOCKET , and feature `accept_to'
I have the issue with 15.05.9.6654 + trunk/Src at revision 96839 But I was not able to reproduce the issue with 15.05.9.6836