[Mono-bugs] [Bug 695752] New: sqlite breaking on building a datareader after many calls (randomly)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue May 24 12:58:09 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=695752

https://bugzilla.novell.com/show_bug.cgi?id=695752#c0


           Summary: sqlite breaking on building a datareader after many
                    calls (randomly)
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: iPhone
        OS/Version: Apple iOS 4.3
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: debug
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: j_scheibel at hotmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101
Firefox/4.0.1

I'm working on a iphone game using monotouch (and a sqlite database)
periodically in the game there i will open a large number of sqlite data
readers (though only 1 at any given time) concurrently with updates
periodically inbetween readers (done through a reused command) all on 1 open
database connection. it crashes quite often in the actual underpinings of the
sqlite code. (not with some sql i wrote some such) typically when it's doing a
large batach of commands without a break. 

i've found a semi-workaround is to constantly (like every 20 or so commands)
close, dispose, force garbage colletion and reopen the database. It still
happens sometimes though. it actually happens most often on my ipad 2 running
the iphone app. happens somewhat on the iphone 4 and 3g. it happens least often
in the simulator on the mac, but does happen there as well. 

often I have a controlling thread launching the actions on the main parent
thread (I try doing all my database access through one object and try always
running that object on the main thread).

Reproducible: Sometimes

Steps to Reproduce:
1. create a database connection to a sqlite database
2. create a sqlitedatareader (from a fresh sqlitecommand)
3. execute a select that pulls back some data
4. close reader. dispose reader
5. update data in said table
6. repeat 75-250 or so times without a break or garbage collection or
closing/reopening the database.

Actual Results:  
application crashes.

Expected Results:  
i expect it to work just fine!

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


More information about the mono-bugs mailing list