[LLVMbugs] [Bug 6302] New: static analyzer crashes on dereference to objc_object struct

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Feb 14 19:28:52 PST 2010


http://llvm.org/bugs/show_bug.cgi?id=6302

           Summary: static analyzer crashes on dereference to objc_object
                    struct
           Product: new-bugs
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: llvm at gentlyusedunderwear.com
                CC: llvmbugs at cs.uiuc.edu


The following line crashes during analyzing on clang version 1.1 (trunk 96203)

[redExplanationText cell]->isa = [UIAlignBottomTextFieldCell class];

clang compiles the code, and the code work, it just can't analyze that line:

Assertion failed: ((Ex->getType()->isAggregateType()) && "Other kinds of
expressions with non-aggregate/union types do" " not have lvalues."), function
VisitLValue, file GRExprEngine.cpp, line 922.
0  clang             0x00000001012f90c2
1  clang             0x00000001012f994c
2  libSystem.B.dylib 0x00007fff814d180a _sigtramp + 26
3  libSystem.B.dylib 0x00007fff8147650a tiny_malloc_from_free_list + 1196
4  libSystem.B.dylib 0x00007fff8154cef0 __pthread_markcancel + 0
5  clang             0x00000001004b140e
6  clang             0x00000001004b15ff
7  clang             0x00000001004ae51e
8  clang             0x00000001004b6845
9  clang             0x00000001004a1bfc
10 clang             0x00000001004a1f5d
11 clang             0x0000000100047072
12 clang             0x0000000100044a28
13 clang             0x0000000100044fa9
14 clang             0x000000010026d625
15 clang             0x0000000100051db9
16 clang             0x0000000100037e7e
17 clang             0x000000010003a854
18 clang             0x00000001000359f8
Stack dump:
0.      Program arguments: /Developer/usr/bin/clang -cc1 -triple
i386-apple-darwin9.0.0 -analyze -disable-free -main-file-name UIController.m
-analyzer-store=region -analyzer-opt-analyze-nested-blocks
-analyzer-check-dead-stores -analyzer-check-security-syntactic
-analyzer-check-objc-mem -analyzer-eagerly-assume
-analyzer-check-objc-methodsigs -analyzer-check-objc-unused-ivars
-analyzer-output plist -mrelocation-model dynamic-no-pic -pic-level 1
-mdisable-fp-elim -target-cpu yonah -resource-dir /Developer/usr/lib/clang/1.1
-isysroot /Developer/SDKs/MacOSX10.6.sdk
-I/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Unsanity
Installer.build/Deployment/Unsanity Installer.build/Unsanity Installer.hmap
-F/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Deployment
-I/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Deployment/include
-I../Smart Crash Reports
-I/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Unsanity
Installer.build/Deployment/Unsanity Installer.build/DerivedSources/i386
-I/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Unsanity
Installer.build/Deployment/Unsanity Installer.build/DerivedSources -Os
-Wno-trigraphs -Wmost -Wno-four-char-constants -Wno-unknown-pragmas
-fmessage-length 0 -fvisibility hidden -fdiagnostics-print-source-range-info
-fpascal-strings -fdiagnostics-show-option -o
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/build/Unsanity
Installer.build/Deployment/Unsanity
Installer.build/StaticAnalyzer/normal/i386/UIController.plist -x objective-c
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/UIController.m 
1.     
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/UIController.m:223:1:
current parser token '-'
2.     
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/UIController.m:155:2:
Error evaluating statement
3.     
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/UIController.m:155:2:
Error evaluating statement
4.     
/Volumes/Consecrated/rosyna/Dev/Perforce/UnsanityInstaller/UIController.m:155:2:
Error evaluating statement
clang: error: analyzer command failed due to signal 6 (use -v to see
invocation)

with line 155 being the one pasted above.

Where [redTextReplacement cell] returns an instance of an objc_object struct:

typedef struct objc_object {
    Class isa;
} *id;


-- 
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