Bug#697274: clang: Segfault when building Evolution 3.4.4

Paul Menzel pm.debian at googlemail.com
Thu Jan 3 13:34:32 UTC 2013


Package: clang
Version: 3.1-8
Severity: important
Tags: upstream fixed-upstream
Control: fixed -1 3.2-1~exp1

Dear Debian folks,


trying to build Evolution 3.4.4-1 from the Debian repository fails with
a segmentation fault.

        $ CC=clang ./autogen.sh
        […]
        $ make
        […]
          CC     libcomposer_la-e-composer-header-table.lo
        0  libLLVM-3.1.so.1 0x40ce2ac8
        1  libLLVM-3.1.so.1 0x40ce2fe4
        2                   0xffffe400  + 0
        3  libLLVM-3.1.so.1 0x404778c6 llvm::ScalarEvolution::computeLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 326
        4  libLLVM-3.1.so.1 0x4047757c llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 396
        5  libLLVM-3.1.so.1 0x4047776b llvm::ScalarEvolution::isLoopInvariant(llvm::SCEV const*, llvm::Loop const*) + 43
        6  libLLVM-3.1.so.1 0x4047798d llvm::ScalarEvolution::computeLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 525
        7  libLLVM-3.1.so.1 0x4047757c llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 396
        8  libLLVM-3.1.so.1 0x4047776b llvm::ScalarEvolution::isLoopInvariant(llvm::SCEV const*, llvm::Loop const*) + 43
        9  libLLVM-3.1.so.1 0x4047798d llvm::ScalarEvolution::computeLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 525
        10 libLLVM-3.1.so.1 0x4047757c llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*) + 396
        11 libLLVM-3.1.so.1 0x4047776b llvm::ScalarEvolution::isLoopInvariant(llvm::SCEV const*, llvm::Loop const*) + 43
        12 libLLVM-3.1.so.1 0x40481644 llvm::ScalarEvolution::getAddExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::SCEV::NoWrapFlags) + 1748
        13 libLLVM-3.1.so.1 0x40496a53
        14 libLLVM-3.1.so.1 0x4048a865 llvm::ScalarEvolution::createNodeForGEP(llvm::GEPOperator*) + 741
        15 libLLVM-3.1.so.1 0x4047ada5 llvm::ScalarEvolution::createSCEV(llvm::Value*) + 1477
        16 libLLVM-3.1.so.1 0x4047c0b3 llvm::ScalarEvolution::getSCEV(llvm::Value*) + 211
        17 libLLVM-3.1.so.1 0x403dc4c4 llvm::IVUsers::AddUsersImpl(llvm::Instruction*, llvm::SmallPtrSet<llvm::Loop*, 16u>&) + 260
        18 libLLVM-3.1.so.1 0x403dca6d llvm::IVUsers::AddUsersImpl(llvm::Instruction*, llvm::SmallPtrSet<llvm::Loop*, 16u>&) + 1709
        19 libLLVM-3.1.so.1 0x403dcc08 llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 232
        20 libLLVM-3.1.so.1 0x403dcd8c llvm::IVUsers::runOnLoop(llvm::Loop*, llvm::LPPassManager&) + 348
        21 libLLVM-3.1.so.1 0x4041a1fe llvm::LPPassManager::runOnFunction(llvm::Function&) + 1214
        22 libLLVM-3.1.so.1 0x407a813b llvm::FPPassManager::runOnFunction(llvm::Function&) + 619
        23 libLLVM-3.1.so.1 0x407a819c llvm::FPPassManager::runOnModule(llvm::Module&) + 76
        24 libLLVM-3.1.so.1 0x407a7d94 llvm::MPPassManager::runOnModule(llvm::Module&) + 500
        25 libLLVM-3.1.so.1 0x407a7e78 llvm::PassManagerImpl::run(llvm::Module&) + 120
        26 libLLVM-3.1.so.1 0x407a7ec6 llvm::PassManager::run(llvm::Module&) + 38
        27 clang            0x08316243 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 2019
        28 clang            0x08314100
        29 clang            0x0845e5f0 clang::ParseAST(clang::Sema&, bool, bool) + 496
        30 clang            0x081f4c17 clang::ASTFrontendAction::ExecuteAction() + 119
        31 clang            0x083138a1 clang::CodeGenAction::ExecuteAction() + 33
        32 clang            0x081f5448 clang::FrontendAction::Execute() + 136
        33 clang            0x081d9680 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 272
        34 clang            0x081c1528 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1064
        35 clang            0x081bab64 cc1_main(char const**, char const**, char const*, void*) + 6548
        36 clang            0x081b6d10 main + 640
        37 libc.so.6        0x41514e46 __libc_start_main + 230
        38 clang            0x081b9091
        Stack dump:
        0.	Program arguments: /usr/bin/clang -cc1 -triple i386-pc-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name e-composer-header-table.c -pic-level 2 -relaxed-aliasing -masm-verbose -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.22 -momit-leaf-frame-pointer -g -coverage-file .libs/libcomposer_la-e-composer-header-table.o -resource-dir /usr/bin/../lib/clang/3.1 -dependency-file .deps/libcomposer_la-e-composer-header-table.Tpo -sys-header-deps -MP -MT libcomposer_la-e-composer-header-table.lo -D HAVE_CONFIG_H -D EDS_DISABLE_DEPRECATED -D E_BOOK_DISABLE_DEPRECATED -D E_CAL_DISABLE_DEPRECATED -D EVOLUTION_DATADIR="/usr/local/share" -D EVOLUTION_IMAGESDIR="/usr/local/share/evolution/3.4/images" -D EVOLUTION_UIDIR="/usr/local/share/evolution/3.4/ui" -D PREFIX="/usr/local" -D G_LOG_DOMAIN="composer" -D PIC -I . -I .. -I .. -I .. -I ../composer -I ../widgets -I ../widgets -I ../widgets/misc -I ../widgets/misc -I ../shell -I ../shell -I /usr/include/nss -I /usr/include/nspr -I /usr/include/glib-2.0 -I /usr/lib/i386-linux-gnu/glib-2.0/include -I /usr/include/libxml2 -I /usr/include/gconf/2 -I /usr/include/libsoup-2.4 -I /usr/include/dbus-1.0 -I /usr/lib/i386-linux-gnu/dbus-1.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gio-unix-2.0/ -I /usr/include/atk-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/freetype2 -I /usr/include/pixman-1 -I /usr/include/libpng12 -I /usr/include/evolution-data-server-3.4 -I /usr/include/glib-2.0 -I /usr/lib/i386-linux-gnu/glib-2.0/include -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/freetype2 -I /usr/include/libpng12 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gio-unix-2.0/ -I /usr/include/atk-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gail-3.0 -I /usr/include/gconf/2 -I /usr/include/dbus-1.0 -I /usr/lib/i386-linux-gnu/dbus-1.0/include -I /usr/include/libxml2 -I /usr/include/gnome-desktop-3.0 -I /usr/include/gsettings-desktop-schemas -I /usr/include/gtk-3.0 -I /usr/include/cairo -I /usr/include/pango-1.0 -I /usr/include/gio-unix-2.0/ -I /usr/include/atk-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib/i386-linux-gnu/glib-2.0/include -I /usr/include/pixman-1 -I /usr/include/libpng12 -I /usr/include/libgtkhtml-4.0 -I /usr/include/enchant -I /usr/include/libgtkhtml-4.0/editor -I /usr/include/gsettings-desktop-schemas -fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.1/include -internal-isystem /usr/include/clang/3.1/include/ -internal-externc-isystem  -internal-externc-isystem /usr/include/i386-linux-gnu -internal-externc-isystem /usr/include/i486-linux-gnu -internal-externc-isystem /usr/include -O2 -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wno-deprecated-declarations -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fconst-strings -fdebug-compilation-dir /home/joey/src/evolution/composer -ferror-limit 19 -fmessage-length 140 -pthread -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -fcolor-diagnostics -o .libs/libcomposer_la-e-composer-header-table.o -x c e-composer-header-table.c 
        1.	<eof> parser at end of file
        2.	Code generation
        3.	Running pass 'Function Pass Manager' on module 'e-composer-header-table.c'.
        4.	Running pass 'Loop Pass Manager' on function '@e_composer_header_table_get_destinations'
        5.	Running pass 'Induction Variable Users' on basic block '%23'
        clang: error: unable to execute command: Segmentation fault (core dumped)
        clang: error: clang frontend command failed due to signal (use -v to see invocation)
        clang: note: diagnostic msg: Please submit a bug report to http://llvm.org/bugs/ and include command line arguments and all diagnostic information.
        clang: note: diagnostic msg: Preprocessed source(s) and associated run script(s) are located at:
        clang: note: diagnostic msg: /tmp/e-composer-header-table-HBvyh6.i
        clang: note: diagnostic msg: /tmp/e-composer-header-table-HBvyh6.sh
        […]

Stupid me did not save these two files though. :( `clang-3.2` from
Debian experimental does not have this issue and Evolution builds fine.

I did not report a bug upstream as in another report [1] they wrote to
use Clang 3.2 as a lot of problems were fixed there.


Thanks,

Paul


[1] http://llvm.org/bugs/show_bug.cgi?id=13473

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20130102--clang-3.1.segfault.log
Type: text/x-log
Size: 34495 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20130103/af15321f/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20130103/af15321f/attachment-0001.pgp>


More information about the Pkg-llvm-team mailing list