Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash SMS app under CyanogenMode 11 - KitKat 4.4.4 #12

Open
lakano opened this issue Aug 20, 2014 · 12 comments
Open

Crash SMS app under CyanogenMode 11 - KitKat 4.4.4 #12

lakano opened this issue Aug 20, 2014 · 12 comments
Assignees
Labels

Comments

@lakano
Copy link

lakano commented Aug 20, 2014

Hello,

I have copied my sms.db from my rooted iphone 4 ( iOS 7 ).
I used your last Git version like that : ./bin/smstools --type android ~/sms.db ~/mmssms.db

38624 messages read in 0.580560922623 seconds from ~/sms.db
sorting all 38624 texts by date
Creating empty Android SQLITE db
processed 38623 entries, 695 convos, (115 entries/sec)
finished in 157.396391153 seconds (average 245/second)
changes saved to /home/guillaume/mmssms.db

I have keep a copy of my mmssms.db of my rooted Android phone ( I have direct ssh access )
I have set the correct owner/privileges on the copied file ( chown radio:radio / chmod 660 )
I have restarted the phone.

When I launch the SMS app, I have a popup to said the app have crashed.
I can't start the app :(

Any idea ?

If this could help, I give you the empty DB created by my Android version. May be the DB format have changed ?
http://demo.ovh.eu/fr/0c27f9a58507da9ac539c8e32b99f63e/

Regards,

@t413
Copy link
Owner

t413 commented Aug 21, 2014

Very possible there's something that changed. You're absolutely right, a database file will help me figure that out. Could you send one more database with a few dummy texts to a couple different numbers and maybe a group-text? That'd let me add group messaging support to android.

@t413 t413 self-assigned this Aug 21, 2014
@t413 t413 added the bug label Aug 21, 2014
@lakano
Copy link
Author

lakano commented Aug 21, 2014

Yep, surely the DB models have changed.

I have fixed my problem by using another application, but this could be surely usefull for others interested users to fix your program :)

About the database, I have send you a link ( http://demo.ovh.eu/fr/0c27f9a58507da9ac539c8e32b99f63e/ ) to download a dummy base, this should be enough to see the schema changes of tables / columns I suppose.

Regards,

@FilLupin
Copy link

Same here : crash of the sms app.

I launch "adb root" and then I copied "mmssms.db" with "adb push" and it so is owned by root, so I made a "chown radio:radio mmssms.db" but nothing change (in fact, it seems the app is usable whatever is the owner).

This issue is probably because there is still the former "mmssms.db-journal" file which should be generated especially for mmssms.db
I'm sorry but I didn't kept my empty mmssms.db to allow you to check links between mmssms.db and mmssms.db-journal

The crash can also be because of an utf-8 conversion (see #14)...

@FilLupin
Copy link

I reinstalled my phone in default state, you can find there the content of theses two files : http://demo.ovh.eu/en/00ec25f5d777f6e2bd4729c99176cade/

I also tried deleting mmssms.db-journal without any success

@FilLupin
Copy link

FilLupin commented Jan 4, 2015

I tried an "adb push" with mmssms.db I got from the script on a two different android on the same hardware with the same error : message app crashes.
I just found how to get the log. Here is the specific output of "adb logcat" printed when I open messaging app :


D/audio_hw_primary( 1896): select_output_device: AUDIO_DEVICE_OUT_SPEAKER
I/ActivityManager( 2250): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.mms/.ui.ConversationList bnds=[424,1154][552,1282]} from pid 2490
W/WindowManager( 2250): Failure taking screenshot for (328x583) to layer 21010
I/ActivityManager( 2250): Start proc com.android.mms for activity com.android.mms/.ui.ConversationList: pid=3420 uid=10024 gids={50024, 3003, 1015, 1028}
W/Trace ( 3420): error opening trace file: No such file or directory (2)
D/CountryDetector( 2250): The first listener is added
V/MmsConfig( 3420): mnc/mcc:
V/MmsConfig( 3420): tag: bool value: enabledMMS - true
V/MmsConfig( 3420): tag: int value: maxMessageSize - 307200
V/MmsConfig( 3420): tag: int value: maxImageHeight - 480
V/MmsConfig( 3420): tag: int value: maxImageWidth - 640
V/MmsConfig( 3420): tag: int value: defaultSMSMessagesPerThread - 500
V/MmsConfig( 3420): tag: int value: defaultMMSMessagesPerThread - 50
V/MmsConfig( 3420): tag: int value: minMessageCountPerThread - 10
V/MmsConfig( 3420): tag: int value: maxMessageCountPerThread - 5000
V/MmsConfig( 3420): tag: string value: uaProfUrl - http://www.google.com/oha/rdf/ua-profile-kila.xml
V/MmsConfig( 3420): tag: int value: recipientLimit - -1
V/MmsConfig( 3420): tag: bool value: enableMultipartSMS - true
V/MmsConfig( 3420): tag: bool value: enableSplitSMS - false
V/MmsConfig( 3420): tag: int value: smsToMmsTextThreshold - -1
V/MmsConfig( 3420): tag: bool value: enableSlideDuration - true
V/MmsConfig( 3420): tag: int value: maxMessageTextSize - -1
E/SQLiteLog( 2433): (1) table pdu already exists
E/DatabaseUtils( 2433): Writing exception to parcel
E/DatabaseUtils( 2433): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.createMmsTables(MmsSmsDatabaseHelper.java:563)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:446)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2433): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2433): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2433): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2433): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2433): at dalvik.system.NativeStart.run(Native Method)
E/SqliteWrapper( 3420): Catch a SQLiteException when query:
E/SqliteWrapper( 3420): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/SqliteWrapper( 3420): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)
E/SqliteWrapper( 3420): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/SqliteWrapper( 3420): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
E/SqliteWrapper( 3420): at android.content.ContentResolver.query(ContentResolver.java:372)
E/SqliteWrapper( 3420): at android.content.ContentResolver.query(ContentResolver.java:315)
E/SqliteWrapper( 3420): at android.database.sqlite.SqliteWrapper.query(SqliteWrapper.java:59)
E/SqliteWrapper( 3420): at com.android.mms.data.RecipientIdCache.fill(RecipientIdCache.java:73)
E/SqliteWrapper( 3420): at com.android.mms.data.RecipientIdCache$1.run(RecipientIdCache.java:57)
E/SqliteWrapper( 3420): at java.lang.Thread.run(Thread.java:856)
W/dalvikvm( 3420): threadid=14: thread exiting with uncaught exception (group=0x41f7f930)
E/AndroidRuntime( 3420): FATAL EXCEPTION: RecipientIdCache.init
E/AndroidRuntime( 3420): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/AndroidRuntime( 3420): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)
E/AndroidRuntime( 3420): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 3420): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
E/AndroidRuntime( 3420): at android.content.ContentResolver.query(ContentResolver.java:372)
E/AndroidRuntime( 3420): at android.content.ContentResolver.query(ContentResolver.java:315)
E/AndroidRuntime( 3420): at android.database.sqlite.SqliteWrapper.query(SqliteWrapper.java:59)
E/AndroidRuntime( 3420): at com.android.mms.data.RecipientIdCache.fill(RecipientIdCache.java:73)
E/AndroidRuntime( 3420): at com.android.mms.data.RecipientIdCache$1.run(RecipientIdCache.java:57)
E/AndroidRuntime( 3420): at java.lang.Thread.run(Thread.java:856)
W/ActivityManager( 2250): Force finishing activity com.android.mms/.ui.ConversationList
W/WindowManager( 2250): Failure taking screenshot for (328x583) to layer 21015
D/Mms:app ( 3420): cancelNotification
E/SQLiteLog( 2433): (1) table pdu already exists
E/DatabaseUtils( 2433): Writing exception to parcel
E/DatabaseUtils( 2433): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.createMmsTables(MmsSmsDatabaseHelper.java:563)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:446)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2433): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2433): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2433): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2433): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2433): at dalvik.system.NativeStart.run(Native Method)
W/dalvikvm( 3420): threadid=16: thread exiting with uncaught exception (group=0x41f7f930)
I/Process ( 3420): Sending signal. PID: 3420 SIG: 9
W/InputDispatcher( 2250): channel '429a6678 com.android.mms/com.android.mms.ui.ConversationList (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 2250): channel '429a6678 com.android.mms/com.android.mms.ui.ConversationList (server)' ~ Channel is unrecoverably broken and will be disposed!
E/SQLiteLog( 2433): (1) table pdu already exists
D/CountryDetector( 2250): No listener is left
E/DatabaseUtils( 2433): Writing exception to parcel
E/DatabaseUtils( 2433): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.createMmsTables(MmsSmsDatabaseHelper.java:563)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:446)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2433): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2433): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2433): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2433): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2433): at dalvik.system.NativeStart.run(Native Method)
E/SQLiteLog( 2433): (1) table pdu already exists
E/DatabaseUtils( 2433): Writing exception to parcel
E/DatabaseUtils( 2433): android.database.sqlite.SQLiteException: table pdu already exists (code 1): , while compiling: CREATE TABLE pdu (_id INTEGER PRIMARY KEY AUTOINCREMENT,thread_id INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,msg_box INTEGER,read INTEGER DEFAULT 0,m_id TEXT,sub TEXT,sub_cs INTEGER,ct_t TEXT,ct_l TEXT,exp INTEGER,m_cls TEXT,m_type INTEGER,v INTEGER,m_size INTEGER,pri INTEGER,rr INTEGER,rpt_a INTEGER,resp_st INTEGER,st INTEGER,tr_id TEXT,retr_st INTEGER,retr_txt TEXT,retr_txt_cs INTEGER,read_status INTEGER,ct_cls INTEGER,resp_txt TEXT,d_tm INTEGER,d_rpt INTEGER,locked INTEGER DEFAULT 0,seen INTEGER DEFAULT 0,text_only INTEGER DEFAULT 0);
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.createMmsTables(MmsSmsDatabaseHelper.java:563)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:446)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2433): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2433): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2433): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2433): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2433): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2433): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2433): at dalvik.system.NativeStart.run(Native Method)
W/InputDispatcher( 2250): Attempted to unregister already unregistered input channel '429a6678 com.android.mms/com.android.mms.ui.ConversationList (server)'
I/WindowState( 2250): WIN DEATH: Window{429a6678 u0 com.android.mms/com.android.mms.ui.ConversationList}
I/ActivityManager( 2250): Process com.android.mms (pid 3420) has died.
W/InputMethodManagerService( 2250): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@429abd88 attribute=null, token = android.os.BinderProxy@422eb7f8
W/WindowManager( 2250): Rebuild removed 3 windows but added 2
W/WindowManager( 2250): This window was lost: Window{42d3e4b0 u0 Starting com.android.mms EXITING}
W/WindowManager( 2250): mDisplayId=0 mSession=Session{42467348 2250:1000} mClient=android.view.ViewRootImpl$W@42d3ddc0
W/WindowManager( 2250): mOwnerUid=1000 mShowToOwnerOnly=false
W/WindowManager( 2250): mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#20 ty=3 fl=#1830118 pfl=0x19 wanim=0x1030295}
W/WindowManager( 2250): Requested w=720 h=1280 mLayoutSeq=165
W/WindowManager( 2250): mBaseLayer=21000 mSubLayer=0 mAnimLayer=21000+0=21000 mLastLayer=21015
W/WindowManager( 2250): mToken=AppWindowToken{42ca23f8 token=Token{42ca1c18 ActivityRecord{42ca1ad8 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2250): mRootToken=AppWindowToken{42ca23f8 token=Token{42ca1c18 ActivityRecord{42ca1ad8 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2250): mAppToken=AppWindowToken{42ca23f8 token=Token{42ca1c18 ActivityRecord{42ca1ad8 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2250): mViewVisibility=0x0 mHaveFrame=true mObscured=true
W/WindowManager( 2250): mSeq=0 mSystemUiVisibility=0x0
W/WindowManager( 2250): mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
W/WindowManager( 2250): mConfiguration={1.0 ?mcc?mnc fr_FR ldltr sw360dp w360dp h615dp 320dpi nrml long port finger -keyb/>V/h -na>V/h s.4 themeResource=null}
W/WindowManager( 2250): mHasSurface=true mShownFrame=[0.0,0.0][720.0,1280.0] isReadyForDisplay()=false
W/WindowManager( 2250): mFrame=[0,0][720,1280] last=[0,0][720,1280]
W/WindowManager( 2250): mSystemDecorRect=[0,50][720,1280] last=[0,50][720,1280]
W/WindowManager( 2250): Frames: containing=[0,0][720,1280] parent=[0,0][720,1280] display=[0,0][720,1280]
W/WindowManager( 2250): content=[0,50][720,1280] visible=[0,50][720,1280]
W/WindowManager( 2250): Cur insets: content=[0,50][0,0] visible=[0,50][0,0]
W/WindowManager( 2250): Lst insets: content=[0,50][0,0] visible=[0,50][0,0]
W/WindowManager( 2250): WindowStateAnimator{42d3e978 Starting com.android.mms}:
W/WindowManager( 2250): mSurface=Surface(name=Starting com.android.mms, identity=39)
W/WindowManager( 2250): mDrawState=HAS_DRAWN mLastHidden=true
W/WindowManager( 2250): Surface: shown=false layer=21015 alpha=1.0 rect=(0.0,0.0) 720.0 x 1280.0
W/WindowManager( 2250): mExiting=true mRemoveOnExit=true mDestroying=false mRemoved=false
W/WindowManager( 2250): Current app token list:
V/WindowManager( 2250): #1: Token{42467498 ActivityRecord{4228cd20 u0 com.cyanogenmod.trebuchet/.Launcher}}
V/WindowManager( 2250): #0: Token{4298c5b0 ActivityRecord{4239c7b8 u0 com.android.browser/.BrowserActivity}}
W/WindowManager( 2250): Final window list:
V/WindowManager( 2250): #0: Window{425c5a90 u0 StatusBar}
V/WindowManager( 2250): #1: Window{422a85d8 u0 Keyguard}
V/WindowManager( 2250): #2: Window{422eba70 u0 com.cyanogenmod.trebuchet/com.cyanogenmod.trebuchet.Launcher}
V/WindowManager( 2250): #3: Window{422bdc98 u0 com.android.browser/com.android.browser.BrowserActivity}
V/WindowManager( 2250): #4: Window{423aa300 u0 com.android.systemui.ImageWallpaper}


Since it crashes the app on two android, the origin of the crash is the generated mmssms.db file.
Do you have any way to verify this ? Any test file with a few sms ?

@FilLupin
Copy link

I forgot to write that these logs are from a 4.2 version of android.

On which android version have you tried your script ?

@FilLupin
Copy link

I try to help to enhance this script, but it seems this script is not used anymore and I can't do anything without any information. It seems that table pdu should not exist so I need to know why it already exists.
I totally understand you can have no time for this, so I try this last message to check if someone is following this repo, and then I will try with another script I found.
Thanks anyway, the study of this script learn me some first tips about ios format, and have a good year.

@FilLupin
Copy link

FilLupin commented Feb 8, 2015

I tried to delete table pdu, then I read with "adb logcat" that table should not exist then it was successively the same with tables rate, addr, part, drm, and then sms.
Since table sms is the table that contains all the messages smstools converted, the error seems to be elsewhere...

@FilLupin
Copy link

FilLupin commented Mar 1, 2015

OK, it seems that there is at least one difference which cause this issue : the date_sent is does not exist.

I tried to debug the code but I have a (probably basic) problem : when cloning the code locally, I can not launch without this error :

./bin/smstools
Traceback (most recent call last):
File "./bin/smstools", line 7, in
import smstools
ImportError: No module named smstools

Note that there is an init.py file in smstools directory and into subdirectory smstools/tests/ (but not anywhere else)... I could use some help here...

@FilLupin
Copy link

FilLupin commented Mar 8, 2015

Even after adding the missing date_sent field, it seems there is still this «already existing table» problem with (at least) pdu table.
I get this logcat output :

--------- beginning of /dev/log/main
D/audio_hw_primary( 1897): select_output_device: AUDIO_DEVICE_OUT_SPEAKER
--------- beginning of /dev/log/system
I/ActivityManager( 2248): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.mms/.ui.ConversationList bnds=[424,1154][552,1282]} from pid 2492
W/WindowManager( 2248): Failure taking screenshot for (328x583) to layer 21010
I/ActivityManager( 2248): Start proc com.android.mms for activity com.android.mms/.ui.ConversationList: pid=4039 uid=10024 gids={50024, 3003, 1015, 1028}
W/Trace ( 4039): error opening trace file: No such file or directory (2)
D/CountryDetector( 2248): The first listener is added
V/MmsConfig( 4039): mnc/mcc:
V/MmsConfig( 4039): tag: bool value: enabledMMS - true
V/MmsConfig( 4039): tag: int value: maxMessageSize - 307200
V/MmsConfig( 4039): tag: int value: maxImageHeight - 480
V/MmsConfig( 4039): tag: int value: maxImageWidth - 640
V/MmsConfig( 4039): tag: int value: defaultSMSMessagesPerThread - 500
V/MmsConfig( 4039): tag: int value: defaultMMSMessagesPerThread - 50
V/MmsConfig( 4039): tag: int value: minMessageCountPerThread - 10
V/MmsConfig( 4039): tag: int value: maxMessageCountPerThread - 5000
V/MmsConfig( 4039): tag: string value: uaProfUrl - http://www.google.com/oha/rdf/ua-profile-kila.xml
V/MmsConfig( 4039): tag: int value: recipientLimit - -1
V/MmsConfig( 4039): tag: bool value: enableMultipartSMS - true
V/MmsConfig( 4039): tag: bool value: enableSplitSMS - false
V/MmsConfig( 4039): tag: int value: smsToMmsTextThreshold - -1
V/MmsConfig( 4039): tag: bool value: enableSlideDuration - true
V/MmsConfig( 4039): tag: int value: maxMessageTextSize - -1
D/Mms:app ( 4039): cancelNotification
E/SQLiteLog( 2431): (1) table sms already exists
E/DatabaseUtils( 2431): Writing exception to parcel
E/DatabaseUtils( 2431): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.createSmsTables(MmsSmsDatabaseHelper.java:819)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:447)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2431): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2431): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2431): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2431): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2431): at dalvik.system.NativeStart.run(Native Method)
E/SqliteWrapper( 4039): Catch a SQLiteException when query:
E/SqliteWrapper( 4039): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/SqliteWrapper( 4039): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)
E/SqliteWrapper( 4039): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/SqliteWrapper( 4039): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
E/SqliteWrapper( 4039): at android.content.ContentResolver.query(ContentResolver.java:372)
E/SqliteWrapper( 4039): at android.content.ContentResolver.query(ContentResolver.java:315)
E/SqliteWrapper( 4039): at android.database.sqlite.SqliteWrapper.query(SqliteWrapper.java:59)
E/SqliteWrapper( 4039): at com.android.mms.data.RecipientIdCache.fill(RecipientIdCache.java:73)
E/SqliteWrapper( 4039): at com.android.mms.data.RecipientIdCache$1.run(RecipientIdCache.java:57)
E/SqliteWrapper( 4039): at java.lang.Thread.run(Thread.java:856)
W/dalvikvm( 4039): threadid=14: thread exiting with uncaught exception (group=0x41e2d930)
E/AndroidRuntime( 4039): FATAL EXCEPTION: RecipientIdCache.init
E/AndroidRuntime( 4039): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/AndroidRuntime( 4039): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)
E/AndroidRuntime( 4039): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 4039): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
E/AndroidRuntime( 4039): at android.content.ContentResolver.query(ContentResolver.java:372)
E/AndroidRuntime( 4039): at android.content.ContentResolver.query(ContentResolver.java:315)
E/AndroidRuntime( 4039): at android.database.sqlite.SqliteWrapper.query(SqliteWrapper.java:59)
E/AndroidRuntime( 4039): at com.android.mms.data.RecipientIdCache.fill(RecipientIdCache.java:73)
E/AndroidRuntime( 4039): at com.android.mms.data.RecipientIdCache$1.run(RecipientIdCache.java:57)
E/AndroidRuntime( 4039): at java.lang.Thread.run(Thread.java:856)
W/ActivityManager( 2248): Force finishing activity com.android.mms/.ui.ConversationList
W/WindowManager( 2248): Failure taking screenshot for (328x583) to layer 21020
E/SQLiteLog( 2431): (1) table sms already exists
E/DatabaseUtils( 2431): Writing exception to parcel
E/DatabaseUtils( 2431): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.createSmsTables(MmsSmsDatabaseHelper.java:819)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:447)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2431): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2431): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2431): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2431): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2431): at dalvik.system.NativeStart.run(Native Method)
W/dalvikvm( 4039): threadid=16: thread exiting with uncaught exception (group=0x41e2d930)
I/Process ( 4039): Sending signal. PID: 4039 SIG: 9
D/CountryDetector( 2248): No listener is left
I/ActivityManager( 2248): Process com.android.mms (pid 4039) has died.
W/InputDispatcher( 2248): channel '421ed678 com.android.mms/com.android.mms.ui.ConversationList (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 2248): channel '421ed678 com.android.mms/com.android.mms.ui.ConversationList (server)' ~ Channel is unrecoverably broken and will be disposed!
E/SQLiteLog( 2431): (1) table sms already exists
E/DatabaseUtils( 2431): Writing exception to parcel
E/DatabaseUtils( 2431): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.createSmsTables(MmsSmsDatabaseHelper.java:819)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:447)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2431): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2431): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2431): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2431): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2431): at dalvik.system.NativeStart.run(Native Method)
E/SQLiteLog( 2431): (1) table sms already exists
E/DatabaseUtils( 2431): Writing exception to parcel
E/DatabaseUtils( 2431): android.database.sqlite.SQLiteException: table sms already exists (code 1): , while compiling: CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id INTEGER,address TEXT,person INTEGER,date INTEGER,date_sent INTEGER DEFAULT 0,protocol INTEGER,read INTEGER DEFAULT 0,status INTEGER DEFAULT -1,type INTEGER,reply_path_present INTEGER,subject TEXT,body TEXT,service_center TEXT,locked INTEGER DEFAULT 0,error_code INTEGER DEFAULT 0,seen INTEGER DEFAULT 0);
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.createSmsTables(MmsSmsDatabaseHelper.java:819)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsDatabaseHelper.onCreate(MmsSmsDatabaseHelper.java:447)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
E/DatabaseUtils( 2431): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.queryInternal(MmsSmsProvider.java:317)
E/DatabaseUtils( 2431): at com.android.providers.telephony.MmsSmsProvider.query(MmsSmsProvider.java:297)
E/DatabaseUtils( 2431): at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils( 2431): at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils( 2431): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils( 2431): at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils( 2431): at dalvik.system.NativeStart.run(Native Method)
W/InputDispatcher( 2248): Attempted to unregister already unregistered input channel '421ed678 com.android.mms/com.android.mms.ui.ConversationList (server)'
I/WindowState( 2248): WIN DEATH: Window{421ed678 u0 com.android.mms/com.android.mms.ui.ConversationList}
I/ActivityManager( 2248): Displayed com.android.mms/.ui.ConversationList: +636ms (total +20m47s230ms)
W/InputMethodManagerService( 2248): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@421dc140 attribute=null, token = android.os.BinderProxy@42159aa0
W/WindowManager( 2248): Rebuild removed 3 windows but added 2
W/WindowManager( 2248): This window was lost: Window{421ed678 u0 com.android.mms/com.android.mms.ui.ConversationList EXITING}
W/WindowManager( 2248): mDisplayId=0 mSession=Session{42e64418 4039:u0a10024} mClient=android.os.BinderProxy@4216aff0
W/WindowManager( 2248): mOwnerUid=10024 mShowToOwnerOnly=true
W/WindowManager( 2248): mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#1810100 pfl=0x8 wanim=0x1030295}
W/WindowManager( 2248): Requested w=720 h=1280 mLayoutSeq=484
W/WindowManager( 2248): mBaseLayer=21000 mSubLayer=0 mAnimLayer=21000+0=21000 mLastLayer=21015
W/WindowManager( 2248): mToken=AppWindowToken{42df23a0 token=Token{42387f30 ActivityRecord{42e96e58 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2248): mRootToken=AppWindowToken{42df23a0 token=Token{42387f30 ActivityRecord{42e96e58 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2248): mAppToken=AppWindowToken{42df23a0 token=Token{42387f30 ActivityRecord{42e96e58 u0 com.android.mms/.ui.ConversationList}}}
W/WindowManager( 2248): mViewVisibility=0x0 mHaveFrame=true mObscured=true
W/WindowManager( 2248): mSeq=0 mSystemUiVisibility=0x0
W/WindowManager( 2248): mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
W/WindowManager( 2248): mConfiguration={1.0 ?mcc?mnc fr_FR ldltr sw360dp w360dp h615dp 320dpi nrml long port finger -keyb/v/h -nav/h s.4 themeResource=null}
W/WindowManager( 2248): mHasSurface=true mShownFrame=[0.0,0.0][720.0,1280.0] isReadyForDisplay()=false
W/WindowManager( 2248): mFrame=[0,0][720,1280] last=[0,0][720,1280]
W/WindowManager( 2248): mSystemDecorRect=[0,50][720,1280] last=[0,50][720,1280]
W/WindowManager( 2248): Frames: containing=[0,0][720,1280] parent=[0,0][720,1280] display=[0,0][720,1280]
W/WindowManager( 2248): content=[0,50][720,1280] visible=[0,50][720,1280]
W/WindowManager( 2248): Cur insets: content=[0,50][0,0] visible=[0,50][0,0]
W/WindowManager( 2248): Lst insets: content=[0,50][0,0] visible=[0,50][0,0]
W/WindowManager( 2248): WindowStateAnimator{42387c10 com.android.mms/com.android.mms.ui.ConversationList}:
W/WindowManager( 2248): mSurface=Surface(name=com.android.mms/com.android.mms.ui.ConversationList, identity=105)
W/WindowManager( 2248): mDrawState=HAS_DRAWN mLastHidden=true
W/WindowManager( 2248): Surface: shown=false layer=21015 alpha=1.0 rect=(0.0,0.0) 720.0 x 1280.0
W/WindowManager( 2248): mExiting=true mRemoveOnExit=true mDestroying=false mRemoved=false
W/WindowManager( 2248): Current app token list:
V/WindowManager( 2248): #1: Token{422d6390 ActivityRecord{420f5178 u0 com.cyanogenmod.trebuchet/.Launcher}}
V/WindowManager( 2248): #0: Token{421fb1f0 ActivityRecord{421fb0b0 u0 com.android.contacts/.activities.DialtactsActivity}}
W/WindowManager( 2248): Final window list:
V/WindowManager( 2248): #0: Window{423074b8 u0 StatusBar}
V/WindowManager( 2248): #1: Window{42104040 u0 Keyguard}
V/WindowManager( 2248): #2: Window{4215a3a8 u0 com.cyanogenmod.trebuchet/com.cyanogenmod.trebuchet.Launcher}
V/WindowManager( 2248): #3: Window{421a4880 u0 com.android.contacts/com.android.contacts.activities.DialtactsActivity}
V/WindowManager( 2248): #4: Window{4246c270 u0 com.android.systemui.ImageWallpaper}

Has anyone encountered this problem ?

@FilLupin
Copy link

FilLupin commented Apr 8, 2015

Since this script seems to not be maintained anymore, I tried several other ways to transfer text messages.
Samsung Kies does not work, but Samsung Smart Swatch worked ! I hope this information will help.

@FilLupin
Copy link

FilLupin commented May 3, 2015

Ok, investigating this bug, I found several clues to solve it.
SMS can crashes when mmssms.db is not consistent with mmssms.db-journal so you should delete it from your android filesystem (it should be into /data/data/com.android.providers.telephony/databases/).

Then, it seems the mmssms.db SQLite database format can change at every version of android (for instance, it is version 58 in 4.1.2). SMS app use a pragma into mmssms.db SQLite script to identify this mmssms.db version ("PRAGMA user_version = 58;")

So any script used to convert iPhone sms to android sms should take into account IOS version and android version to check if it can do conversion, and then import consistently IOS sms and export them consistently into android sms.
For those who are interested into how to do this : http://redmine.replicant.us/boards/21/topics/9543

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants