Thanks for the analysis. So the quick fix would be to set Sqlite to multithread 
mode?
If I set it to support multi threading, can I share the connection or is a new 
connection required for every query?

René

Am 29.08.2012 um 14:59 schrieb Sebastien Pouliot <[email protected]>:

> On Wed, Aug 29, 2012 at 4:18 AM, René Ruppert <[email protected]> wrote:
>> Hi,
>> 
>> after upgrading from 5.2.13 to 5.3.6, this crash is the first thing I see in 
>> the 5.1 Simulator on Mountain Lion and this time I can reproduce it.
>> I have pasted the full log to a Gist: https://gist.github.com/3508383
> 
> Inside your gist note that both thread #0 and thread #11 (crasher) are
> running SQLite code at the same time. That's a bad sign if they are
> working on the same instance / data.
> 
>> I'm using Sqlite3 from another thread, not the UI main thread. I have not 
>> specified any special options in Sqlite (like multithreading) but I know 
>> that there is alway exactly one addtional thread and that is querying the 
>> DB, so this should not be an issue.
> 
> *one additional* means more than one. That's not ok if there's a
> single connection and that access to it are not controlled (or
> serialized) either by your code or by setting sqlite configuration.
> 
>> Can somebody see what might be going on?
>> 
>> René
>> 
>> at (wrapper managed-to-native) 
>> Mono.Data.Sqlite.UnsafeNativeMethods.sqlite3_step (intptr) <IL 0x00025, 
>> 0xffffffff>
>>  at Mono.Data.Sqlite.SQLite3.Step (Mono.Data.Sqlite.SqliteStatement) 
>> [0x0001a] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLite3.cs:166
>>  at Mono.Data.Sqlite.SqliteDataReader.NextResult () [0x00129] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteDataReader.cs:913
>>  at Mono.Data.Sqlite.SqliteDataReader..ctor 
>> (Mono.Data.Sqlite.SqliteCommand,System.Data.CommandBehavior) [0x00051] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteDataReader.cs:89
>>  at (wrapper remoting-invoke-with-check) 
>> Mono.Data.Sqlite.SqliteDataReader..ctor 
>> (Mono.Data.Sqlite.SqliteCommand,System.Data.CommandBehavior) <IL 0x00021, 
>> 0xffffffff>
>>  at Mono.Data.Sqlite.SqliteCommand.ExecuteReader 
>> (System.Data.CommandBehavior) [0x00006] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteCommand.cs:539
>>  at Mono.Data.Sqlite.SqliteCommand.ExecuteReader () [0x00000] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteCommand.cs:551
>>  at (wrapper remoting-invoke-with-check) 
>> Mono.Data.Sqlite.SqliteCommand.ExecuteReader () <IL 0x00038, 0xffffffff>
>>  at BrainloopMobile.Items.LocalServer.GetServer (int) [0x00024] in 
>> /Users/rene/Documents/Develop/Projects/BrainloopMobile/220/BrainloopMobile/BrainloopMobile/Items/LocalServer.cs:202
>>  at BrainloopMobile.Items.LocalServer.GetAPIManager 
>> (BrainloopMobile.ServerUniqueDataroomID) [0x00043] in 
>> /Users/rene/Documents/Develop/Projects/BrainloopMobile/220/BrainloopMobile/BrainloopMobile/Items/LocalServer.cs:468
>>  at BrainloopMobile.ProgressPreviewItem.ProgressLoop 
>> (BrainloopMobile.Progress.IProgressContext) [0x00000] in 
>> /Users/rene/Documents/Develop/Projects/BrainloopMobile/220/BrainloopMobile/BrainloopMobile/Progress/ProgressPreviewItem.cs:160
>>  at BrainloopMobile.Progress.ModalProgressController.StartProgress () 
>> [0x00014] in 
>> /Users/rene/Documents/Develop/Projects/BrainloopMobile/220/BrainloopMobile/BrainloopMobile/Progress/Base/ModalProgressController.cs:329
>>  at System.Threading.Thread.StartInternal () [0x0001d] in 
>> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading/Thread.cs:697
>>  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ 
>> (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>
>> 
>> Native stacktrace:
>> 
>>        0   BrainloopBrowser                    0x001b877c 
>> mono_handle_native_sigsegv + 284
>>        1   BrainloopBrowser                    0x0012f108 
>> mono_sigsegv_signal_handler + 248
>>        2   libsystem_c.dylib                   0x9924286b _sigtramp + 43
>>        3   ???                                 0xffffffff 0x0 + 4294967295
>>        4   libsqlite3.dylib                    0x03c58b5d sqlite3_step + 2989
> 
> ^ that's SQLite (#4, native iOS library) calling an invalid pointer
> (#3), triggering the sigtramp (#2, OS), catched/handled by the mono
> runtime (#1, #0).
> 
> \/ that's the managed frames (that you have above in the managed stack trace)
> 
>>        5   ???                                 0x138a97d7 0x0 + 327849943
>>        6   ???                                 0x138a94c0 0x0 + 327849152
>>        7   ???                                 0x138a62ab 0x0 + 327836331
>>        8   ???                                 0x138a5caa 0x0 + 327834794
>>        9   ???                                 0x138a5b20 0x0 + 327834400
>>        10  ???                                 0x138a4f04 0x0 + 327831300
>>        11  ???                                 0x138ad4f8 0x0 + 327865592
>>        12  ???                                 0x138ad494 0x0 + 327865492
>>        13  ???                                 0x13eb95d4 0x0 + 334206420
>>        14  ???                                 0x13bc3234 0x0 + 331100724
>>        15  ???                                 0x13bc1954 0x0 + 331094356
>>        16  ???                                 0x13ff0264 0x0 + 335479396
>>        17  ???                                 0x13f60d26 0x0 + 334892326
>>        18  ???                                 0x0afb5be4 0x0 + 184245220
>>        19  BrainloopBrowser                    0x001334c2 
>> mono_jit_runtime_invoke + 722
>>        20  BrainloopBrowser                    0x00296b9e 
>> mono_runtime_invoke + 126
>>        21  BrainloopBrowser                    0x00296d0c 
>> mono_runtime_delegate_invoke + 140
>>        22  BrainloopBrowser                    0x002f6e52 start_wrapper + 482
>>        23  BrainloopBrowser                    0x00328d6a 
>> thread_start_routine + 154
>>        24  BrainloopBrowser                    0x002d38f0 gc_start_thread + 
>> 80
>>        25  libsystem_c.dylib                   0x99256557 _pthread_start + 
>> 344
>>        26  libsystem_c.dylib                   0x99240cee thread_start + 34
>> 
>> _______________________________________________
>> MonoTouch mailing list
>> [email protected]
>> http://lists.ximian.com/mailman/listinfo/monotouch

_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to