Date: Tue, 10 Jun 2008 08:39:41 GMT From: kevin <kevinxlinuz@163.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/124437: socket.connect can't work correct in gdc Message-ID: <200806100839.m5A8df6k089018@www.freebsd.org> Resent-Message-ID: <200806100840.m5A8e1A4023366@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 124437 >Category: ports >Synopsis: socket.connect can't work correct in gdc >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 10 08:40:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: kevin >Release: 8.0current >Organization: UFO zju >Environment: FreeBSD xxx-laptop.people.163.org 8.0-CURRENT FreeBSD 8.0-CURRENT #5: Tue Jun 10 02:25:38 CST 2008 root@xxx-laptop.people.163.org:/usr/obj/usr/src/sys/G8laptop amd64 >Description: In freebsd 7.0bata4/i386 and freebsd8.0current/amd64,socket.connect in gdc's socket.d ,can't work.it cause my program core dump. for example: A.d ------------------------ import std.socket; import std.socketstream; import std.stdio; int main() { Socket sock = new Socket(AddressFamily.INET, SocketType.STREAM, ProtocolType.IP); writefln("Befor"); sock.connect(new InternetAddress("www.digitalmars.com", 80)); writefln("After"); // SocketStream ss = new SocketStream(sock); // ss.writeString("GET /d/intro.html HTTP/1.1\r\n" // "Host: www.digitalmars.com\r\n" // "\r\n"); // while(ss.readLine().length) {} //skip header // while(!ss.eof()) { char[] line; // printf("%.*s\n", ss.readLine()); } return 0; } -------------------------------------- it can compile well,but it core dump at sock.connect(new InternetAddress("www.digitalmars.com", 80)); >How-To-Repeat: install gdc from ports in freebsd 8.0current.and compile following and run it. import std.socket; import std.socketstream; import std.stdio; int main() { Socket sock = new Socket(AddressFamily.INET, SocketType.STREAM, ProtocolType.IP); writefln("Befor"); sock.connect(new InternetAddress("www.digitalmars.com", 80)); writefln("After"); // SocketStream ss = new SocketStream(sock); // ss.writeString("GET /d/intro.html HTTP/1.1\r\n" // "Host: www.digitalmars.com\r\n" // "\r\n"); // while(ss.readLine().length) {} //skip header // while(!ss.eof()) { char[] line; // printf("%.*s\n", ss.readLine()); } return 0; } >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806100839.m5A8df6k089018>