Re: Hang near end of kernel probes since r213267 (likely earlier)

2010-10-03 Thread David Wolfskill
On Fri, Oct 01, 2010 at 08:38:59PM -0700, David Wolfskill wrote:
 On Fri, Oct 01, 2010 at 08:56:13PM -0500, Brandon Gooch wrote:
  ...
   Any ideas on what mught be causing CURRENT to hang -- sometimes
   -- given that it appears to involve the Modular Bay (or the specific
   device that is in the bay during the hang)?
  
  
  If you haven't already, it may be worth trying 'options ATA_CAM' in
  your kernel config.
 ...
 And -- probably more important for this discussion -- I was unable to
 re-create the failing condition: the machine booted Just Fine every
 time I tried it, whether the CD/DVD drive was inserted or not.
 ...

That assessment (on my part) was premature.

The attempt to boot from slice 4, running:

FreeBSD g1-222.catwhisker.org. 9.0-CURRENT FreeBSD 9.0-CURRENT #3 r213357: Sat 
Oct  2 06:29:23 PDT 2010 
r...@g1-222.catwhisker.org.:/usr/obj/usr/src/sys/CANARY  i386

immediately prior to the one I just did:

* was using a kernel with the ATA_CAM enabled, as may be noted by
  the device name in:

  g1-222(9.0-C)[2] df -h /
  Filesystem  SizeUsed   Avail Capacity  Mounted on
  /dev/ada0s4a1.4G327M1.0G25%/
  g1-222(9.0-C)[3] 

* hung at the previously-discussed point.

It appears that running a kernel with option ATA_CAM may well reduce the
probability of this apparently intermittent mode of failure.

Peace,
david
-- 
David H. Wolfskill  da...@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.


pgpuJoZgT69Jc.pgp
Description: PGP signature


Re: Hang near end of kernel probes since r213267 (likely earlier)

2010-10-03 Thread Andriy Gapon
on 03/10/2010 14:28 David Wolfskill said the following:
[snipped]

Can't you just drop to DDB prompt and examine where the threads are?

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Hang near end of kernel probes since r213267 (likely earlier)

2010-10-03 Thread David Wolfskill
On Sun, Oct 03, 2010 at 02:52:19PM +0300, Andriy Gapon wrote:
 on 03/10/2010 14:28 David Wolfskill said the following:
 [snipped]
 
 Can't you just drop to DDB prompt and examine where the threads are?

Eh -- thanks for the reality check; I needed that.  :-}

OK; I enabled the KDB  DDB options  rebuilt the kernel; 2nd reboot
after make installkernel huhng as before.

Now, unfortunately, the new laptop doesn't have a serial console, so
below is hand-transcribed:

GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
524288K of memory above 4GB ignored
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #4 r213380: Sun Oct  3 04:35:15 PDT 2010
...
ugen7.1: Intel at usbus7
uhub7: Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1 on usbus7
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub4: 2 ports with 2 removable, self powered
uhub5: 2 ports with 2 removable, self powered
uhub6: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
cd0 at ata3 bus 0 scbus2 target 0 lun 0
cd0: TSSTcorp DVD+-RW TS-U633A D200 Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray 
closed
ada0 at ata2 bus 0 scbus1 target 0 lun 0
ada0: Seagate ST9250421ASG DE16 ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5,  device   
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
SMP: AP CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
uhub7: 6 ports with 6 removable, self powered
ugen2.2: Broadcom Corp at usbus2

previously-descibed hang; I used Ctl+Alt+Esc to enter DDB.

KDB: enter: manual escape to debugger
[ thread pid 12 tid 100017 ]
Stopped at  0xc08d992a = kdb_enter+0x3a:movl$0,0xc0e33574 = kdb_why
db bt
Tracing pid 12 tid 100017 td 0xc94575a0
kdb_enter(c0c737ab,c0caf6cb,1,0,1,...) at 0xc06d992a = kdb_enter+0x3a
scgetc(c0e21950,0,c0caf5f1,2a1,c9457644,...) at 0xc07930a8 = scgetc+0x568
sckbdevent)c92f7500,0,c0fb3ea0,c92f9400,c6da9c4c,...) at 0xc0793424 = 
sckbdevent+0x1e4
kbdmux_intr(c92f7500,0,c92f9608,c6da9c78,c08e63e3,...) at 0xc069c86b = 
kbdmux_intr+0x2b
kbdmux_kbd_intr(c92f7500,1,c0ccd301,53,c9194a94,...) at 0xc069ce45 = 
kbdmux_kbd_intr+0x25
taskqueue_run(c9194a98,0,c0ccd301,4a,c6da9cb8,...) at 0xc08e63e3 = 
taskqueue_run+0xc3
taskqueue_swi_giant_run(0,0,c0cc37a5,4c3,c945a0b8,...) at 0xc08e6be6 = 
taskqueue_swi_giant_run+0x66
intr_event_execute_handlers(c91d37f8,c945a080,c0cc37a5,533,c945a0f0,...) at 
0xc087e655 = intr_event_execute_handlers+0x125
ithread_loop(c943f980,c6da9d28,c0cc3520,349,c91d37f8,...) at 0xc087f42f = 
ithread_loop+-x9f
fork_exit(c087f390,c943f980,c6da9d28) at 0xc087c3a8 = fork_exit+0xb8
fork_trampoline() at 0xc0bd5824 = fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc6da9d60, ebp = 0 ---
db 

I used the ps command at that point to see that PID 12 is [intr],
with the following assignments:

PID state   wmesg   cmd
100072  I   [irq15: ata1]
100071  I   [irq14: ata0]
100070  I   [irq12: psm0]
100069  I   [irq1: atkbd0]
100067  I   [irq19: cbb0 atapci+]
100064  I   [irq17: fwohci0]
100045  I   [irq1258: iwn0]
100044  I   [irq1257: hdac0]
100035  I   [irq122: uhci2 ehci0+]
100030  I   [irq121: uhci1 ehci4]
100025  I   [irq120: hpet0 ehci0*]
100023  I   [irq19: acpi0]
100018  I   [swi6: task queue]
100017  Run CPU 1   [swi6: Giant taskq]
100015  I   [swi5: +]
100014  I   [swi2: cambio]
18  I   [swi4: clock]
17  I   [swi4: clock]
16  I   [swi1: netisr 0]
15  I   [swi3: vm]

I then tried panic, but that does not appear to have been successful.

Peace,
david
-- 
David H. Wolfskill  da...@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.


pgpShZwNQ2lCi.pgp
Description: PGP signature


Another clang problem

2010-10-03 Thread Derek Tattersall
In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
current system was built last week, with both kernel and world built
with clang.  The linkage failure was due to an inlined function,
set4pixels which is only referred to, as far as I can tell, within the
source file simple.c which contains the function definition.

I rebuilt libvgl.so using gcc and gnash linked properly.  It seems, at
least in this case, that clang has some problems dealing with inlined
functions.
-- 
Best regards,
Derek Tattersall
d...@mebtel.net dlt...@yahoo.com dtatt...@gmail.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Rui Paulo
On 3 Oct 2010, at 14:41, Derek Tattersall wrote:

 In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
 current system was built last week, with both kernel and world built
 with clang.  The linkage failure was due to an inlined function,
 set4pixels which is only referred to, as far as I can tell, within the
 source file simple.c which contains the function definition.
 
 I rebuilt libvgl.so using gcc and gnash linked properly.  It seems, at
 least in this case, that clang has some problems dealing with inlined
 functions.

We are still in the process of identifying which ports have problems, but we 
are aware that building ports with clang is not an easy job: several ports 
assume a gcc behavior and there some LLVM/Clang problems that need to be ironed 
out.

Given this, we need some sort of way to identify ports that can be built with 
clang, but that requires man-hours.

Regards,
--
Rui Paulo

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Derek Tattersall
* Rui Paulo rpa...@freebsd.org [101003 09:57]:
 On 3 Oct 2010, at 14:41, Derek Tattersall wrote:
 
  In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
  current system was built last week, with both kernel and world built
  with clang.  The linkage failure was due to an inlined function,
  set4pixels which is only referred to, as far as I can tell, within the
  source file simple.c which contains the function definition.
  
  I rebuilt libvgl.so using gcc and gnash linked properly.  It seems, at
  least in this case, that clang has some problems dealing with inlined
  functions.
 
 We are still in the process of identifying which ports have problems, but we 
 are aware that building ports with clang is not an easy job: several ports 
 assume a gcc behavior and there some LLVM/Clang problems that need to be 
 ironed out.
 
 Given this, we need some sort of way to identify ports that can be built with 
 clang, but that requires man-hours.
 
 Regards,
 --
 Rui Paulo
I was not completely clear, I'm afraid.  Gnash was built with gcc under
all circumstances.  libvgl.so is part of the world build and is
installed in /usr/lib.  It was originally built with clang when I built
both the kernel and the world with clang last week.  I found that
building /usr/src/lib/libvgl with gcc was necessary to get gnash to
build properly.
-- 
Best regards,
Derek Tattersall
d...@mebtel.net dlt...@yahoo.com dtatt...@gmail.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Dimitry Andric

On 2010-10-03 15:41, Derek Tattersall wrote:

In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
current system was built last week, with both kernel and world built
with clang.  The linkage failure was due to an inlined function,
set4pixels which is only referred to, as far as I can tell, within the
source file simple.c which contains the function definition.


The problem is that set4pixels() and another function set2lines() are
defined as 'inline' functions in simple.c, but it is compiled with
-std=gnu99.  This means that these definitions cannot be called from
another object file.

So, either libvgl should be compiled with -std=gnu89, or somebody who
knows about libvgl's official API should decide whether these
functions must be externally accessible or not.  Since libvgl looks very
old (it was imported 8 years ago, and the last functional change was 6
years ago), the former is probably the easiest fix.



I rebuilt libvgl.so using gcc and gnash linked properly.  It seems, at
least in this case, that clang has some problems dealing with inlined
functions.


Since gnash has about a gazillion dependencies, and I have the idea that
after 12 hours of building stuff, I will not be able to reproduce your
error message anyway, could you please post it (or upload it, if it is
very large)?

Also, please note that building ports with clang is still experimental,
although various people are actively working on it.  And there are
*many* ports that have totally broken configure scripts, or that just
assume the only software in the world is GNU. :)

See http://wiki.freebsd.org/PortsAndClang for some information (although
it is a little outdated now), and a link to patches.  Any help in this
area is appreciated!
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Examining the VM splay tree effectiveness

2010-10-03 Thread Ivan Voras
On 10/01/10 10:54, Andre Oppermann wrote:
 On 30.09.2010 19:51, Ivan Voras wrote:
 On 09/30/10 18:37, Andre Oppermann wrote:

 Both the vmmap and page table make use of splay trees to manage the
 entries and to speed up lookups compared to long to traverse linked
 lists or more memory expensive hash tables.  Some structures though
 do have an additional linked list to simplify ordered traversals.

 The property of splay tree requiring *writes* for nearly every read
 really is a thorn in the eye for SMP. It seems to me that even if the
 immediate benefits from converting to something else are not directly
 observable, it will still be worth doing it.
 
 Fully agreed.
 
 It's a shame that RCU is still a patent minefield :/

 http://mirror.leaseweb.com/kernel/people/npiggin/patches/lockless/2.6.16-rc5/radix-intro.pdf

 
 I'm not convinced that RCU is the only scalable way of sharing a
 data structure across a possibly large number of CPU's.

Of course, it's just well understood currently.

 The term lockless is often used and frequently misunderstood.
 Having a lockess data structure *doesn't* mean that is either
 performant, scalable or both.  It heavily depends on a number
 of additional factors.  Many times lockless just replaces a
 simple lock/unlock cycle with a number of atomic operations on
 the data structure.  This can easily backfire because an atomic

Yes.

 operation just hides the computational complexity and also dirties
 the CPU's cache lines.  Generally on cache coherent architectures
 almost all of the atomic operation is in HW with bus lock cycles,
 bus snooping and whatnot.  While seemingly simple form the programmers
 point of view, the overhead and latency is still there.  Needless

Yes, you basically just offload the operation to hardware but the steps
it needs to make are the same in concept.

  a) make sure the lock is held for only a small amount of time
 to avoid lock contention.
  b) do everything you can outside of the lock.
  c) if the lock is found to be heavily contended rethink the
 whole approach and check if other data structures can be used.
  d) minimize write accesses to memory in the lock protected
 shared data structure.
  e) PROFILE, DON'T SPECULATE! Measure the access pattern and
 measure the locking/data access strategy's cost in terms
 of CPU cycles consumed.
 
  f) on lookup heavy data structures avoid writing to memory and
 by it dirtying CPU caches.
  g) on modify heavy data structures avoid touching too many
 elements.
  h) on lookup and modify heavy data structure that are used
 across many CPU's all bets are off and a different data
 structure approach should be considered resulting ideally
 in case f).
 
 It all starts with the hypothesis that a data structure is not
 optimally locked.

This looks like material for a developer-centric wiki page :) There is a
lot of dispersed wisdom in this thread which would be nice if gathered
in one place.



___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Roman Divacky
On Sun, Oct 03, 2010 at 05:21:15PM +0200, Dimitry Andric wrote:
 On 2010-10-03 15:41, Derek Tattersall wrote:
 In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
 current system was built last week, with both kernel and world built
 with clang.  The linkage failure was due to an inlined function,
 set4pixels which is only referred to, as far as I can tell, within the
 source file simple.c which contains the function definition.
 
 The problem is that set4pixels() and another function set2lines() are
 defined as 'inline' functions in simple.c, but it is compiled with
 -std=gnu99.  This means that these definitions cannot be called from
 another object file.
 
 So, either libvgl should be compiled with -std=gnu89, or somebody who
 knows about libvgl's official API should decide whether these
 functions must be externally accessible or not.  Since libvgl looks very
 old (it was imported 8 years ago, and the last functional change was 6
 years ago), the former is probably the easiest fix.

we compile world with -std=gnu99 even with gcc, why isnt this problem 
with gcc?
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Garrett Cooper
On Sun, Oct 3, 2010 at 12:50 PM, Roman Divacky rdiva...@freebsd.org wrote:
 On Sun, Oct 03, 2010 at 05:21:15PM +0200, Dimitry Andric wrote:
 On 2010-10-03 15:41, Derek Tattersall wrote:
 In updating gnash to 8.8 the build failed while linking with libvgl.so.  My
 current system was built last week, with both kernel and world built
 with clang.  The linkage failure was due to an inlined function,
 set4pixels which is only referred to, as far as I can tell, within the
 source file simple.c which contains the function definition.

 The problem is that set4pixels() and another function set2lines() are
 defined as 'inline' functions in simple.c, but it is compiled with
 -std=gnu99.  This means that these definitions cannot be called from
 another object file.

 So, either libvgl should be compiled with -std=gnu89, or somebody who
 knows about libvgl's official API should decide whether these
 functions must be externally accessible or not.  Since libvgl looks very
 old (it was imported 8 years ago, and the last functional change was 6
 years ago), the former is probably the easiest fix.

 we compile world with -std=gnu99 even with gcc, why isnt this problem
 with gcc?

Has someone tried compiling with clang and c99, as opposed to
gnu99? I'm curious as to whether or not the c99 implementation with
clang is always correct, and if that works, whether or not the gnu99
implementation on gcc has a subtlety that isn't implemented properly
on clang.
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Another clang problem

2010-10-03 Thread Dimitry Andric

On 2010-10-03 17:21, Dimitry Andric wrote:

Since gnash has about a gazillion dependencies, and I have the idea that
after 12 hours of building stuff, I will not be able to reproduce your
error message anyway, could you please post it (or upload it, if it is
very large)?


I cannot reproduce your problem, even after installing the gazillion
dependencies. :)

However, gnash has the same problem that a lot of other ports have: its
configure script assumes the verbose output of a linking command has a
certain format.  The end result is almost always a linking error
hidden symbol `__dso_handle' in /usr/lib/crtbegin.o is referenced by
DSO, or similar.

That problem should be fixed by this patch:
http://www.andric.com/freebsd/clang/graphics-gnash-clang.diff

There is also a chance this might fix your issue, can you please try it
out?
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Hang near end of kernel probes since r213267 (likely earlier)

2010-10-03 Thread Julian Elischer

 On 10/3/10 6:14 AM, David Wolfskill wrote:

On Sun, Oct 03, 2010 at 02:52:19PM +0300, Andriy Gapon wrote:

on 03/10/2010 14:28 David Wolfskill said the following:
[snipped]

Can't you just drop to DDB prompt and examine where the threads are?

Eh -- thanks for the reality check; I needed that.  :-}

OK; I enabled the KDB  DDB options  rebuilt the kernel; 2nd reboot
after make installkernel huhng as before.

Now, unfortunately, the new laptop doesn't have a serial console, so
below is hand-transcribed:

GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
524288K of memory above 4GB ignored
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #4 r213380: Sun Oct  3 04:35:15 PDT 2010
...
ugen7.1:Intel  at usbus7
uhub7:Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1  on usbus7
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub4: 2 ports with 2 removable, self powered
uhub5: 2 ports with 2 removable, self powered
uhub6: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
cd0 at ata3 bus 0 scbus2 target 0 lun 0
cd0:TSSTcorp DVD+-RW TS-U633A D200  Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray 
closed
ada0 at ata2 bus 0 scbus1 target 0 lun 0
ada0:Seagate ST9250421ASG DE16  ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5,  device
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
SMP: AP CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
uhub7: 6 ports with 6 removable, self powered
ugen2.2:Broadcom Corp  at usbus2

previously-descibed hang; I used Ctl+Alt+Esc to enter DDB.

KDB: enter: manual escape to debugger
[ thread pid 12 tid 100017 ]
Stopped at  0xc08d992a = kdb_enter+0x3a:movl$0,0xc0e33574 = kdb_why
db  bt
Tracing pid 12 tid 100017 td 0xc94575a0
kdb_enter(c0c737ab,c0caf6cb,1,0,1,...) at 0xc06d992a = kdb_enter+0x3a
scgetc(c0e21950,0,c0caf5f1,2a1,c9457644,...) at 0xc07930a8 = scgetc+0x568
sckbdevent)c92f7500,0,c0fb3ea0,c92f9400,c6da9c4c,...) at 0xc0793424 = 
sckbdevent+0x1e4
kbdmux_intr(c92f7500,0,c92f9608,c6da9c78,c08e63e3,...) at 0xc069c86b = 
kbdmux_intr+0x2b
kbdmux_kbd_intr(c92f7500,1,c0ccd301,53,c9194a94,...) at 0xc069ce45 = 
kbdmux_kbd_intr+0x25
taskqueue_run(c9194a98,0,c0ccd301,4a,c6da9cb8,...) at 0xc08e63e3 = 
taskqueue_run+0xc3
taskqueue_swi_giant_run(0,0,c0cc37a5,4c3,c945a0b8,...) at 0xc08e6be6 = 
taskqueue_swi_giant_run+0x66
intr_event_execute_handlers(c91d37f8,c945a080,c0cc37a5,533,c945a0f0,...) at 
0xc087e655 = intr_event_execute_handlers+0x125
ithread_loop(c943f980,c6da9d28,c0cc3520,349,c91d37f8,...) at 0xc087f42f = 
ithread_loop+-x9f
fork_exit(c087f390,c943f980,c6da9d28) at 0xc087c3a8 = fork_exit+0xb8
fork_trampoline() at 0xc0bd5824 = fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc6da9d60, ebp = 0 ---
db

I used the ps command at that point to see that PID 12 is [intr],
with the following assignments:

PID state   wmesg   cmd
100072  I   [irq15: ata1]
100071  I   [irq14: ata0]
100070  I   [irq12: psm0]
100069  I   [irq1: atkbd0]
100067  I   [irq19: cbb0 atapci+]
100064  I   [irq17: fwohci0]
100045  I   [irq1258: iwn0]
100044  I   [irq1257: hdac0]
100035  I   [irq122: uhci2 ehci0+]
100030  I   [irq121: uhci1 ehci4]
100025  I   [irq120: hpet0 ehci0*]
100023  I   [irq19: acpi0]
100018  I   [swi6: task queue]
100017  Run CPU 1   [swi6: Giant taskq]
100015  I   [swi5: +]
100014  I   [swi2: cambio]
18  I   [swi4: clock]
17  I   [swi4: clock]
16  I   [swi1: netisr 0]
15  I   [swi3: vm]

I then tried panic, but that does not appear to have been successful.

Peace,
david
well you got the stacktrace of the keyboard handler since you got into 
ddb via the keyboard..

you need to see what ELSE is running.. especially the initial threads.
and look at THOSE stacks
I think bt [thread-ID] works or maybe
thread [ID]  (it's bee a year).


___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Hang near end of kernel probes since r213267 (likely earlier)

2010-10-03 Thread David Wolfskill
On Sun, Oct 03, 2010 at 03:42:51PM -0700, Julian Elischer wrote:
  ...
 well you got the stacktrace of the keyboard handler since you got into 
 ddb via the keyboard..

OK

 you need to see what ELSE is running.. especially the initial threads.
 and look at THOSE stacks

Ah.  My lack of practice is showing.  :-}

 I think bt [thread-ID] works or maybe
 thread [ID]  (it's bee a year).

OK.  Armed with that, I tried to re-create the problem a few more times.

First, I used loader.conf to:
boot_verbose=YES
dumpdev=/dev/ada0s4b

And then just tried rebooting to single-user.

I noticed, then, that for *successful* boots, I got

start_init: trying /sbin/init
Enter full pathname of shell or RETURN for bin/sh:

*before* I saw

ugen2.2: Broadcom Corp at usbus2


This, together with the observation that DDB's ps output showed just
about everything other than interrupt threads in state D or DL
encouraged me to check the backtraces for PID 1 (init) and PID 2
[g_event].

Hmm... actually going to single user on a successfull boot  issuing ps
axwwl shows most things in stat D or DL normally, so maybe I'm
chasing a red herring.  But at least in this case, init is not in a D
state -- it's ILs.

Well, maybe this will be of some use anywya:

battery0: battery initialization done, tried 1 times
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub4: 2 ports with 2 removable, self powered
uhub5: 2 ports with 2 removable, self powered
uhub6: 2 ports with 2 removable, self powered
(probe0:abp0:0:0:0): Error 22, Unretryable error
(probe2:abp0:0:0:0): Error 22, Unretryable error
(probe4:abp0:0:0:0): Error 22, Unretryable error
(probe5:abp0:0:0:0): Error 22, Unretryable error
(probe1:abp0:0:0:0): Error 22, Unretryable error
(probe3:abp0:0:0:0): Error 22, Unretryable error
(probe6:abp0:0:0:0): Error 22, Unretryable error
GEOM: new disk cd0
(cd0:ata3:0:0:0): SCSI status error
(cd0:ata3:0:0:0): Requesting SCSI sense data
(cd0:ata3:0:0:0): SCSI status error
(cd0:ata3:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0
(cd0:ata3:0:0:0): CAM status: SCSI Status Error
(cd0:ata3:0:0:0): SCSI status: Check Condition
(cd0:ata3:0:0:0): SCSI sense: NOT READY asc:3a, 1 (Medium not present - tray 
closed)
(cd0:ata3:0:0:0): Error 6, Unretryable error
cd0 at ata3 bus 0 scbus2 target 0 lun 0
cd0: TSSTcorp DVD+-RW TS-U633A D200 Removable CD-ROM SCSI-0 device 
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray 
closed
ada0 at ata2 bus 0 scbus1 target 0 lun 0
ada0: ST9250421ASG DE16  ATA-8 SATA 2.x device
ada0: Serial Number 5TH0BAZX
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
pass0 at ata2 bus 0 scbus2 target 0 lun 0
pass0: ST9250421ASG DE16  ATA-8 SATA 2.x device
pass0: Serial Number 5TH0BAZX
pass0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
pass1 at ata3 bus 0 scbus2 target 0 lun 0
pass1: TSSTcorp DVD+-RW TS-U633A D200 Removable CD-ROM SCSI-0 device 
pass1: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
SMP: AP CPU #1 Launched!
cpu1 AP:
 ID: 0x0100   VER: 0x00050014 LDR: 0x DFR: 0x
  lint0: 0x00010700 lint1: 0x0400 TPR: 0x SVR: 0x01ff
  timer: 0x000100ef therm: 0x0001 err: 0x00f0 pmc: 0x00010400
   cmci: 0x
CPU1: local APIC error 0x80
ooapic0: routing intpin 1 (ISA IRQ 1) to lapic 1 vector 48f
 wtable ciloeaapniecr0 :s troaurttiendg
 intpin 12 (ISA IRQ 12) to lapic 1 vector 49
ioapic0: routing intpin 15 (ISA IRQ 15) to lapic 1 vector 50
ioapic0: routing intpin 19 (PCI IRQ 19) to lapic 1 vector 51
ioapic0: routing intpin 22 (PCI IRQ 22) to lapic 1 vector 52
msi: Assigning MSI IRQ 257 to local APIC 1 vector 53
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
uhub3: 6 ports with 6 removable, self powered
uhub7: 6 ports with 6 removable, self powered
ugen2.2: Broadcom Corp at usbus2
  hang for a while -- keybaord mostly unresponsive
battery1: battery initialization failed, giving up
  hang continues; I enter Ctl+Atl+Esc
KDB: enter: manual escape to debugger
[ thread pid 12 tid 100017 ]
Stopped at 0xc08d992a = kdb_enter+0x3a:movl$0,0xc0e33574 = kdb_why
db show locks
exclusive sleep mutex Giant (Giant) r = 1 (0xc0e21950) locked @ 
/usr/src/sys/dev/syscons/syscons.c:673
db bt 1
Tracing pid 1 tid 12 td 0xc91d6b40
sched_switch(c91d6b40,0,104,191,a4bfdaac,...) at 0xc08cccec = sched_switch+0x3bc
mi_switch(104,0,c0cccb89,1f3,68,...) at 0xc08af3a0 = mi_switch+0x200
sleepq_switch(c91d6b40,0,c0cccb89,28b,0,...) at 0xc08e4b7b = sleepq_switch+0x15f
sleepq_timedwait(c0e1fc24,69,c0cbe3e4,0,0,...) at 0xc08e4b7b = 
sleepq_timedwait+0x6b
_sleep(c0e1fc24,c0e1fc28,68,c0cbe3e4,c8,...) at 0xc08af892 = _sleep+0x342

dmesg mangled by acd0 probe

2010-10-03 Thread Steve Kargl
I suspect that 517 ( are not expected during boot.


acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 
(((cd0
 at ata0 bus 0 scbus1 target 0 lun 0
cd0: SONY CDRWDVD CRX880A KD09 Removable CD-ROM SCSI-0 device 
cd0: 33.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
SMP: AP CPU #1 Launched!
Root mount waiting for: usbus6 usbus2


-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: dmesg mangled by acd0 probe

2010-10-03 Thread Matthew Fleming
On Sun, Oct 3, 2010 at 7:16 PM, Steve Kargl
s...@troutmask.apl.washington.edu wrote:
 I suspect that 517 ( are not expected during boot.


 acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00
 (((cd0
  at ata0 bus 0 scbus1 target 0 lun 0
 cd0: SONY CDRWDVD CRX880A KD09 Removable CD-ROM SCSI-0 device

Does this always happen with acd0?  There was another instance I think
mav@ saw for a different driver that showed up when I made the sbuf
drain additions.  I can't think of how my code could cause that, but
there's always a possibility.

Thanks,
matthew

 cd0: 33.000MB/s transfers
 cd0: Attempt to query device size failed: NOT READY, Medium not present
 SMP: AP CPU #1 Launched!
 Root mount waiting for: usbus6 usbus2


 --
 Steve
 ___
 freebsd-current@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-current
 To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: dmesg mangled by acd0 probe

2010-10-03 Thread Steve Kargl
On Sun, Oct 03, 2010 at 08:05:49PM -0700, Matthew Fleming wrote:
 On Sun, Oct 3, 2010 at 7:16 PM, Steve Kargl
 s...@troutmask.apl.washington.edu wrote:
  I suspect that 517 ( are not expected during boot.
 
 
  acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00

(517 '(' deleted)

  cd0 at ata0 bus 0 scbus1 target 0 lun 0
  cd0: SONY CDRWDVD CRX880A KD09 Removable CD-ROM SCSI-0 device
 
 Does this always happen with acd0?  There was another instance I think
 mav@ saw for a different driver that showed up when I made the sbuf
 drain additions.  I can't think of how my code could cause that, but
 there's always a possibility.

This is first time I spotted this output.  My /usr/src and kernel/world
are from Oct 1, roughly 2000 PST.  Looking through /var/log/message, the
string of '(' show up after the acd0 probes and once here:

Oct  2 15:58:30 laptop kernel: drm0: [ITHREAD]
Oct  2 15:59:24 laptop kernel: 
(((g_vfs_done():da1s1[WRITE(offset=512,
 length=4096)]error = 13
Oct  2 15:59:24 laptop kernel: 
(((g_vfs_done():da1s1[WRITE(offset=512,
 length=4096)]error = 13


I don't know if it matters, but for this kernel I have the following 
commented out

#optionsINVARIANTS
#optionsINVARIANT_SUPPORT
#optionsWITNESS 
#optionsWITNESS_SKIPSPIN

Is there a kernel option or patch you want me to use to get additional 
information?

-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: dmesg mangled by acd0 probe

2010-10-03 Thread Steve Kargl
On Sun, Oct 03, 2010 at 08:05:49PM -0700, Matthew Fleming wrote:
 
 Does this always happen with acd0?

The long string of '(' appeared in 5 out of 5 
'shutdown -r now'.  So, this is definitely 
reproducible for me.

-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


fcntl always fails to delete lock file, and PID is always -6464

2010-10-03 Thread Daichi GOTO
It looks very strange. fcntl() always fails to delete lock file
and command.l_pid is always -6464. This issue is disclosed in 
porting Google's Japanese input system called mozc.

  details follow:
http://code.google.com/p/mozc/issues/detail?id=40

% uname -a
FreeBSD parancell.ongs.co.jp 9.0-CURRENT FreeBSD 9.0-CURRENT #6 r213257: Thu 
Sep 30 10:30:06 JST 2010 
r...@parancell.ongs.co.jp:/usr/obj/usr/src/sys/PARANCELL  amd64
% 

My home directory on NFS server.  Does anyone have any ideas?

-- 
Daichi GOTO
CEO | ONGS Inc.
81-42-316-7945 | dai...@ongs.co.jp | http://www.ongs.co.jp
LinkedIn: http://linkedin.com/in/daichigoto
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: dmesg mangled by acd0 probe

2010-10-03 Thread Alexander Motin
Matthew Fleming wrote:
 On Sun, Oct 3, 2010 at 7:16 PM, Steve Kargl
 s...@troutmask.apl.washington.edu wrote:
 I suspect that 517 ( are not expected during boot.


 acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00
 (((cd0
  at ata0 bus 0 scbus1 target 0 lun 0
 cd0: SONY CDRWDVD CRX880A KD09 Removable CD-ROM SCSI-0 device
 
 Does this always happen with acd0?  There was another instance I think
 mav@ saw for a different driver that showed up when I made the sbuf
 drain additions.  I can't think of how my code could cause that, but
 there's always a possibility.

I indeed saw that thing. But it gone after few days. AFAIR kib@ fixed
missing ++ somewhere there, but I haven't checked especially.

-- 
Alexander Motin
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org