[AT&T LG G3] darkguy2008:
Alright! I'm back home. Thanks for taking the time to look it up!. I'm also a developer, though I have never compiled my first Android ROM, I know my stuff around cooking them, linux dev, bash scripting, etc.

I made a logcat and it seems that it's recreating a sqlite table and it's making the phone crash. Weird stuff though, here's what I found:

AndroidRuntime: Caused by: android.database.sqlite.SQLiteException:

table siminfo already exists

(code 1): , while compiling: CREATE TABLE siminfo(_id INTEGER PRIMARY KEY AUTOINCREMENT... blah blah blah. Here's the full log. Do you think it's easily fixable?

--------- beginning of crash
01-01 23:50:51.578 1695 1695 E AndroidRuntime: FATAL EXCEPTION: main
01-01 23:50:51.578 1695 1695 E AndroidRuntime: Process: com.android.phone, PID: 1695
01-01 23:50:51.578 1695 1695 E AndroidRuntime: Theme: themes:{}
01-01 23:50:51.578 1695 1695 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.android.providers.telephony.TelephonyProvider: android.database.sqlite.SQLiteException: table siminfo already exists (code 1): , while compiling: CREATE TABLE siminfo(_id INTEGER PRIMARY KEY AUTOINCREMENT,icc_id TEXT NOT NULL,sim_id INTEGER DEFAULT -1,display_name TEXT,carrier_name TEXT,name_source INTEGER DEFAULT 0,color INTEGER DEFAULT 0,number TEXT,display_number_format INTEGER NOT NULL DEFAULT 1,data_roaming INTEGER DEFAULT 0,mcc INTEGER DEFAULT 0,mnc INTEGER DEFAULT 0,sub_state INTEGER DEFAULT 1,network_mode INTEGER DEFAULT -1,user_network_mode INTEGER DEFAULT 9,enable_cmas_extreme_threat_alerts INTEGER DEFAULT 1,enable_cmas_severe_threat_alerts INTEGER DEFAULT 1,enable_cmas_amber_alerts INTEGER DEFAULT 1,enable_emergency_alerts INTEGER DEFAULT 1,alert_sound_duration INTEGER DEFAULT 4,alert_reminder_interval INTEGER DEFAULT 0,enable_alert_vibrate INTEGER DEFAULT 1,enable_alert_speech INTEGER DEFAULT 1,enable_etws_test_alerts INTEGER DEFAULT 0,enable_channel_50_alerts INTEGER DEFAULT 1,enable_cmas_test_alerts INTEGER DEFAULT 0,show_cmas_opt_out_dialog INTEGER DEFAULT 1);
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:5195)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:4787)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4727)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread.-wrap1(ActivityThread.java)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5456)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: Caused by: android.database.sqlite.SQLiteException: table siminfo already exists (code 1): , while compiling: CREATE TABLE siminfo(_id INTEGER PRIMARY KEY AUTOINCREMENT,icc_id TEXT NOT NULL,sim_id INTEGER DEFAULT -1,display_name TEXT,carrier_name TEXT,name_source INTEGER DEFAULT 0,color INTEGER DEFAULT 0,number TEXT,display_number_format INTEGER NOT NULL DEFAULT 1,data_roaming INTEGER DEFAULT 0,mcc INTEGER DEFAULT 0,mnc INTEGER DEFAULT 0,sub_state INTEGER DEFAULT 1,network_mode INTEGER DEFAULT -1,user_network_mode INTEGER DEFAULT 9,enable_cmas_extreme_threat_alerts INTEGER DEFAULT 1,enable_cmas_severe_threat_alerts INTEGER DEFAULT 1,enable_cmas_amber_alerts INTEGER DEFAULT 1,enable_emergency_alerts INTEGER DEFAULT 1,alert_sound_duration INTEGER DEFAULT 4,alert_reminder_interval INTEGER DEFAULT 0,enable_alert_vibrate INTEGER DEFAULT 1,enable_alert_speech INTEGER DEFAULT 1,enable_etws_test_alerts INTEGER DEFAULT 0,enable_channel_50_alerts INTEGER DEFAULT 1,enable_cmas_test_alerts INTEGER DEFAULT 0,show_cmas_opt_out_dialog INTEGER DEFAULT 1);
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at com.android.providers.telephony.TelephonyProvider$DatabaseHelper.createSimInfoTable(TelephonyProvider.java:238)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at com.android.providers.telephony.TelephonyProvider$DatabaseHelper.onCreate(TelephonyProvider.java:205)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
01-01 23:50:51.578 1695 1695 E AndroidRuntime: at com.
01-01 23:50:51.589 811 811 W System : ClassLoader referenced unknown path: /system/priv-app/Telecom/lib/arm
01-01 23:50:51.621 811 844 I SystemServiceManager: Starting phase 1000
01-01 23:50:51.622 1704 1704 V Launcher: LauncherAppState inited
01-01 23:50:51.646 1761 1761 I PrintSpoolerService: No existing print spooler state.
01-01 23:50:51.648 1742 1742 W System : ClassLoader referenced unknown path: /system/app/UserDictionaryProvider/lib/arm
01-01 23:50:51.664 811 855 D BluetoothManagerService: Message: 30
01-01 23:50:51.670 811 844 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:788 org.cyanogenmod.platform.internal.CMHardwareService.onBootPhase:355 com.android.server.SystemServiceManager.startBootPhase:135 com.android.server.am.ActivityManagerService.finishBooting:6644 com.android.server.am.ActivityManagerService.ensureBootCompleted:6726
01-01 23:50:51.673 811 844 V KeyguardServiceDelegate: *** Keyguard started
01-01 23:50:51.674 811 844 D sensors_hal_SMGR: batch:sensor(android.sensor.accelerometer) sample_rate=15Hz report_rate_f=0.000000Hz curr sample rate:0 cur rpt rate:0 max:120.000000 min:1.000000
01-01 23:50:51.674 811 844 D sensors_hal_SMGR: enable:sensor(android.sensor.accelerometer) handle 0, freq=15 report_rate=0 batched=0
01-01 23:50:51.676 811 844 D sensors_hal_SMGR: SMGRReportAdd: Received Response: 0
01-01 23:50:51.676 811 844 W KeyguardServiceDelegate: onScreenTurningOn(): no keyguard service!

Regarding the mobile bands, here they are in CR:

If you need I can PM you both the first and second boot logcats, just tell me. Thanks again for your help! :)

---

Found a fix: I deleted /data/data/com.android.providers.telephony/databases/telephony.db and telephony.db-journal and it's alive again. I'm planning to put a script like this as workaround as an init.d script in the meanwhile. Edit: Which I did. Put these lines at the end of /system/etc/init.d/00banner and 99userinit. Phone alive!. NOTE: This does not apply in an UI restart, if you change LCD density you have to hard-reboot the phone.

I assume the issue could be fixed with some SQL with something such as CREATE IF NOT EXIST, but I dunno if sqlite accepts that. It'd be good to add though.

rm -f /data/data/com.android.providers.telephony/databases/telephony.db
rm -f /data/data/com.android.providers.telephony/databases/telephony.db-journal
busybox rm -f /data/data/com.android.providers.telephony/databases/telephony.db
busybox rm -f /data/data/com.android.providers.telephony/databases/telephony.db-journal