[Mono-bugs] [Bug 580776] New: Nested ViewControllers eventually leak and then crash

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Feb 17 23:05:12 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=580776

http://bugzilla.novell.com/show_bug.cgi?id=580776#c0


           Summary: Nested ViewControllers eventually leak and then crash
    Classification: Mono
           Product: MonoTouch
           Version: SVN
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: Class Libraries
        AssignedTo: gnorton at novell.com
        ReportedBy: al at razorant.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
rv:1.9.2) Gecko/20100115 Firefox/3.6

An App that displays a ViewController. A few buttons and an image. One button
is hooked up and it opens a second ViewController. Second ViewController also
has a few buttons.  3 of them open a 3rd ViewController (yes in this stripped
down app they all do the same one). One Button closes the view and returns to
the original ViewController.  The 3rd ViewController has images and buttons. 
One button is hooked up which closes the View returning you to the second view
controller.  That is it.  No other functionality.

Running this in the simulator (and on the device) eventually produce a memory
leak and shortly after a crash.  You need to navigate a bit in simulator to get
it to happen, but it happens quite quickly on my iPhone.

Here is the leaking message:
2010-02-17 19:23:32.832 Rhino4[1561:2803] *** _NSAutoreleaseNoPool(): Object
0x6148c80 of class NSConcreteMapTableValueEnumerator autoreleased with no pool
in place - just leaking
Stack: (0x7e589f 0x81b442 0x817fac 0x121d762 0x121d907 0x27307a 0x628e522
0x82764bc 0x827645f 0x827b14f 0x827b0a7 0x14fca7 0x263b65 0x1207c2 0x151bca
0x1f9bdb 0x23cca8 0x26cfab 0x9149ffbd 0x9149fe42)
2010-02-17 19:23:32.837 Rhino4[1561:2803] *** _NSAutoreleaseNoPool(): Object
0x61a9e80 of class UIView autoreleased with no pool in place - just leaking
Stack: (0x7e589f 0x81b442 0x11aaba0 0x121a39e 0x121d851 0x121d907 0x27307a
0x628e522 0x82764bc 0x827645f 0x827b14f 0x827b0a7 0x14fca7 0x263b65 0x1207c2
0x151bca 0x1f9bdb 0x23cca8 0x26cfab 0x9149ffbd 0x9149fe42)
2010-02-17 19:23:32.840 Rhino4[1561:2803] *** _NSAutoreleaseNoPool(): Object
0x619adc0 of class NSCFArray autoreleased with no pool in place - just leaking

I made a screencast of the process used to produce the leak and the crash.

http://www.screencast.com/t/YjhkMDNjZT

Please remember that while it takes a bit of time to produce this in the
simulator, it happens quickly on the device.

Actual crash details can be found in this thread:

http://forums.monotouch.net/yaf_postst443_MonoTouch-Views-Leak-and-then-crash.aspx

A zip file of my test code can be found here:

http://razorant.com/misc/rhino4.zip

Please let me know if you need more details or if there is something wrong with
the way I'm using these ViewControllers.  I've not found much information on
how to do what I am doing without using a NavigationController.

Reproducible: Always

Steps to Reproduce:
See screencast at link above.  Sometimes it take a few more clicks than the
last time, but I can get it to crash every single time in under 2 mins.
Actual Results:  
See Screencast.

Expected Results:  
No leak messages.  No crash. :)

Let's see.

Snow Leopard, MonoDevelop 2.2.1, Apple SDK 3.1.2, MonoTouch 1.4.7 and 1.9 beta.
 I think I have the beta back on for the screencast, but I have a system setup
with 1.4.7 and it does the same.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list