From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Linas Vepstas <linas@austin.ibm.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Bad gcc-4.1.0 leads to Power4 crashes... and power5 too, actually
Date: Wed, 20 Dec 2006 11:53:04 +1100 [thread overview]
Message-ID: <1166575984.19254.101.camel@localhost.localdomain> (raw)
In-Reply-To: <20061220004653.GL5506@austin.ibm.com>
On Tue, 2006-12-19 at 18:46 -0600, Linas Vepstas wrote:
> Hi Ben,
>
> Per xchat, here's the update. I'm guessing I'm using a broken
> compiler, as per chain of evidence below ...
>
> I noticed that linux-2.6.20-rc1-git6 crashes on power4
> in SMP mode:
Have you tried a different gcc to confirm ?
Ben.
> [ 0.000000] [boot]0020 XICS Init
> [ 0.000000] i8259 legacy interrupt controller initialized
> [ 0.000000] [boot]0021 XICS Done
> [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
> cpu 0x0: Vector: 700 (Program Check) at [c0000000007a3980]
> pc: c00000000007d574: .debug_mutex_unlock+0x5c/0x118
> lr: c000000000468068: .__mutex_unlock_slowpath+0x104/0x198
> sp: c0000000007a3c00
> msr: 9000000000029032
> current = 0xc000000000663690
> paca = 0xc000000000663f80
> pid = 0, comm = swapper
> enter ? for help
> [c0000000007a3c80] c000000000468068 .__mutex_unlock_slowpath+0x104/0x198
> [c0000000007a3d20] c000000000231da8 .double_unlock_mutex+0x3c/0x58
> [c0000000007a3db0] c00000000023b47c .dotest+0x5c/0x370
> [c0000000007a3e50] c00000000023bc0c .locking_selftest+0x47c/0x17fc
> [c0000000007a3ef0] c0000000005f06ec .start_kernel+0x1e4/0x344
> [c0000000007a3f90] c0000000000084c8 .start_here_common+0x54/0x8c
> 0:mon>
>
>
> However, I also note that the following scrolled by:
> init/main.c:81:2: warning: #warning gcc-4.1.0 is known to miscompile the
> kernel. A different compiler version is recommended.
>
> and I have not yet tried a different gcc
>
> Strangely, linux-2.6.19-git7 crashed with
>
> [ 0.000000] [boot]0020 XICS Init
> [ 0.000000] i8259 legacy interrupt controller initialized
> [ 0.000000] [boot]0021 XICS Done
> [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
> System assert at: file: rtas_io_config.c -- line: 195
> rio_hub_num: 10
> drawer_num: 6
> phb_num: 3
> buid: 7
>
> which is suspiciously in a similar place. So I am guessing
> that it is indeed a compiler problem, the compiler passing
> subroutine arguments in some broken way, or something.
>
> Hmm. seems that linux-2.6.20-rc1-git6 on power5 gives me
>
> [23178.532001] A-B-B-C-C-A deadlock:failed|failed| ok
> |failed|fa|[23178.532028] A-B-C-A-B-C
> deadlock:failed|failed| ok |failed|fa|[23178.532054]
> A-B-B-C-C-D-D-A deadlock:failed|failed| ok |failed|fa|[23178.532083]
> A-B-C-D-B-D-D-A deadlock:failed|failed| ok |failed|fa|[23178.532111]
> A-B-C-D-B-C-D-A deadlock:failed|failed| ok |failed|fa|[23178.532139]
> double unlock: ok | ok |failed|<0>-------[23178.532171] Kernel BUG
> at c00000000007d574 [verbose debug info unavailable]
> cpu 0x0: Vector: 700 (Program Check) at [c0000000007a3980]
> pc: c00000000007d574: .debug_mutex_unlock+0x5c/0x118
> lr: c000000000468068: .__mutex_unlock_slowpath+0x104/0x198
> sp: c0000000007a3c00
> msr: 8000000000029032
> current = 0xc000000000663690
> paca = 0xc000000000663f80
> pid = 0, comm = swapper
> enter ? for help
> [c0000000007a3c80] c000000000468068 .__mutex_unlock_slowpath+0x104/0x198
> [c0000000007a3d20] c000000000231da8 .double_unlock_mutex+0x3c/0x58
> [c0000000007a3db0] c00000000023b47c .dotest+0x5c/0x370
> [c0000000007a3e50] c00000000023bc0c .locking_selftest+0x47c/0x17fc
> [c0000000007a3ef0] c0000000005f06ec .start_kernel+0x1e4/0x344
> [c0000000007a3f90] c0000000000084c8 .start_here_common+0x54/0x8c
>
> although linux-2.6.19-git7 worked fine for weeks.
>
> At any rate, the warning: #warning gcc-4.1.0 should be converted
> to a flat-out error.
>
> --linas
>
>
>
next prev parent reply other threads:[~2006-12-20 0:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-20 0:46 Bad gcc-4.1.0 leads to Power4 crashes... and power5 too, actually Linas Vepstas
2006-12-20 0:53 ` Benjamin Herrenschmidt [this message]
2006-12-20 1:02 ` Linas Vepstas
2006-12-20 1:46 ` Peter Bergner
2006-12-20 21:19 ` Linas Vepstas
2006-12-20 21:28 ` Benjamin Herrenschmidt
2006-12-20 23:03 ` Mutex debug lock failure [was " Linas Vepstas
2006-12-20 23:03 ` Linas Vepstas
2006-12-20 23:09 ` Benjamin Herrenschmidt
2006-12-20 23:09 ` Benjamin Herrenschmidt
2006-12-20 23:46 ` Linas Vepstas
2006-12-20 23:46 ` Linas Vepstas
2006-12-21 0:36 ` Anton Blanchard
2006-12-21 0:36 ` Anton Blanchard
2006-12-21 1:03 ` Linas Vepstas
2006-12-21 1:03 ` Linas Vepstas
2006-12-21 14:41 ` Ingo Molnar
2006-12-21 14:41 ` Ingo Molnar
2006-12-21 21:12 ` Linas Vepstas
2006-12-21 21:12 ` Linas Vepstas
2006-12-23 6:28 ` Alan Modra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1166575984.19254.101.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=linas@austin.ibm.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.