Unreproducible ICEs on Cortex A15

Bug #1116769 reported by dann frazier
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
Won't Fix
Undecided
James M. Leddy
Raring
Won't Fix
Undecided
James M. Leddy
gcc-4.7 (Ubuntu)
Invalid
Undecided
Brian Murray

Bug Description

Any significantly large build (mysql-5.5, the kernel) using gcc-4.7 will eventually fail due to an unreproducible ICE.

    [ 6%] Building C object strings/CMakeFiles/strings.dir/ctype-uca.c.o
    /tmp/buildd/mysql-5.5-5.5.29/strings/ctype-uca.c: In function 'create_tailoring':
    /tmp/buildd/mysql-5.5-5.5.29/strings/ctype-uca.c:8070:1: internal compiler error: Segmentation fault
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
    The bug is not reproducible, so it is likely a hardware or OS problem.

As the error message states, this is usually due to an OS or hardware defect and I have no hard evidence to the contrary. However, there is some evidence that points away from the hardware/OS.

1) The issue seems specific to gcc-4.7
PASS: gcc-4.6 (4.6.3-10ubuntu1)
FAILS: gcc-4.7 (4.7.2-2ubuntu1)
FAILS: gcc-4.7 (4.7.2-20ubuntu1)
PASS: gcc-snapshot (20130121-0ubuntu1)
2) There are no other signs of instability - gcc-4.7 is the only thing we see fail

On the other hand, this has only been seen on the unsupported exynos5-based arndale platform, so it could be a platform bug that only gcc-4.7 happens to tickle. If we can demonstrate this, we could reassign this bug to the arndale support project (http://launchpad.net/arndale) and ask for some linaro assistance. I could use some gcc-debugging help to make progress on that - e.g., tips on getting a debuggable coredump.

Changed in oem-priority:
assignee: nobody → James M. Leddy (jm-leddy)
tags: added: rls-r-incoming
Changed in gcc-4.7 (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
Revision history for this message
James M. Leddy (jm-leddy) wrote :
Revision history for this message
Adam Conrad (adconrad) wrote :

What kernel is this? Since we don't actually ship any A15 kernels in the archive, I assume this is a custom deal?

Revision history for this message
Adam Conrad (adconrad) wrote :

Also, is this a default ubuntu armhf toolchain being called with default options, or are you using a different -march/cpu/tune?

Revision history for this message
James M. Leddy (jm-leddy) wrote :

Hi Dann,

What are the specific reproduction steps? For example, are you re-compiling mysql from source, or using debuild on the ubuntu specific branch?

Also, to get a core on ubuntu you can follow these steps:

$ sudo sysctl -w kernel.core_pattern=core
$ ulimit -c unlimited
$ gcc...

Please include a build log as well.

Changed in oem-priority:
status: New → Incomplete
Revision history for this message
dann frazier (dannf) wrote : Re: [Bug 1116769] Re: Unreproducible ICEs on Cortex A15

On Wed, Feb 06, 2013 at 08:36:54PM -0000, Adam Conrad wrote:
> What kernel is this? Since we don't actually ship any A15 kernels in
> the archive, I assume this is a custom deal?

The kernel is available in this PPA:
  https://launchpad.net/~arndale-team/+archive/ppa

git tree is here:
  http://kernel.ubuntu.com/git?p=hwe/ubuntu-quantal-arndale.git;a=summary

Revision history for this message
dann frazier (dannf) wrote :

On Wed, Feb 06, 2013 at 08:40:17PM -0000, Adam Conrad wrote:
> Also, is this a default ubuntu armhf toolchain being called with default
> options, or are you using a different -march/cpu/tune?

All defaults.

Revision history for this message
dann frazier (dannf) wrote :

On Wed, Feb 06, 2013 at 08:51:50PM -0000, James M. Leddy wrote:
> Hi Dann,
>
> What are the specific reproduction steps? For example, are you re-
> compiling mysql from source, or using debuild on the ubuntu specific
> branch?

Just rebuilding the package, e.g.:

  sudo apt-get build-dep mysql-5.5
  apt-get source -b mysql-5.5

> Also, to get a core on ubuntu you can follow these steps:
>
> $ sudo sysctl -w kernel.core_pattern=core
> $ ulimit -c unlimited
> $ gcc...

Yeah, tried that - and it wasn't working for me. I wondered if gcc was
doing something to block this, but I didn't investigate further.

> Please include a build log as well.

Will do.

Revision history for this message
dann frazier (dannf) wrote :
dann frazier (dannf)
Changed in oem-priority:
status: Incomplete → New
Revision history for this message
dann frazier (dannf) wrote :

Here's a reduced reproducer:

ubuntu@s5:~$ while /usr/lib/gcc/arm-linux-gnueabihf/4.7/cc1 repro.c -quiet -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -fPIC --param ssp-buffer-size=4 -o - > /dev/null; do echo -n .; done
/home/ubuntu/mysql/mysql-5.5-5.5.29/strings/dtoa.c: In function ‘my_gcvt’:
/home/ubuntu/mysql/mysql-5.5-5.5.29/strings/dtoa.c:441:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.

I started with the original compilation command (see below), created a preprocessed file using -E, then removed various flags after verifying I could still reproduce with them omitted.

// /usr/lib/gcc/arm-linux-gnueabihf/4.7/cc1 -quiet -I /home/ubuntu/mysql/mysql-5.5-5.5.29/builddir/include -I /home/ubuntu/mysql/mysql-5.5-5.5.29/include -imultilib . -imultiarch arm-linux-gnueabihf -D _FORTIFY_SOURCE=2 -D DBUG_OFF -D HAVE_CONFIG_H -D DISABLE_MYSQL_THREAD_H -D BIG_JOINS=1 /home/ubuntu/mysql/mysql-5.5-5.5.29/strings/dtoa.c -quiet -dumpbase dtoa.c -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -auxbase-strip CMakeFiles/strings.dir/dtoa.c.o -O2 -Wformat -Wformat-security -Werror=format-security -Wall -fstack-protector -fno-strict-aliasing -fPIC --param ssp-buffer-size=4 -fstack-protector -o - -frandom-seed=0

Revision history for this message
Matthias Klose (doko) wrote :

the preprocessed source works for me

Revision history for this message
James M. Leddy (jm-leddy) wrote :

Hi Dann,

Thanks for the reduced test case. I'm sure it will make diagnosing and potentially bisecting a lot easier.

Revision history for this message
Manoj Iyer (manjo) wrote :

I was able to re-create the bug with this testcase. ICE happens with 4.7 compiler and not with 4.6.

gcc -O5 -c ./job.i
./tools/src/make-3.82/job.c: In function ‘construct_command_argv_internal.isra.1’:
./tools/src/make-3.82/job.c:3073:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.

Revision history for this message
Matthias Klose (doko) wrote :

Am 14.02.2013 21:34, schrieb Manoj Iyer:
> I was able to re-create the bug with this testcase. ICE happens with 4.7
> compiler and not with 4.6.

no, you are not:

> gcc -O5 -c ./job.i
> ./tools/src/make-3.82/job.c: In function ‘construct_command_argv_internal.isra.1’:
> ./tools/src/make-3.82/job.c:3073:1: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
> The bug is not reproducible, so it is likely a hardware or OS problem.

"The bug is not reproducible, so it is likely a hardware or OS problem".

means, that the issue wasn't reproducible in a second run.

Changed in oem-priority:
status: New → In Progress
Changed in gcc-4.7 (Ubuntu):
status: New → Triaged
Revision history for this message
James M. Leddy (jm-leddy) wrote :

I'm taking this out of the OEM queue for now. Please reopen if you want help with this bug.

Changed in oem-priority:
status: In Progress → Won't Fix
Changed in gcc-4.7 (Ubuntu):
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.