Error (140) in ABL client responding to web request

« Go Back


EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: Unix
Question/Problem Description
Error (140) in ABL client responding to web request

4GL client runs to deliver data as web request response

HTTP request is canceled by client before response is fully transmitted
Steps to Reproduce
Clarifying Information
Error Message** Pipe to subprocess has been broken. (140)
Defect/Enhancement Number

When the HTTP client cancels a request, the web server in charge of the request will shut down the communication socket with the process in charge of providing the data for the request response.

If a Progress 4GL client was in charge of providing the response, it will receive SIGPIPE when attempting to write more data to the socket after it has been shut down. This is expected behavior.


To prevent the error message, the users should avoid the following:

- close the web browser window before the response is fully displayed,

- navigate to a different page before the current page is completely loaded,

- cancel a request (such as using the "close" button).

This situation is to be expected when using the regular Progress client as part of an application logic that answers web requests; it can usually be ignored since error 140 will cause the client to terminate gracefully.

References to Other Documentation:

Progress Articles:

000051285, Is it possible to trap OS-level signals in ABL?
Last Modified Date5/24/2016 7:06 PM

The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.

Was this article helpful?


Your feedback is appreciated.

Please tell us how we can make this article more useful.

Characters Remaining: 255