[llvm-testresults] buildbot failure in smooshlab on llvm-gcc-x86_64-darwin10-selfhost

daniel_dunbar at apple.com daniel_dunbar at apple.com
Thu Apr 22 18:27:59 PDT 2010


The Buildbot has detected a new failure of llvm-gcc-x86_64-darwin10-selfhost on smooshlab.
Full details are available at:
 http://smooshlab.apple.com:8010/builders/llvm-gcc-x86_64-darwin10-selfhost/builds/3218

Buildbot URL: http://smooshlab.apple.com:8010/

Buildslave for this Build: smoosh-04

Build Reason: 
Build Source Stamp: 102148
Blamelist: dgregor,void

BUILD FAILED: failed compile-llvm-stage2

sincerely,
 -The Buildbot


================================================================================

CHANGES:
Files:
 lib/Sema/TreeTransform.h
 test/SemaObjCXX/instantiate-stmt.mm
At: Thu 22 Apr 2010 17:05:00
Changed By: dgregor
Comments: Template instantiation for @try and @finally (but not @catch, yet).
Properties: 




File: gcc/llvm-convert.cpp
At: Thu 22 Apr 2010 17:05:00
Changed By: void
Comments: A fix for a nasty bug (<rdar://problem/7885482>). Here's what's happening:

Consider this pseudo-ObjC code:

      // locking using some "lock" variable
      @try {
        // ...
      } @catch (...) {
        // ...
        @throw;
      } @finally {
        // unlocking using the "lock" variable
      }

The "lock" variable has live intervals from the top of the function through the
@try block and in the @finally block. On 32-bit x86, it doesn't have a live
interval in the @catch block. This is because in 32-bit mode Objective-C uses
setjmp/longjmp for exception handling and not the invoke/DWARF method.  The
@throw is implemented as an "objc_exception_throw" call marked with
NORETURN. The upshot is that if the "lock" variable is placed into a stack slot,
there won't be an indication that the "lock" can be used after the
"objc_exception_throw" executes. With the invoke/DWARF method, the unwind edge
of the invoke points to the @finally block, so the "lock" variable will have a
live interval leading to there.

The solution is to have the "objc_exception_throw" behave in a similar manner to
the invoke/DWARF method. That is remove the "NORETURN" attribute, allowing it to
have an edge from the call to the @finally block.
Properties: 




LOGS:
Last 10 lines of 'stdio':
		        then /bin/mv -f "/Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/Target/MBlaze/TargetInfo/Release/MBlazeTargetInfo.d.tmp" "/Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/Target/MBlaze/TargetInfo/Release/MBlazeTargetInfo.d"; else /bin/rm "/Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/Target/MBlaze/TargetInfo/Release/MBlazeTargetInfo.d.tmp"; exit 1; fi
	llvm[4]: Building Release Archive Library libLLVMMBlazeInfo.a
	/bin/rm -f /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMMBlazeInfo.a
	ar cru /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMMBlazeInfo.a /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/Target/MBlaze/TargetInfo/Release/MBlazeTargetInfo.o
	ranlib /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMMBlazeInfo.a
	llvm[2]: Building Release Archive Library libLLVMCodeGen.a
	/bin/rm -f /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMCodeGen.a
	ar cru /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMCodeGen.a /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/AggressiveAntiDepBreaker.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/Analysis.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/BranchFolding.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/CalcSpillWeights.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/CodePlacementOpt.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/CriticalAntiDepBreaker.o /Users/buildslav
 e/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/DeadMachineInstructionElim.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/DwarfEHPrepare.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ELFCodeEmitter.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ELFWriter.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ExactHazardRecognizer.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/GCMetadata.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/GCMetadataPrinter.o /Users/buildslave/zorg/buildbot/s
 mooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/GCStrategy.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/IfConversion.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/IntrinsicLowering.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LLVMTargetMachine.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LatencyPriorityQueue.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LiveInterval.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LiveIntervalAnalysis.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build
 .llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LiveStackAnalysis.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LiveVariables.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/LowerSubregs.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineBasicBlock.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineCSE.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineDominators.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineFunction.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-s
 elfhost/llvm-stage2/lib/CodeGen/Release/MachineFunctionAnalysis.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineFunctionPass.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineFunctionPrinterPass.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineInstr.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineLICM.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineLoopInfo.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineModuleInfo.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfho
 st/llvm-stage2/lib/CodeGen/Release/MachineModuleInfoImpls.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachinePassRegistry.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineRegisterInfo.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineSSAUpdater.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineSink.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/MachineVerifier.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ObjectCodeEmitter.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-
 stage2/lib/CodeGen/Release/OcamlGC.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/OptimizeExts.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/OptimizePHIs.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/PHIElimination.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/Passes.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/PostRASchedulerList.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/PreAllocSplitting.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ProcessImplici
 tDefs.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/PrologEpilogInserter.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/PseudoSourceValue.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegAllocFast.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegAllocLinearScan.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegAllocLocal.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegAllocPBQP.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegisterCoalescer.o /Users/buil
 dslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/RegisterScavenging.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ScheduleDAG.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ScheduleDAGEmit.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ScheduleDAGInstrs.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ScheduleDAGPrinter.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ShadowStackGC.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/ShrinkWrapping.o /Users/buildslave/zorg/buildbot/s
 mooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/SimpleRegisterCoalescing.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/SjLjEHPrepare.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/SlotIndexes.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/Spiller.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/StackProtector.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/StackSlotColoring.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/StrongPHIElimination.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.l
 lvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/TailDuplication.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/TargetInstrInfoImpl.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/TargetLoweringObjectFileImpl.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/TwoAddressInstructionPass.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/UnreachableBlockElim.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/VirtRegMap.o /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/lib/CodeGen/Release/VirtRegRewriter.o
	ranlib /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-x86_64-darwin10-selfhost/llvm-stage2/Release/lib/libLLVMCodeGen.a
	make: *** [all] Error 1




More information about the llvm-testresults mailing list