[cfe-dev] Illegal instruction problem

Philip Ashmore contact at philipashmore.com
Sun Nov 27 18:02:15 PST 2011


Hi there.

I've just committed new versions of some of my packages in SourceForge:

v3c-2.2.0-01
treedb-1.2.0-02
meta-treedb-1.3.0-03

I've got a problem with the release build (which uses -03 optimisation) 
of treedb.

The "fuse" tests fail with an illegal instruction fault.

This is with llvm/clang 2.9.svn-r145196.

They work fine with the debug build (-O0 optimisation).

Debug and release builds test fine with gcc.

I made a lot of changes to get this to even compile with clang, as it's 
more picky,
and this process helped me clean up warnings and even find the odd bug.

I know you'd prefer if I provided stand-alone code to demonstrate the 
problem, but
building and installing v3c (which treedb needs) with treedb in a 
"sandbox" takes
about 5 minutes on a modern machine, and that includes the time to 
download them
from SourceForge.

The problem is reproducible.
"$" denotes the command prompt for typing commands

STEPS:

1. install fuse-dev
    The fuse tests need fuse-dev installed or they will be skipped.
2. download and unpack v3c and treedb from SourceForge.
3. type

    $ v3c_default_build_mode=release bash v3c/v3c-tryout treedb-1.2.0-02 
tryout

    from the directory that contains the v3c and treedb directories.

4. When it's done type

    $ tryout/enter-env

    which will take you into a shell with the environment set up to play 
around.
    You'll notice that the command prompt changes to remind you you're 
in a sandbox.

5. Then type

    $ cd treedb-1.2.0-02; make release check

and after a minute or two you'll get to the error.

Regards,
Philip Ashmore




More information about the cfe-dev mailing list