[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
stdio write(2) error handling bug?
From: |
Érsek László |
Subject: |
stdio write(2) error handling bug? |
Date: |
Sat, 13 Apr 2002 00:31:40 +0000 (GMT) |
Dear Developers,
this is not necessarily a bug report, I am just curious if I am doing
something wrong. The attached program behaves differently on my system
(linux 2.4.18 i686, glibc-2.2.4, gcc-3.0.2) and on another system
(AIX 4.3, gcc-2.95.2). On AIX, it does what I expect (fprintf fails due
to EAGAIN in write(2)), on mine it doesn't (the parent gets a segfault).
I had the same results when I used socketpair instead of pipe and
5 x SO_SNDBUF instead of PIPE_BUF.
gdb output:
-----------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x40038488 in __errno_location () from /lib/libc.so.6
(gdb) bt
#0 0x40038488 in __errno_location () from /lib/libc.so.6
#1 0x4008e422 in _IO_do_write () from /lib/libc.so.6
#2 0x4008efb7 in _IO_file_xsputn () from /lib/libc.so.6
#3 0x40070c71 in vfprintf () from /lib/libc.so.6
#4 0x4008f6a4 in __overflow () from /lib/libc.so.6
#5 0x40070c8f in vfprintf () from /lib/libc.so.6
------------------------------------------------------
and so on, the last two lines are repeated for more than 14,000 times
so I think it's a stack overrun because of infinite recursion.
Thank you in advance
Laszlo Ersek
stdio-try.c
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- stdio write(2) error handling bug?,
Érsek László <=