[asterisk-bugs] [Asterisk 0014379]: AMI shows utils.c:1198 ast_careful_fwrite: fflush() returned error: Broken pipe

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 5 10:51:37 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14379 
====================================================================== 
Reported By:                chris-mac
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   14379
Category:                   Core/ManagerInterface
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 172030 
Request Review:              
====================================================================== 
Date Submitted:             2009-01-31 16:50 CST
Last Modified:              2009-02-05 10:51 CST
====================================================================== 
Summary:                    AMI shows utils.c:1198 ast_careful_fwrite: fflush()
returned error: Broken pipe
Description: 
When sending data to AMI socket, without reading (waiting for) response -
console shows:

ERROR[5148]: utils.c:1198 ast_careful_fwrite: fflush() returned error:
Broken pipe

How to reproduce:
0. You will need php5-cli installed
1. Download 'AMI.class.php' and 'ami-test.php' attached.
2. Edit AMI username/password in 'ami-test.php'.
3. Run ./ami-test.php
4. Watch Asterisk console

NOTE: To revert back to a 'normal' behaviour, change line 72 of
'AMI.class.php' to: 'public $sync = true;'


====================================================================== 

---------------------------------------------------------------------- 
 (0099501) putnopvut (administrator) - 2009-02-05 10:51
 http://bugs.digium.com/view.php?id=14379#c99501 
---------------------------------------------------------------------- 
mcargile: The biggest difference I'm seeing between 1.4.21.2 and 1.4.23 is
that the ast_carefulwrite function was rewritten. Most of the changes had
to do with reporting errors.

One change that was made was to poll on the file descriptor we are going
to write to prior to writing to it. I can't really see how this would be a
problem, though. If poll(2) blocks, then that would also mean that write(2)
would, so I can't see how this would cause a delay.

mcargile, I may have read your comment incorrectly, so if what I suggest
doesn't make sense, I apologize in advance. Could you run identical tests
of 120 calls on 1.4.21.2 and 1.4.23.1 and see if the log table that is
written to by the child processes is significantly different? I'm just
thinking that the same error existed in 1.4.21.2 but there was no error
message printed. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-05 10:51 putnopvut      Note Added: 0099501                          
======================================================================




More information about the asterisk-bugs mailing list