[LLVMbugs] [Bug 1656] New: Failed to run Datastructure analysis(dsa-local) on Linux kernel file

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Sep 13 21:14:04 PDT 2007


           Summary: Failed to run Datastructure analysis(dsa-local) on Linux
                    kernel file
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: hehaifeng2nd at gmail.com
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=1119)
 --> (http://llvm.org/bugs/attachment.cgi?id=1119)
the source file of the bytecode is linux-2.4.31/fs/open.c

I tried to run Datastructure analysis on Linux kernel(version 2.4.31) but
failed. Here is the error I was able to track down:

LLVM used version: 2.0

Library used: poolalloc  Revision 41951

Command: opt -load PATH/LLVMDataStructure -dsa-local open.o

Error Message:
opt: TargetData.cpp:86: unsigned int
llvm::StructLayout::getElementContainingOffset(uint64_t) const: Assertion `(SI
== &MemberOffsets[0] || *(SI-1) < Offset) && (SI+1 ==
&MemberOffsets[NumElements] || *(SI+1) > Offset) && "Upper bound didn't work!"'

long long) const+0x17a)[0x84ac84c]
const*, unsigned int, bool)+0xc3a)[0xf7f42de2]


The assertion in StructLayout::getElementContainingOffset failed when
DSNode::mergeTypeInfo tried to merge DSNode types.

This happened when visitLoadInst:Local.cpp method was processing
instruction %tmp130 = load i32* %tmp129             ; <i32> [#uses=1]
in function get_unused_fd.

It seems some C structure in the code violated the assumption made in llvm but
I am not sure exactly what was happening.

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list