www.digitalmars.com         C & C++   DMDScript  

D.gnu - [Issue 1555] New: segfault in std.stdio.readln()

reply d-bugmail puremagic.com writes:

           Summary: segfault in std.stdio.readln()
           Product: DGCC aka GDC
           Version: 0.24
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: dvdfrdmn users.sf.net
        ReportedBy: dlang davidb.org

The following program causes a segfault on EOF with gdc-0.24. I've
reproduced this on amd64, x86 both with the binary distribution and with
the gentoo emerged version (gcc-4.1.2). This does not appear to happen
with dmd.

module readline;

import std.stdio;

void main ()
  while (1) {
    char[] buf = readln ();
    if (buf is null)
    writef ("%s", buf);

Upon EOF, there is a segfault inside of a string dup inside of readln:

uint std.stdio.readln(struct std.c.stdio._iobuf*, inout char[])

#0 0xb7ed6a2c in memcpy () from /lib/libc.so.6
#1 0x0805992e in _adDupT ()
#2 0x080546e5 in _D3std5stdio6readlnFPS3std1c5stdio6_iobufKAaZk ()
#3 0x0805476a in _D3std5stdio6readlnFPS3std1c5stdio6_iobufZAa ()
#4 0x0804a076 in _Dmain ()
#5 0x08061018 in _D9dgccmain211_d_run_mainUiPPaPUAAaZiZi2goMFZv ()
#6 0x080610ca in _d_run_main ()
#7 0x0805d49b in main ()

I can try to build phobos with debugging symbols if other are unable to
reproduce this problem.

Oct 07 2007
parent d-bugmail puremagic.com writes:

dvdfrdmn users.sf.net changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

------- Comment #1 from dvdfrdmn users.sf.net  2007-10-13 13:47 -------
Fixed in svn rev 152 / release 0.25.  Duplicate of SF issue 1788195

Oct 13 2007