From owner-freebsd-emulation@FreeBSD.ORG Tue May 5 15:26:31 2009 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 223FF1065672 for ; Tue, 5 May 2009 15:26:31 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from services.ipt.ru (services.ipt.ru [194.62.233.110]) by mx1.freebsd.org (Postfix) with ESMTP id 69FB98FC18 for ; Tue, 5 May 2009 15:26:30 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from bb.ipt.ru ([194.62.233.89]) by services.ipt.ru with esmtp (Exim 4.54 (FreeBSD)) id 1M1MXN-000BEk-FD; Tue, 05 May 2009 19:26:29 +0400 To: Alexander Leidinger References: <81924694@bb.ipt.ru> <20090505144955.16373k1b32dpaxo0@webmail.leidinger.net> <47993241@bb.ipt.ru> <20090505160827.1359651x47bqmxc8@webmail.leidinger.net> From: Boris Samorodov Date: Tue, 05 May 2009 19:26:28 +0400 In-Reply-To: <20090505160827.1359651x47bqmxc8@webmail.leidinger.net> (Alexander Leidinger's message of "Tue\, 05 May 2009 16\:08\:27 +0200") Message-ID: <67678219@bb.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-emulation@FreeBSD.org Subject: Re: [linux-f10] linux_socketcall... ERR#43 'Protocol not supported' X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 May 2009 15:26:31 -0000 On Tue, 05 May 2009 16:08:27 +0200 Alexander Leidinger wrote: > Quoting Boris Samorodov (from Tue, 05 May 2009 17:44:54 +0400): > > On Tue, 05 May 2009 14:49:55 +0200 Alexander Leidinger wrote: > >> Quoting Boris Samorodov (from Tue, 05 May 2009 > >> 09:51:21 +0400): > > > >> > I'm working on Fedora 10 ports and almost all is fine (even > >> > google-earth seems to work)... But there is no resolving. > >> > I managed to find the culprit. Here it is: > > > >> > Ktrace/linux_kdump gives this: > >> > ----- > >> > 48833 ping CALL linux_socketcall(0x1,0xbfbfd218) > >> > 48833 ping RET linux_socketcall -1 errno 93 Unknown error: 93 > >> > 48833 ping CALL gettimeofday(0xbfbfd2e0,0) > >> > 48833 ping RET gettimeofday 0 > >> > 48833 ping CALL linux_socketcall(0x1,0xbfbfd218) > >> > 48833 ping RET linux_socketcall -1 errno 93 Unknown error: 93 > >> > 48833 ping CALL write(0x2,0xbfbfbf48,0x1a) > >> > 48833 ping GIO fd 2 wrote 26 bytes > >> > "ping: unknown host www.ru > >> > " > >> > 48833 ping RET write 26/0x1a > >> > 48833 ping CALL linux_exit_group(0x2) > >> > ---- > > > >> There was a commit after April 30 about linux socket stuff. I don't > >> know if it is related or not. You can either update and test, or > > > > Thanks for the info, I'm updating now. > > > >> instrument the current code to print out the parameters to > >> linux_socketcall in a human readable way. > > > > Can you give a tiny example? [Skip examples, thanks] The diff is: ----- --- linux_socket.c.orig 2009-05-05 18:35:31.000000000 +0400 +++ linux_socket.c 2009-05-05 19:02:42.000000000 +0400 @@ -595,9 +595,15 @@ } */ bsd_args; int retval_socket; + printf("bsam: linux_socket (LINUX): domain: %d, type: %d, protocol: %d\n", + args->domain, args->type, args->protocol); + bsd_args.protocol = args->protocol; bsd_args.type = args->type; bsd_args.domain = linux_to_bsd_domain(args->domain); + + printf("bsam: linux_socket (FreeBSD): domain: %d\n", bsd_args.domain); + if (bsd_args.domain == -1) return (EINVAL); @@ -1365,10 +1371,14 @@ linux_socketcall(struct thread *td, struct linux_socketcall_args *args) { void *arg = (void *)(intptr_t)args->args; + int ret; + printf("bsam: Entering linux_socketcall.\n"); switch (args->what) { case LINUX_SOCKET: - return (linux_socket(td, arg)); + ret = linux_socket(td, arg); + printf("bsam: LINUX_SOCKET: %d\n", ret); + return (ret); case LINUX_BIND: return (linux_bind(td, arg)); case LINUX_CONNECT: ----- Console diagnistic is: ----- May 5 19:10:33 bb kernel: bsam: Entering linux_socketcall. May 5 19:10:33 bb kernel: bsam: linux_socket (LINUX): domain: 2, type: 3, protocol: 1 May 5 19:10:33 bb kernel: bsam: linux_socket (FreeBSD): domain: 2 May 5 19:10:33 bb kernel: bsam: LINUX_SOCKET: 1 May 5 19:10:33 bb kernel: bsam: Entering linux_socketcall. May 5 19:10:33 bb kernel: bsam: linux_socket (LINUX): domain: 1, type: 526337, protocol: 0 May 5 19:10:33 bb kernel: bsam: linux_socket (FreeBSD): domain: 1 May 5 19:10:33 bb kernel: bsam: LINUX_SOCKET: 43 May 5 19:10:33 bb kernel: bsam: Entering linux_socketcall. May 5 19:10:33 bb kernel: bsam: linux_socket (LINUX): domain: 1, type: 526337, protocol: 0 May 5 19:10:33 bb kernel: bsam: linux_socket (FreeBSD): domain: 1 May 5 19:10:33 bb kernel: bsam: LINUX_SOCKET: 43 May 5 19:10:34 bb kernel: bsam: Entering linux_socketcall. May 5 19:10:34 bb kernel: bsam: linux_socket (LINUX): domain: 2, type: 2050, protocol: 0 May 5 19:10:34 bb kernel: bsam: linux_socket (FreeBSD): domain: 2 May 5 19:10:34 bb kernel: bsam: LINUX_SOCKET: 43 May 5 19:10:34 bb kernel: bsam: Entering linux_socketcall. May 5 19:10:34 bb kernel: bsam: linux_socket (LINUX): domain: 2, type: 2050, protocol: 0 May 5 19:10:34 bb kernel: bsam: linux_socket (FreeBSD): domain: 2 May 5 19:10:34 bb kernel: bsam: LINUX_SOCKET: 43 ----- Corresponding text for linux_kdump and truss: ftp://ftp.ipt.ru/pub/linux/linux_kdump.ping.txt ftp://ftp.ipt.ru/pub/linux/truss.ping.txt WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD Committer, http://www.FreeBSD.org The Power To Serve