From owner-freebsd-amd64@FreeBSD.ORG Sun May 2 14:05:00 2010 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9E7F5106566C; Sun, 2 May 2010 14:05:00 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from mail-bw0-f216.google.com (mail-bw0-f216.google.com [209.85.218.216]) by mx1.freebsd.org (Postfix) with ESMTP id E5E798FC08; Sun, 2 May 2010 14:04:59 +0000 (UTC) Received: by bwz8 with SMTP id 8so958609bwz.3 for ; Sun, 02 May 2010 07:04:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:x-enigmail-version :content-type; bh=/sq7FQDIn1coI8Zwllty+X+VSWv9XF+/k8P+1qsEPng=; b=PsUk80IQqPyj5U9pQREPC1D7gOEjRxqnT/OTMKrxJY6XR8JtBVLBl7Vt+obj0YQI80 t/d1GHRvvniupVGwAgJSgl/ai/Tt3bHogQ/OXe7yx/rXvZjN+zLLF/L5QnZpRbJtrbyv 5gBfm0L4xykgPOw9YVSYBx9wj6ipZkRFvPVT8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :x-enigmail-version:content-type; b=idboSF1GR+XVZIcqvUgM5iAhPJf3RmIe6SLFOm0iXRfV91XhhyFC/CeikoaXTuIkgk MhMwh/85LqJ8UqUxikCmTe87ikmfk2VbqnuK+9KmJPLuQPoCWXegSBAdgZh4tifgpmW6 /9sIHDlnZARopYZbBR679olO7/QRhkv7YENyM= Received: by 10.204.161.199 with SMTP id s7mr1445592bkx.9.1272807604218; Sun, 02 May 2010 06:40:04 -0700 (PDT) Received: from debian.bg45.phnet ([81.62.158.176]) by mx.google.com with ESMTPS id 13sm1327103bwz.15.2010.05.02.06.40.02 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 02 May 2010 06:40:03 -0700 (PDT) Message-ID: <4BDD80AB.1020105@gmail.com> Date: Sun, 02 May 2010 15:39:55 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: freebsd-ia32@freebsd.org X-Enigmail-Version: 0.95.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig6843B2440FA59F031BF68CAB" Cc: freebsd-amd64@freebsd.org, coreboot@coreboot.org Subject: FreeBSD Coreboot support X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 May 2010 14:05:00 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig6843B2440FA59F031BF68CAB Content-Type: multipart/mixed; boundary="------------040201020502090204090201" This is a multi-part message in MIME format. --------------040201020502090204090201 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, I was playing with loading FreeBSD using grub2 as bootloader and have met following problems: 1) FreeBSD-i386 makes BIOS calls. On coreboot they cause a crash. I propose to restructure machdep.c to call int12 only if no smap is supplied. Patch attached. Abandon keyboard rate retrieving from BIOS in sys/dev/atkbdc/atkbd.c. Or move this code to bootloader and pass the rate in environment. I'll do the patch when we decide on approach to use. sys/i386/cpufreq/smist.c is unusable and would cause panic. sys/i386/isa/vesa.c usability depends on VGA BIOS. For the last 2 cases and the future I propose to have a flag like hw.no_bios=3D1 and hw.no_video_bios=3D1 which would make vm86_intcall and= vm86_datacall return an error on intnum!=3D0x10 / intnum=3D0x10. Alternatively it's possible to catch the exception in vm8086 mode and return an error instead of panic. 2) The range 0-0x1000 isn't usable on coreboot since it contains coreboot tables which according to an IRC chat I had with devs shouldn't be overwritten. It causes an early hang on i386 or a following panic on amd64: if (basemem =3D=3D 0) panic("BIOS smap did not include a basemem segment!"); Can FreeBSD avoid using these memory chunks if they are not available? 3) On amd64 if no ACPI tables are present and using serial console userspace is able to write only 16 bytes to console. Kernel messages have no such problem. I'm confused --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------040201020502090204090201 Content-Type: text/x-diff; name="machdep.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="machdep.diff" =3D=3D=3D modified file 'sys/i386/i386/machdep.c' --- sys/i386/i386/machdep.c 2010-04-07 02:21:36 +0000 +++ sys/i386/i386/machdep.c 2010-05-02 11:48:25 +0000 @@ -2022,6 +2022,54 @@ return (1); } =20 +static void +map_bios (void) +{ + vm_paddr_t pa; + pt_entry_t *pte; + int i; + + if (basemem > 640) { + printf("Preposterous BIOS basemem of %uK, truncating to 640K\n", + basemem); + basemem =3D 640; + } +=09 + /* + * XXX if biosbasemem is now < 640, there is a `hole' + * between the end of base memory and the start of + * ISA memory. The hole may be empty or it may + * contain BIOS code or data. Map it read/write so + * that the BIOS can write to it. (Memory from 0 to + * the physical end of the kernel is mapped read-only + * to begin with and then parts of it are remapped. + * The parts that aren't remapped form holes that + * remain read-only and are unused by the kernel. + * The base memory area is below the physical end of + * the kernel and right now forms a read-only hole. + * The part of it from PAGE_SIZE to + * (trunc_page(biosbasemem * 1024) - 1) will be + * remapped and used by the kernel later.) + * + * This code is similar to the code used in + * pmap_mapdev, but since no memory needs to be + * allocated we simply change the mapping. + */ + for (pa =3D trunc_page(basemem * 1024); + pa < ISA_HOLE_START; pa +=3D PAGE_SIZE) + pmap_kenter(KERNBASE + pa, pa); + =20 + /* + * Map pages between basemem and ISA_HOLE_START, if any, r/w into + * the vm86 page table so that vm86 can scribble on them using + * the vm86 map too. XXX: why 2 ways for this and only 1 way for + * page 0, at least as initialized here? + */ + pte =3D (pt_entry_t *)vm86paddr; + for (i =3D basemem / 4; i < 160; i++) + pte[i] =3D (i << PAGE_SHIFT) | PG_V | PG_RW | PG_U; +} + /* * Populate the (physmap) array with base/bound pairs describing the * available physical memory in the system, then test this memory and @@ -2039,7 +2087,7 @@ getmemsize(int first) { int i, off, physmap_idx, pa_indx, da_indx; - int hasbrokenint12, has_smap; + int has_smap; u_long physmem_tunable; u_int extmem; struct vm86frame vmf; @@ -2074,68 +2122,11 @@ physmap_idx =3D 0; goto physmap_done; #endif=09 - hasbrokenint12 =3D 0; - TUNABLE_INT_FETCH("hw.hasbrokenint12", &hasbrokenint12); bzero(&vmf, sizeof(vmf)); bzero(physmap, sizeof(physmap)); basemem =3D 0; =20 /* - * Some newer BIOSes has broken INT 12H implementation which cause - * kernel panic immediately. In this case, we need to scan SMAP - * with INT 15:E820 first, then determine base memory size. - */ - if (hasbrokenint12) { - goto int15e820; - } - - /* - * Perform "base memory" related probes & setup - */ - vm86_intcall(0x12, &vmf); - basemem =3D vmf.vmf_ax; - if (basemem > 640) { - printf("Preposterous BIOS basemem of %uK, truncating to 640K\n", - basemem); - basemem =3D 640; - } - - /* - * XXX if biosbasemem is now < 640, there is a `hole' - * between the end of base memory and the start of - * ISA memory. The hole may be empty or it may - * contain BIOS code or data. Map it read/write so - * that the BIOS can write to it. (Memory from 0 to - * the physical end of the kernel is mapped read-only - * to begin with and then parts of it are remapped. - * The parts that aren't remapped form holes that - * remain read-only and are unused by the kernel. - * The base memory area is below the physical end of - * the kernel and right now forms a read-only hole. - * The part of it from PAGE_SIZE to - * (trunc_page(biosbasemem * 1024) - 1) will be - * remapped and used by the kernel later.) - * - * This code is similar to the code used in - * pmap_mapdev, but since no memory needs to be - * allocated we simply change the mapping. - */ - for (pa =3D trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa +=3D PAGE_SIZE) - pmap_kenter(KERNBASE + pa, pa); - - /* - * Map pages between basemem and ISA_HOLE_START, if any, r/w into - * the vm86 page table so that vm86 can scribble on them using - * the vm86 map too. XXX: why 2 ways for this and only 1 way for - * page 0, at least as initialized here? - */ - pte =3D (pt_entry_t *)vm86paddr; - for (i =3D basemem / 4; i < 160; i++) - pte[i] =3D (i << PAGE_SHIFT) | PG_V | PG_RW | PG_U; - -int15e820: - /* * Fetch the memory map with INT 15:E820. First, check to see * if the loader supplied it and use that if so. Otherwise, * use vm86 to invoke the BIOS call directly. @@ -2161,6 +2152,25 @@ if (!add_smap_entry(smap, physmap, &physmap_idx)) break; } else { + int hasbrokenint12 =3D 0; + + TUNABLE_INT_FETCH("hw.hasbrokenint12", &hasbrokenint12); + + /* + * Some newer BIOSes has broken INT 12H implementation which cause + * kernel panic immediately. In this case, we need to scan SMAP + * with INT 15:E820 first, then determine base memory size. + */ + if (!hasbrokenint12) { + =09 + /* + * Perform "base memory" related probes & setup + */ + vm86_intcall(0x12, &vmf); + basemem =3D vmf.vmf_ax; + =09 + map_bios ();=09 + } /* * map page 1 R/W into the kernel page table so we can use it * as a buffer. The kernel will unmap this page later. @@ -2196,29 +2206,7 @@ } } =20 - /* - * XXX this function is horribly organized and has to the same - * things that it does above here. - */ - if (basemem =3D=3D 0) - basemem =3D 640; - if (basemem > 640) { - printf( - "Preposterous BIOS basemem of %uK, truncating to 640K\n", - basemem); - basemem =3D 640; - } - - /* - * Let vm86 scribble on pages between basemem and - * ISA_HOLE_START, as above. - */ - for (pa =3D trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa +=3D PAGE_SIZE) - pmap_kenter(KERNBASE + pa, pa); - pte =3D (pt_entry_t *)vm86paddr; - for (i =3D basemem / 4; i < 160; i++) - pte[i] =3D (i << PAGE_SHIFT) | PG_V | PG_RW | PG_U; + map_bios (); } =20 if (physmap[1] !=3D 0) --------------040201020502090204090201-- --------------enig6843B2440FA59F031BF68CAB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iF4EAREKAAYFAkvdgLIACgkQNak7dOguQgkukwEApKiES9Fp/TTrayYcqhwI0nQo A9Zqjo7CmrGPsYlNiJUA/ROxZyTHT0AL25pDDEl1NvLSmlaaI9r14dNk9uw0s8ef =z5ZL -----END PGP SIGNATURE----- --------------enig6843B2440FA59F031BF68CAB-- From owner-freebsd-amd64@FreeBSD.ORG Mon May 3 11:08:05 2010 Return-Path: Delivered-To: freebsd-amd64@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 852C2106564A for ; Mon, 3 May 2010 11:08:05 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 0A63D8FC18 for ; Mon, 3 May 2010 11:08:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o43B7xdu033526 for ; Mon, 3 May 2010 11:07:59 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o43B7xor033524 for freebsd-amd64@FreeBSD.org; Mon, 3 May 2010 11:07:59 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 3 May 2010 11:07:59 GMT Message-Id: <201005031107.o43B7xor033524@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-amd64@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-amd64@FreeBSD.org X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 May 2010 11:08:05 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o amd64/145991 amd64 Add a requires line to /sys/amd64/conf/NOTES o amd64/145873 amd64 [build] cannot buildworld 8.0-STABLE o amd64/145768 amd64 can't perform I/O on SAS based SAN disk in freebsd 7 a o amd64/145761 amd64 [lor] rt2870 lock order reversal hold up system in 8.0 o amd64/145039 amd64 spin lock held too long amd64 mp_machdep.c o amd64/144756 amd64 [panic] Transferring files on samba causes the kernel f amd64/144503 amd64 [boot] 8.0-RELEASE does not boot on DL585 [regression] o amd64/144405 amd64 [build] [patch] include /usr/obj/lib32 in cleanworld t o amd64/144376 amd64 [panic] continuous reboot on motherboards with ATI SB7 f amd64/144151 amd64 [ata] Can not burn CD/DVD with AHCI enabled f amd64/144113 amd64 [ata] 8.0-RELEASE fails to detect SATA hard disks on a o amd64/143992 amd64 [panic] Random reboot o amd64/143854 amd64 [build] error in make world during upgrade from 7 to 8 s amd64/143173 amd64 [ata] Promise FastTrack TX4 + SATA DVD, installer can' o amd64/141413 amd64 [hang] Tyan 2881 m3289 SMDC freeze o amd64/141112 amd64 [ata] [panic] Kernel panic when booting with any sATA o amd64/141060 amd64 [install] Can't install 8.0-RELEASE on the server wher o amd64/140715 amd64 [boot] Dell M600 Blade fails to boot 7.2+ 64 bit o amd64/140596 amd64 [panic] Kernel panic/crash o amd64/140391 amd64 [hang] powerd(8) freezes computer on Phenom II compute o amd64/140145 amd64 [boot] Installation boot sequence freezes o amd64/139998 amd64 [panic] 7.2 amd64 panic in kern_mutex.c:339 o amd64/139924 amd64 [boot] cd or dvd not load o amd64/139614 amd64 [minidump] minidumps fail when many interrupts fire f amd64/138661 amd64 [panic] Kernel Panic after typing "reboot" o amd64/138029 amd64 [panic] periodically kernel panic and reboot o amd64/137942 amd64 [pci] 8.0-BETA2 having problems with Asus M2N-SLI-delu s i386/135447 amd64 [i386] [request] Intel Core i7 and Nehalem-EP new feat o amd64/135265 amd64 [install] Boot from install cd hangs on HP DL160 G5 wi o amd64/135040 amd64 [ata] FreeBSD/amd64 does not (always) detect disk on S o amd64/134978 amd64 [panic] g_up pmap amd64 panic o amd64/134757 amd64 32 bit processes on 64 bit platforms occasionally drop o amd64/133977 amd64 [panic] [ffs] "panic: ffs_blkfree: freeing free block" o amd64/133701 amd64 Recompiling the kernel with k8temp or smbios break GEO o amd64/132574 amd64 [boot] [hang] Freeze on bootstrap loader (CD) using AT f amd64/132019 amd64 [install] kernel trap 12 while installation o amd64/131906 amd64 [ata] SATA data corruption with Promise PDC20378 (amd6 o amd64/131456 amd64 ACPI & ATA problems o amd64/131314 amd64 [modules] [panic] large modules fail to load on amd64 o amd64/131209 amd64 [panic] [bce] 7.1-STABLE amd64 crash - m0 NULL f amd64/130885 amd64 sockstat(1) on amd64 does not work o amd64/130864 amd64 [hang] Problem with copying files to a large partition o amd64/130817 amd64 FreeBSD does not support HP DL160G5 [regression] o amd64/130494 amd64 [boot] netbooting BTX fails on amd64 f amd64/130483 amd64 [mxge] MSI must be disabled when Myricom 10Gbps Card i o amd64/130368 amd64 [hang] Switching from xorg to console locks up compute o amd64/129889 amd64 [boot] [hang] The booting process stops at the line mo o amd64/129721 amd64 [hang] Motherboard K9N2G Neo-FD hangs on boot of 7.0-R o amd64/129667 amd64 [ata] Elitegroup A780GM-A IDE controller not recognize o amd64/129426 amd64 [panic] FreeBSD 7.0 crash after subdiskXX: detached o amd64/129315 amd64 [boot] [reboot] amd64 motherboard: Intel DG965WH mothe o amd64/128978 amd64 [install] FreeBSD 6.3 64-bit panics at boot time duri o amd64/128765 amd64 [install] Install CD loads to Install choices but stop o amd64/128263 amd64 [panic] 2 amd64 dl380 g5 with dual quadcore xeons, 8 a o amd64/128259 amd64 csh(1): "`" crashes csh o amd64/127640 amd64 gcc(1) will not build shared libraries with -fprofile- o amd64/127484 amd64 [timecounters] Drift problem with FreeBSD 7.0 and 7.1 o amd64/127451 amd64 [scheduler] incorrect load on quad core o amd64/127397 amd64 [amd64] 32bit application on FreeBSD-6.3 amd64 gets SI s amd64/127276 amd64 ldd(1) invokes linux yes o amd64/125873 amd64 [smbd] [panic] Repeated kernel panics, trap 12 page fa o amd64/125002 amd64 [install] amd64, SATA hard disks not detected o amd64/124432 amd64 [panic] 7.0-STABLE panic: invalbuf: dirty bufs o amd64/124134 amd64 [kernel] The kernel doesn't follow the calling convent o amd64/123562 amd64 [install] FreeBSD amd64 not installs o amd64/123520 amd64 [ahd] unable to boot from net while using ahd p amd64/123456 amd64 fstat(1): /usr/bin/fstat shows error messages and hang f amd64/123275 amd64 [cbb] [pcmcia] cbb/pcmcia drivers on amd64 failure [re o kern/122782 amd64 [modules] accf_http.ko kernel module is not loadable o amd64/122695 amd64 [cpufreq] Lack of cpufreq control using amd64 eith cor o amd64/122549 amd64 7.0-RELEASE-amd64-bootonly.iso doesn't work w/ serial o amd64/122468 amd64 Compile problems after upgrading to 7.0 o amd64/122174 amd64 [panic] 7.0 no longer includes "device atpic" so fails f amd64/121590 amd64 [est] [p4tcc] [acpi_perf] setting dev.cpu.0.freq somet o amd64/120202 amd64 [amd64] [patch] [panic] kernel panic at start_all_aps, o amd64/119591 amd64 [amd64] [patch] time_t on 64-bit architecture o amd64/117418 amd64 [hang] FreeBSD 6.2 crash on amd64 4400+ with ssh o amd64/117316 amd64 [acpi] ACPI lockups on SuperMicro motherboard o amd64/117296 amd64 [ata] I don`t see second SATA IDE on VIA VT8237A a amd64/117186 amd64 [modules] kldload Unsupported file type on STABLE amd6 s amd64/116689 amd64 [request] support for MSI K9MM-V o amd64/116620 amd64 [hang] ifconfig spins when creating carp(4) device on o amd64/116322 amd64 [panic] At start fsck on current, the system panics o amd64/116159 amd64 [panic] Panic while debugging on CURRENT s amd64/115815 amd64 [ata] [request] Gigabyte GA-M61P-S3 Motherboard unsupp o amd64/115581 amd64 [Makefile] [patch] -mfancy-math-387 has no effect o amd64/115194 amd64 LCD screen remains blank after Dell XPS M1210 lid is c o amd64/114270 amd64 [cpufreq] cpufreq doesnt work when compiled in to kern o amd64/110599 amd64 [geli] geli attach to gmirror device hangs and cannot s amd64/108861 amd64 [nve] nve(4) driver on FreeBSD 6.2 AMD64 does not work o amd64/106186 amd64 [panic] panic in swap_pager_swap_init (amd64/smp/6.2-p f amd64/105531 amd64 [ata] gigabyte GA-M51GM-S2G / nVidia nForce 430 - does f amd64/105514 amd64 [boot] FreeBSD/amd64 - Fails to boot on HP Pavilion dv o amd64/102716 amd64 ex with no argument in an xterm gets SIGSEGV o amd64/97337 amd64 [dri] xorg reboots system if dri module is enabled o amd64/95888 amd64 [ata] kernel: ad2: TIMEOUT - WRITE_DMA retrying on HP o amd64/94677 amd64 [panic] panic in amd64 install at non-root user creati o amd64/93961 amd64 [busdma] Problem in bounce buffer handling in sys/amd6 o amd64/92337 amd64 [em] FreeBSD 6.0 Release Intel Pro 1000 MT em1 no buff o amd64/91405 amd64 [asr] [panic] Kernel panic caused by asr on 6.0-amd64 o amd64/89501 amd64 [install] System crashes on install using ftp on local o amd64/88790 amd64 [panic] kernel panic on first boot (after the FreeBSD o amd64/88568 amd64 [panic] 6.0-RELEASE install cd does not boot with usb o amd64/87689 amd64 [powerd] [hang] powerd hangs SMP Opteron 244 5-STABLE o amd64/87305 amd64 [smp] Dual Opteron / FreeBSD 5 & 6 / powerd results in s amd64/85273 amd64 [install] FreeBSD (NetBSD or OpenBSD) not install on l o amd64/78406 amd64 [panic]AMD64 w/ SCSI: issue 'rm -r /usr/ports' and sys o amd64/76136 amd64 [hang] system halts before reboot o amd64/74747 amd64 [panic] System panic on shutdown when process will not 109 problems total. From owner-freebsd-amd64@FreeBSD.ORG Tue May 4 02:41:40 2010 Return-Path: Delivered-To: amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB9531065696; Tue, 4 May 2010 02:41:40 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from smarthost2.sentex.ca (smarthost2.sentex.ca [205.211.164.50]) by mx1.freebsd.org (Postfix) with ESMTP id 770C78FC0C; Tue, 4 May 2010 02:41:40 +0000 (UTC) Received: from smtp1.sentex.ca (smtp1.sentex.ca [199.212.134.4]) by smarthost2.sentex.ca (8.14.3/8.14.3) with ESMTP id o442fb4R065659; Mon, 3 May 2010 22:41:37 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: from freebsd-legacy.sentex.ca (freebsd-legacy.sentex.ca [64.7.128.104]) by smtp1.sentex.ca (8.14.3/8.14.3) with ESMTP id o442fbaZ002386; Mon, 3 May 2010 22:41:37 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: by freebsd-legacy.sentex.ca (Postfix, from userid 666) id DF8A6241A2; Mon, 3 May 2010 22:41:36 -0400 (EDT) Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Message-Id: <20100504024136.DF8A6241A2@freebsd-legacy.sentex.ca> Date: Mon, 3 May 2010 22:41:36 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at smtp1.sentex.ca X-Virus-Status: Clean X-Scanned-By: MIMEDefang 2.64 on 205.211.164.50 Cc: Subject: [releng_6 tinderbox] failure on amd64/amd64 X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 May 2010 02:41:40 -0000 TB --- 2010-05-04 01:23:08 - tinderbox 2.6 running on freebsd-legacy.sentex.ca TB --- 2010-05-04 01:23:08 - starting RELENG_6 tinderbox run for amd64/amd64 TB --- 2010-05-04 01:23:08 - cleaning the object tree TB --- 2010-05-04 01:23:30 - cvsupping the source tree TB --- 2010-05-04 01:23:30 - /usr/bin/csup -z -r 3 -g -L 1 -h localhost -s /home/tinderbox/RELENG_6/amd64/amd64/supfile TB --- 2010-05-04 01:23:38 - building world TB --- 2010-05-04 01:23:38 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-04 01:23:38 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-04 01:23:38 - TARGET=amd64 TB --- 2010-05-04 01:23:38 - TARGET_ARCH=amd64 TB --- 2010-05-04 01:23:38 - TZ=UTC TB --- 2010-05-04 01:23:38 - __MAKE_CONF=/dev/null TB --- 2010-05-04 01:23:38 - cd /src TB --- 2010-05-04 01:23:38 - /usr/bin/make -B buildworld >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> stage 5.1: building 32 bit shim libraries TB --- 2010-05-04 02:37:27 - generating LINT kernel config TB --- 2010-05-04 02:37:27 - cd /src/sys/amd64/conf TB --- 2010-05-04 02:37:27 - /usr/bin/make -B LINT TB --- 2010-05-04 02:37:27 - building LINT kernel TB --- 2010-05-04 02:37:27 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-04 02:37:27 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-04 02:37:27 - TARGET=amd64 TB --- 2010-05-04 02:37:27 - TARGET_ARCH=amd64 TB --- 2010-05-04 02:37:27 - TZ=UTC TB --- 2010-05-04 02:37:27 - __MAKE_CONF=/dev/null TB --- 2010-05-04 02:37:27 - cd /src TB --- 2010-05-04 02:37:27 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Tue May 4 02:37:27 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/contrib/pf -I/src/sys/dev/ath -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/em -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror -pg -mprofiler-epilogue /src/sys/dev/an/if_an_pccard.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/contrib/pf -I/src/sys/dev/ath -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/em -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror -pg -mprofiler-epilogue /src/sys/dev/an/if_an_pci.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/contrib/pf -I/src/sys/dev/ath -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/em -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror -pg -mprofiler-epilogue /src/sys/dev/asr/asr.c awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/ata/ata_if.m -c ; cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/contrib/pf -I/src/sys/dev/ath -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/em -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror -pg -mprofiler-epilogue ata_if.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/contrib/pf -I/src/sys/dev/ath -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/em -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror -pg -mprofiler-epilogue /src/sys/dev/ata/ata-all.c /src/sys/dev/ata/ata-all.c: In function `ata_device_ioctl': /src/sys/dev/ata/ata-all.c:452: error: request for member `max_iosize' in something not a structure or union /src/sys/dev/ata/ata-all.c:452: error: request for member `max_iosize' in something not a structure or union *** Error code 1 Stop in /obj/amd64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-05-04 02:41:36 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-05-04 02:41:36 - ERROR: failed to build lint kernel TB --- 2010-05-04 02:41:36 - 3895.71 user 547.20 system 4708.25 real http://tinderbox.freebsd.org/tinderbox-releng_6-RELENG_6-amd64-amd64.full From owner-freebsd-amd64@FreeBSD.ORG Tue May 4 04:00:09 2010 Return-Path: Delivered-To: freebsd-amd64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B2389106566C for ; Tue, 4 May 2010 04:00:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 992248FC22 for ; Tue, 4 May 2010 04:00:09 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o44409dj050046 for ; Tue, 4 May 2010 04:00:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o44409pW050045; Tue, 4 May 2010 04:00:09 GMT (envelope-from gnats) Date: Tue, 4 May 2010 04:00:09 GMT Message-Id: <201005040400.o44409pW050045@freefall.freebsd.org> To: freebsd-amd64@FreeBSD.org From: Shuichi KITAGUCHI Cc: Subject: Re: amd64/127276: ldd invokes linux yes X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Shuichi KITAGUCHI List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 May 2010 04:00:09 -0000 The following reply was made to PR amd64/127276; it has been noted by GNATS. From: Shuichi KITAGUCHI To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de Cc: Subject: Re: amd64/127276: ldd invokes linux yes Date: Tue, 04 May 2010 12:21:45 +0900 (JST) ----Next_Part(Tue_May_04_12_21_45_2010_795)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello, I investigate this problem today and found that Linux's ld.so accepts "LD_TRACE_LOADED_OBJECTS". % env LD_TRACE_LOADED_OBJECTS=yes /compat/linux/bin/ls librt.so.1 => /lib/librt.so.1 (0x28087000) libselinux.so.1 => /lib/libselinux.so.1 (0x28092000) libcap.so.2 => /lib/libcap.so.2 (0x280af000) libacl.so.1 => /lib/libacl.so.1 (0x280b4000) libc.so.6 => /lib/libc.so.6 (0x280bc000) libpthread.so.0 => /lib/libpthread.so.0 (0x28234000) /lib/ld-linux.so.2 (0x28063000) libdl.so.2 => /lib/libdl.so.2 (0x2824e000) libattr.so.1 => /lib/libattr.so.1 (0x28254000) I think environment variable "LD_32_TRACE_LOADED_OBJECTS" is FreeBSD specific, and "LD_TRACE_LOADED_OBJECTS" should be passed to other binaries. Attached patch is reasonable? -- Shuichi KITAGUCHI // kit@ysnb.net / ki@hh.iij4u.or.jp ----Next_Part(Tue_May_04_12_21_45_2010_795)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ldd.c.patch" --- ldd.c.old 2009-09-19 21:45:17.000000000 +0900 +++ ldd.c 2010-05-04 11:48:42.000000000 +0900 @@ -65,7 +65,7 @@ #endif static int is_executable(const char *fname, int fd, int *is_shlib, - int *type); + int *osabi, int *type); static void usage(void); #define TYPE_UNKNOWN 0 @@ -177,14 +177,14 @@ rval = 0; for (; argc > 0; argc--, argv++) { - int fd, status, is_shlib, rv, type; + int fd, status, is_shlib, rv, type, osabi; if ((fd = open(*argv, O_RDONLY, 0)) < 0) { warn("%s", *argv); rval |= 1; continue; } - rv = is_executable(*argv, fd, &is_shlib, &type); + rv = is_executable(*argv, fd, &is_shlib, &osabi, &type); close(fd); if (rv == 0) { rval |= 1; @@ -197,6 +197,8 @@ break; #if __ELF_WORD_SIZE > 32 && defined(ELF32_SUPPORTED) case TYPE_ELF32: + if (osabi != ELFOSABI_FREEBSD) + break; rval |= execldd32(*argv, fmt1, fmt2, aflag, vflag); continue; #endif @@ -267,7 +269,7 @@ } static int -is_executable(const char *fname, int fd, int *is_shlib, int *type) +is_executable(const char *fname, int fd, int *is_shlib, int *osabi, int *type) { union { struct exec aout; @@ -300,6 +302,8 @@ return (1); } + *osabi = hdr.elf.e_ident[EI_OSABI]; + #if __ELF_WORD_SIZE > 32 && defined(ELF32_SUPPORTED) if ((size_t)n >= sizeof(hdr.elf32) && IS_ELF(hdr.elf32) && hdr.elf32.e_ident[EI_CLASS] == ELFCLASS32) { ----Next_Part(Tue_May_04_12_21_45_2010_795)---- From owner-freebsd-amd64@FreeBSD.ORG Tue May 4 16:07:06 2010 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AE3D8106564A for ; Tue, 4 May 2010 16:07:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 4AA338FC0C for ; Tue, 4 May 2010 16:07:05 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id o44G72md037609 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 4 May 2010 19:07:02 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id o44G724S050005; Tue, 4 May 2010 19:07:02 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id o44G6xXk050004; Tue, 4 May 2010 19:06:59 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 4 May 2010 19:06:59 +0300 From: Kostik Belousov To: Shuichi KITAGUCHI Message-ID: <20100504160659.GO23646@deviant.kiev.zoral.com.ua> References: <201005040400.o44409pW050045@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="JfVplkuTfB13Rsg5" Content-Disposition: inline In-Reply-To: <201005040400.o44409pW050045@freefall.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-2.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_50, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: freebsd-amd64@freebsd.org Subject: Re: amd64/127276: ldd invokes linux yes X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 May 2010 16:07:06 -0000 --JfVplkuTfB13Rsg5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, May 04, 2010 at 04:00:09AM +0000, Shuichi KITAGUCHI wrote: > The following reply was made to PR amd64/127276; it has been noted by GNA= TS. >=20 > From: Shuichi KITAGUCHI > To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de > Cc: =20 > Subject: Re: amd64/127276: ldd invokes linux yes > Date: Tue, 04 May 2010 12:21:45 +0900 (JST) >=20 > ----Next_Part(Tue_May_04_12_21_45_2010_795)-- > Content-Type: Text/Plain; charset=3Dus-ascii > Content-Transfer-Encoding: 7bit > =20 > Hello, > =20 > I investigate this problem today and found that Linux's ld.so > accepts "LD_TRACE_LOADED_OBJECTS". > =20 > % env LD_TRACE_LOADED_OBJECTS=3Dyes /compat/linux/bin/ls > librt.so.1 =3D> /lib/librt.so.1 (0x28087000) > libselinux.so.1 =3D> /lib/libselinux.so.1 (0x28092000) > libcap.so.2 =3D> /lib/libcap.so.2 (0x280af000) > libacl.so.1 =3D> /lib/libacl.so.1 (0x280b4000) > libc.so.6 =3D> /lib/libc.so.6 (0x280bc000) > libpthread.so.0 =3D> /lib/libpthread.so.0 (0x28234000) > /lib/ld-linux.so.2 (0x28063000) > libdl.so.2 =3D> /lib/libdl.so.2 (0x2824e000) > libattr.so.1 =3D> /lib/libattr.so.1 (0x28254000) > =20 > I think environment variable "LD_32_TRACE_LOADED_OBJECTS" is > FreeBSD specific, and "LD_TRACE_LOADED_OBJECTS" should be passed > to other binaries. > =20 > Attached patch is reasonable? No, what you test for is the old branding method. Relatively modern FreeBSD kernels deduce the ABI of the binary from the .note section. Also please note that there are hybrid systems like Debian/kFreeBSD, that also use .note to brand the binary. > =20 > =20 > -- > Shuichi KITAGUCHI // kit@ysnb.net / ki@hh.iij4u.or.jp > =20 > ----Next_Part(Tue_May_04_12_21_45_2010_795)-- > Content-Type: Text/X-Patch; charset=3Dus-ascii > Content-Transfer-Encoding: 7bit > Content-Disposition: inline; filename=3D"ldd.c.patch" > =20 > --- ldd.c.old 2009-09-19 21:45:17.000000000 +0900 > +++ ldd.c 2010-05-04 11:48:42.000000000 +0900 > @@ -65,7 +65,7 @@ > #endif > =20 > static int is_executable(const char *fname, int fd, int *is_shlib, > - int *type); > + int *osabi, int *type); > static void usage(void); > =20 > #define TYPE_UNKNOWN 0 > @@ -177,14 +177,14 @@ > =20 > rval =3D 0; > for (; argc > 0; argc--, argv++) { > - int fd, status, is_shlib, rv, type; > + int fd, status, is_shlib, rv, type, osabi; > =20 > if ((fd =3D open(*argv, O_RDONLY, 0)) < 0) { > warn("%s", *argv); > rval |=3D 1; > continue; > } > - rv =3D is_executable(*argv, fd, &is_shlib, &type); > + rv =3D is_executable(*argv, fd, &is_shlib, &osabi, &type); > close(fd); > if (rv =3D=3D 0) { > rval |=3D 1; > @@ -197,6 +197,8 @@ > break; > #if __ELF_WORD_SIZE > 32 && defined(ELF32_SUPPORTED) > case TYPE_ELF32: > + if (osabi !=3D ELFOSABI_FREEBSD) > + break; > rval |=3D execldd32(*argv, fmt1, fmt2, aflag, vflag); > continue; > #endif > @@ -267,7 +269,7 @@ > } > =20 > static int > -is_executable(const char *fname, int fd, int *is_shlib, int *type) > +is_executable(const char *fname, int fd, int *is_shlib, int *osabi, int= *type) > { > union { > struct exec aout; > @@ -300,6 +302,8 @@ > return (1); > } > =20 > + *osabi =3D hdr.elf.e_ident[EI_OSABI]; > + > #if __ELF_WORD_SIZE > 32 && defined(ELF32_SUPPORTED) > if ((size_t)n >=3D sizeof(hdr.elf32) && IS_ELF(hdr.elf32) && > hdr.elf32.e_ident[EI_CLASS] =3D=3D ELFCLASS32) { > =20 > ----Next_Part(Tue_May_04_12_21_45_2010_795)---- > _______________________________________________ > freebsd-amd64@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-amd64 > To unsubscribe, send any mail to "freebsd-amd64-unsubscribe@freebsd.org" --JfVplkuTfB13Rsg5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkvgRiIACgkQC3+MBN1Mb4hmFwCfbUscw0p2YAO3+RDAmqQGStVb r2wAoICIrmgP455BAFlvA694+pw87TZy =PKxD -----END PGP SIGNATURE----- --JfVplkuTfB13Rsg5-- From owner-freebsd-amd64@FreeBSD.ORG Tue May 4 16:37:39 2010 Return-Path: Delivered-To: amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 10BF31065674; Tue, 4 May 2010 16:37:39 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id D45B38FC17; Tue, 4 May 2010 16:37:38 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.3) with ESMTP id o44GbcGA039742; Tue, 4 May 2010 12:37:38 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.3/Submit) id o44Gbc7p039730; Tue, 4 May 2010 16:37:38 GMT (envelope-from tinderbox@freebsd.org) Date: Tue, 4 May 2010 16:37:38 GMT Message-Id: <201005041637.o44Gbc7p039730@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Cc: Subject: [head tinderbox] failure on amd64/amd64 X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 May 2010 16:37:39 -0000 TB --- 2010-05-04 15:50:00 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-04 15:50:00 - starting HEAD tinderbox run for amd64/amd64 TB --- 2010-05-04 15:50:00 - cleaning the object tree TB --- 2010-05-04 15:50:34 - cvsupping the source tree TB --- 2010-05-04 15:50:34 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/amd64/amd64/supfile TB --- 2010-05-04 16:06:32 - building world TB --- 2010-05-04 16:06:32 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-04 16:06:32 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-04 16:06:32 - TARGET=amd64 TB --- 2010-05-04 16:06:32 - TARGET_ARCH=amd64 TB --- 2010-05-04 16:06:32 - TZ=UTC TB --- 2010-05-04 16:06:32 - __MAKE_CONF=/dev/null TB --- 2010-05-04 16:06:32 - cd /src TB --- 2010-05-04 16:06:32 - /usr/bin/make -B buildworld >>> World build started on Tue May 4 16:06:32 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies [...] mkdep -f .depend -a -DKLUDGELINEMODE -DUSE_TERMIO -DENV_HACK -DOPIE -I/src/usr.bin/telnet/../../contrib/telnet -I/src/usr.bin/telnet/../../contrib/telnet/libtelnet/ -DINET6 -DIPSEC -DENCRYPTION -DAUTHENTICATION -DIPSEC -DKRB5 -DFORWARD -Dnet_write=telnet_net_write /src/usr.bin/telnet/../../contrib/telnet/telnet/commands.c /src/usr.bin/telnet/../../contrib/telnet/telnet/main.c /src/usr.bin/telnet/../../contrib/telnet/telnet/network.c /src/usr.bin/telnet/../../contrib/telnet/telnet/ring.c /src/usr.bin/telnet/../../contrib/telnet/telnet/sys_bsd.c /src/usr.bin/telnet/../../contrib/telnet/telnet/telnet.c /src/usr.bin/telnet/../../contrib/telnet/telnet/terminal.c /src/usr.bin/telnet/../../contrib/telnet/telnet/utilities.c /src/usr.bin/telnet/../../contrib/telnet/telnet/authenc.c echo telnet: /obj/src/tmp/usr/lib/libc.a /obj/src/tmp/usr/lib/libtermcap.a /obj/src/usr.bin/telnet/../../lib/libtelnet/libtelnet.a /obj/src/tmp/usr/lib/libipsec.a /obj/src/tmp/usr/lib/libmp.a /obj/src/tmp/usr/lib/libcrypto.a /obj/src/tmp/usr/lib/libcrypt.a /obj/src/tmp/usr/lib/libipsec.a /obj/src/tmp/usr/lib/libpam.a /obj/src/tmp/usr/lib/libkrb5.a /obj/src/tmp/usr/lib/libhx509.a /obj/src/tmp/usr/lib/libasn1.a /obj/src/tmp/usr/lib/libcom_err.a /obj/src/tmp/usr/lib/libroken.a >> .depend ===> usr.bin/tftp (depend) rm -f .depend mkdep -f .depend -a -I/src/usr.bin/tftp/../../libexec/tftpd -I/src/usr.bin/tftp/../../usr.bin/tftp /src/usr.bin/tftp/main.c /src/usr.bin/tftp/tftp.c /src/usr.bin/tftp/../../libexec/tftpd/tftp-utils.c /src/usr.bin/tftp/../../libexec/tftpd/tftp-io.c /src/usr.bin/tftp/../../libexec/tftpd/tftp-file.c /src/usr.bin/tftp/../../libexec/tftpd/tftp-transfer.c /src/usr.bin/tftp/../../libexec/tftpd/tftp-options.c /src/usr.bin/tftp/main.c:80:18: error: tftp.h: No such file or directory /src/usr.bin/tftp/tftp.c:62:18: error: tftp.h: No such file or directory mkdep: compile failed *** Error code 1 Stop in /src/usr.bin/tftp. *** Error code 1 Stop in /src/usr.bin. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-05-04 16:37:38 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-05-04 16:37:38 - ERROR: failed to build world TB --- 2010-05-04 16:37:38 - 1361.59 user 334.09 system 2857.30 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-amd64-amd64.full From owner-freebsd-amd64@FreeBSD.ORG Thu May 6 16:00:12 2010 Return-Path: Delivered-To: freebsd-amd64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A35811065670 for ; Thu, 6 May 2010 16:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 63DF38FC19 for ; Thu, 6 May 2010 16:00:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o46G0CdA066943 for ; Thu, 6 May 2010 16:00:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o46G0CTS066942; Thu, 6 May 2010 16:00:12 GMT (envelope-from gnats) Resent-Date: Thu, 6 May 2010 16:00:12 GMT Resent-Message-Id: <201005061600.o46G0CTS066942@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-amd64@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ben Smith Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 47339106566C for ; Thu, 6 May 2010 15:57:22 +0000 (UTC) (envelope-from bsmith@boltnet.com) Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by mx1.freebsd.org (Postfix) with ESMTP id C901A8FC20 for ; Thu, 6 May 2010 15:57:21 +0000 (UTC) Received: by wwb39 with SMTP id 39so3329wwb.13 for ; Thu, 06 May 2010 08:57:14 -0700 (PDT) Received: by 10.227.137.20 with SMTP id u20mr4341479wbt.134.1273159820159; Thu, 06 May 2010 08:30:20 -0700 (PDT) Received: from huugs.corp.boltnet.com (adsl-99-33-135-172.dsl.pltn13.sbcglobal.net [99.33.135.172]) by mx.google.com with ESMTPS id u8sm8062148wbc.17.2010.05.06.08.30.16 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 06 May 2010 08:30:18 -0700 (PDT) Received: by huugs.corp.boltnet.com (Postfix, from userid 1000) id 3ECE82640871; Thu, 6 May 2010 08:29:48 -0700 (PDT) Message-Id: <20100506152948.GB19474@boltnet.com> Date: Thu, 6 May 2010 08:29:48 -0700 From: Ben Smith To: FreeBSD-gnats-submit@FreeBSD.org X-Mailman-Approved-At: Thu, 06 May 2010 16:06:25 +0000 Cc: bsmith@boltnet.com Subject: amd64/146358: wrong destination MAC address X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2010 16:00:12 -0000 >Number: 146358 >Category: amd64 >Synopsis: wrong destination MAC address >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-amd64 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 06 16:00:11 UTC 2010 >Closed-Date: >Last-Modified: >Originator: bsmith@boltnet.com >Release: FreeBSD 8.0-RELEASE amd64 >Organization: Boltnet, Inc. >Environment: System: FreeBSD gw2.edge2 8.0-RELEASE FreeBSD 8.0-RELEASE #1: Tue May 4 13:36:59 UTC 2010 root@gw2.edge2:/usr/obj/usr/src/sys/BOLTNET amd64 Manufacturer: Supermicro Product Name: X8DTU igb0: Intel(R) PRO/1000 Network Connection version - 1.7.3> port 0xdc00-0xdc1f mem 0xfaee0000-0xfaefffff,0xfaec0000-0xfaedffff,0xfae9c000-0xfae9ffff irq 28 at device 0.0 on pci1 igb0: Using MSIX interrupts with 3 vectors igb1: Intel(R) PRO/1000 Network Connection version - 1.7.3> port 0xd880-0xd89f mem 0xfae60000-0xfae7ffff,0xfae40000-0xfae5ffff,0xfae98000-0xfae9bfff irq 40 at device 0.1 on pci1 *and* gw1# uname -a FreeBSD gw1.edge2 8.0-RELEASE FreeBSD 8.0-RELEASE #2: Wed May 5 16:07:01 UTC 2010 root@gw1.edge2:/usr/obj/usr/src/sys/BOLTNET amd64 igb0: Intel(R) PRO/1000 Network Connection version - 1.7.3> port 0xdc00-0xdc1f mem 0xfaee0000-0xfaefffff,0xfaec0000-0xfaedffff,0xfae9c000-0xfae9ffff irq 28 at device 0.0 on pci1 igb1: Intel(R) PRO/1000 Network Connection version - 1.7.3> port 0xd880-0xd89f mem 0xfae60000-0xfae7ffff,0xfae40000-0xfae5ffff,0xfae98000-0xfae9bfff irq 40 at device 0.1 on pci1 (same motherboard) openbgpd-4.5.20090709 Free implementation of the Border Gateway Protocol, Version >Description: Sometimes when using openbgpd the kernel table becomes decoupled/corrupt. Packets destined for remote hosts are sent out the correct interface but with the wrong destination(next hop gateway) mac address. gw1# bgpctl show ip bgp ben'sIP flags destination gateway lpref med aspath origin *> 198.144.192.0/19 206.51.36.18 100 0 26769 22212 14743 22781 7961 i * 198.144.192.0/19 206.51.37.5 100 0 14361 22212 14743 22781 7961 i I* 198.144.192.0/19 10.3.4.2 100 0 3491 22212 14743 22781 7961 i I* 198.144.192.0/19 10.3.5.2 100 0 3491 22212 14743 22781 7961 i gw1# netstat -nr | grep ^198.144.192 198.144.192.0/19 206.51.36.18 UG1 8 1245 vlan2 gw1# tcpdump -nei vlan2 icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vlan2, link-type EN10MB (Ethernet), capture size 96 bytes 13:46:41.265114 00:02:fc:08:d9:82 > 00:30:48:9f:56:16, ethertype IPv4 (0x0800), length 98: ben > gw1: ICMP echo request, id 60539, seq 76, length 64 13:46:41.265122 00:30:48:9f:56:16 > 00:30:48:9f:56:3a, ethertype IPv4 (0x0800), length 98: gw1 > ben: ICMP echo reply, id 60539, seq 76, length 64 gw1# arp -an | grep 206.51.36.18 ? (206.51.36.18) at 00:19:2f:7a:0c:00 on vlan2 [vlan] gw1# arp -an | grep 56:3a ? (10.3.4.2) at 00:30:48:9f:56:3a on vlan4 [vlan] another example: gw2# tcpdump -nei vlan4 host inoc tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vlan4, link-type EN10MB (Ethernet), capture size 96 bytes 06:05:29.371654 00:30:48:9f:56:16 > 00:30:48:9f:56:3b, ethertype IPv4 (0x0800), length 74: gw1.60029 > inoc.179: Flags [S], seq 50533919, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 95326947 ecr 0], length 0 06:05:30.342159 00:30:48:9f:56:16 > 00:30:48:9f:56:3b, ethertype IPv4 (0x0800), length 62: gw1.64469 > inoc.179: Flags [S], seq 2800506931, win 65535, options [mss 1460,sackOK,eol], length 0 ^C 2 packets captured 37 packets received by filter 0 packets dropped by kernel gw2# ifconfig vlan4 vlan4: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:30:48:9f:56:3a inet 10.3.4.2 netmask 0xffffff00 broadcast 10.3.4.255 media: Ethernet autoselect (1000baseT full-duplex>) status: active vlan: 4 parent interface: igb0 gw2# ifconfig vlan5 vlan5: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:30:48:9f:56:3b inet 10.3.5.2 netmask 0xffffff00 broadcast 10.3.5.255 media: Ethernet autoselect (1000baseT full-duplex>) status: active vlan: 5 parent interface: igb1 gw1# bgpctl show ip bgp inoc'sIP flags: * = Valid, > = Selected, I = via IBGP, A = Announced origin: i = IGP, e = EGP, ? = Incomplete flags destination gateway lpref med aspath origin I*> 208.70.82.0/23 10.3.4.2 100 0 3356 4150 15176 i I* 208.70.82.0/23 10.3.5.2 100 0 3356 4150 15176 i 208.70.82.0/23 206.51.36.13 100 2654 3549 1239 4150 15176 i 208.70.82.0/23 206.51.37.5 100 0 14361 3356 4150 15176 i gw1# !netst netstat -nr | grep default default 206.51.36.4 UGS 1 64713 vlan2 gw1# netstat -nr|grep ^208.70.82 208.70.82.0/24 10.3.4.2 UG1 0 0 vlan4 => 208.70.82.0/23 10.3.4.2 UG1 6 2706 vlan4 gw1# !teln telnet inoc 179 Trying inoc... gw1# tcpdump -nei vlan4 host inoc tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vlan4, link-type EN10MB (Ethernet), capture size 96 bytes 06:04:52.603694 00:30:48:9f:56:16 > 00:30:48:9f:56:3b, ethertype IPv4 (0x0800), length 74: gw1.54513 > inoc.179: Flags [S], seq 2254251043, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 95545315 ecr 0], length 0 gw1# arp -an|grep 56:3b ? (10.3.5.2) at 00:30:48:9f:56:3b on vlan5 [vlan] gw1# sysctl -a | grep redir net.inet.ip.redirect: 0 net.inet.icmp.log_redirect: 1 net.inet.icmp.drop_redirect: 1 after stopping openbgpd: gw1# netstat -nr | grep ^208.70.82 208.70.82.0/24 10.3.4.2 UG1 0 0 vlan4 => 208.70.82.0/23 10.3.4.2 UG1 6 2753 vlan4 These machines have a lot of routes: gw1# bgpctl show Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd app1_vlan160 65030 2739 2741 0 22:04:02 5 app1_vlan120 65030 2746 2739 0 22:04:01 8 inoc 65534 3483 379202 0 1d05h10m 0 gw2_vlan5 33616 166248 244942 0 1d05h17m 224198 gw2_vlan4 33616 166246 244935 0 1d05h17m 224198 EquinixB 25658 302028 3517 0 1d05h15m 318387 EquinixA 25658 299936 3517 0 1d05h15m 318386 which may be a factor. This doesn't seem to happen all of the time. A reboot will fix it, if it breaks it seems to break within a few minutes of it coming online. It also doesn't break for all traffic. Some traffic with the same next hop will work. Even after /usr/local/etc/rc.d/openbgpd stop, the routes stay: gw1# netstat -nr | grep ^208.70.82 208.70.82.0/24 10.3.4.2 UG1 0 0 vlan4 => 208.70.82.0/23 10.3.4.2 UG1 6 2753 vlan4 >How-To-Repeat: Run openbgpd with several peers, reboot test the machine a couple times. Sometimes when it comes up it can no longer get to certain eBGP multihope peers because of this. >Fix: Rebooting (and probably also route flush?) will clear the bad routes and hopefully the problem doesn't happen again. >Release-Note: >Audit-Trail: >Unformatted: From owner-freebsd-amd64@FreeBSD.ORG Fri May 7 21:36:42 2010 Return-Path: Delivered-To: freebsd-amd64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 609051065674; Fri, 7 May 2010 21:36:42 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 38FC58FC0C; Fri, 7 May 2010 21:36:42 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47LagbH010563; Fri, 7 May 2010 21:36:42 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47Lagr7010559; Fri, 7 May 2010 21:36:42 GMT (envelope-from linimon) Date: Fri, 7 May 2010 21:36:42 GMT Message-Id: <201005072136.o47Lagr7010559@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-amd64@FreeBSD.org, freebsd-net@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: kern/146358: [vlan] wrong destination MAC address X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 21:36:42 -0000 Old Synopsis: wrong destination MAC address New Synopsis: [vlan] wrong destination MAC address Responsible-Changed-From-To: freebsd-amd64->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Fri May 7 21:34:31 UTC 2010 Responsible-Changed-Why: This does not sound amd64-specific. Take a guess that it's related to vlan and assign it to -net. http://www.freebsd.org/cgi/query-pr.cgi?pr=146358