[myTouch 3G, Magic Android Development] Case_:
I'm trying to basically deodex the whole ROM, so yes, I'm touching both framework and all of the apps. I deodex the framework files and then, using those deodexed files, I deodex the apps as well.

The exception and the following crash I'm mostly getting is this one:

I/ActivityThread( 305): Publishing provider sms: com.android.providers.telephony.SmsProvider
I/ActivityThread( 305): Publishing provider mms-sms: com.android.providers.telephony.MmsSmsProvider
I/ActivityThread( 305): Publishing provider qtext: com.android.providers.telephony.QTextProvider
I/ActivityThread( 305): Publishing provider cbchannels: com.android.providers.telephony.CBProvider
I/ActivityThread( 305): Publishing provider icc: com.android.phone.IccProvider
I/ActivityThread( 305): Publishing provider htcmsgs: com.android.providers.telephony.HtcMsgsProvider
I/ActivityThread( 305): Publishing provider mms: com.android.providers.telephony.MmsProvider
D/dalvikvm( 102): GC freed 5316 objects / 475320 bytes in 807ms
I/OOBE_MainActivity( 322): onCreate OOBE 1.1
V/htcCheckinService( 102): Checkin service onCreate()!
I/RecoverySystem( 102): No recovery log file
D/htcCheckinProvider( 102): htcCheckinProvider::onCreate(SQLiteDatabase) start
D/htcCheckinProvider( 102): htcCheckinProvider::onCreate(SQLiteDatabase) end
W/dalvikvm( 102): VFY: bad exception entry: startAddr=95 endAddr=95 (size=681)
W/dalvikvm( 102): VFY: rejected Lcom/android/providers/htcCheckin/htcCheckinService$htcCheckinReceiver;.run ()V
W/dalvikvm( 102): Verifier rejected class Lcom/android/providers/htcCheckin/htcCheckinService$htcCheckinReceiver;
W/dalvikvm( 102): threadid=15: thread exiting with uncaught exception (group=0x4001e390)
E/AndroidRuntime( 102): Uncaught handler: thread android.server.ServerThread exiting due to uncaught exception
E/AndroidRuntime( 102): *** EXCEPTION IN SYSTEM PROCESS. System will crash.
E/AndroidRuntime( 102): java.lang.VerifyError: com.android.providers.htcCheckin.htcCheckinService$htcCheckinReceiver
E/AndroidRuntime( 102): at com.android.providers.htcCheckin.htcCheckinService.onCreate(htcCheckinService.java:289)
E/AndroidRuntime( 102): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2894)
E/AndroidRuntime( 102): at android.app.ActivityThread.access$3200(ActivityThread.java:126)
E/AndroidRuntime( 102): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1986)
E/AndroidRuntime( 102): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 102): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 102): at com.android.server.ServerThread.run(SystemServer.java:509)
D/OOBE_MainActivity( 322): hasSetupWizRun = 0
D/dalvikvm( 305): Note: class Lcom/android/internal/telephony/BaseCommands; has 158 unimplemented (abstract) methods
I/Process ( 102): Sending signal. PID: 102 SIG: 9
D/OOBE_MainActivity( 322): startActivityForResult nRequestCode == 1, mnCurStep == 0
V/OOBE_MainActivity( 322): No previous activity to back aftert back key pressed
V/OOBE_MainActivity( 322): Customization has not run.
I/ServiceManager( 68): service 'activity' died
I/ServiceManager( 68): service 'activity.senders' died
I/ServiceManager( 68): service 'telephony.registry' died
I/ServiceManager( 68): service 'power' died
I/ServiceManager( 68): service 'batteryinfo' died
I/ServiceManager( 68): service 'SurfaceFlinger' died
I/ServiceManager( 68): service 'permission' died
I/ServiceManager( 68): service 'usagestats' died
I/ServiceManager( 68): service 'entropy' died
I/ServiceManager( 68): service 'devicestoragemonitor' died
I/ServiceManager( 68): service 'location' died
I/ServiceManager( 68): service 'notification' died
I/ServiceManager( 68): service 'bluetooth_spp' died
I/ServiceManager( 68): service 'activity.providers' died
I/ServiceManager( 68): service 'package' died
I/ServiceManager( 68): service 'meminfo' died
I/ServiceManager( 68): service 'activity.services' died
I/ServiceManager( 68): service 'cpuinfo' died
I/ServiceManager( 68): service 'window' died
I/ServiceManager( 68): service 'input_method' died
I/ServiceManager( 68): service 'wifi' died
I/ServiceManager( 68): service 'mount' died
I/ServiceManager( 68): service 'activity.broadcasts' died
I/ServiceManager( 68): service 'bluetooth_pbap' died
I/ServiceManager( 68): service 'bluetooth_avrcp' died
I/ServiceManager( 68): service 'statusbar' died
I/ServiceManager( 68): service 'bluetooth' died
I/ServiceManager( 68): service 'account' died
I/ServiceManager( 68): service 'clipboard' died
I/ServiceManager( 68): service 'netstat' died
I/ServiceManager( 68): service 'audio' died
I/ServiceManager( 68): service 'bluetooth_a2dp' died
I/ServiceManager( 68): service 'content' died
I/ServiceManager( 68): service 'mcp_monitor' died
I/ServiceManager( 68): service 'search' died
I/ServiceManager( 68): service 'connectivity' died
I/ServiceManager( 68): service 'accessibility' died
I/ServiceManager( 68): service 'wallpaper' died
I/ServiceManager( 68): service 'battery' died
I/ServiceManager( 68): service 'hardware' died
I/ServiceManager( 68): service 'alarm' died
I/ServiceManager( 68): service 'sensor' died
I/ServiceManager( 68): service 'backup' died
I/ServiceManager( 68): service 'appwidget' died
I/ServiceManager( 68): service 'htc_checkin' died
I/ServiceManager( 68): service 'checkin' died
E/SearchManager( 308): getSearchablesInGlobalSearch() failed: android.os.DeadObjectException
D/AndroidRuntime( 308): Shutting down VM
W/dalvikvm( 308): threadid=3: thread exiting with uncaught exception (group=0x4001e390)
E/AndroidRuntime( 308): Uncaught handler: thread main exiting due to uncaught exception
I/ActivityThread( 322): Removing dead content provider: settings
I/ActivityThread( 305): Removing dead content provider: settings
D/BootAnimation( 111): SurfaceFlinger died, exiting...
I/OOBE_MainActivity( 322): onResume
E/installd( 75): eof
E/installd( 75): failed to read size
I/installd( 75): closing connection
E/AndroidRuntime( 308): java.lang.RuntimeException: Unable to get provider com.android.globalsearch.SuggestionProvider: java.lang.NullPointerException
E/AndroidRuntime( 308): at android.app.ActivityThread.installProvider(ActivityThread.java:4502)
E/AndroidRuntime( 308): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4229)
E/AndroidRuntime( 308): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4188)
E/AndroidRuntime( 308): at android.app.ActivityThread.access$2900(ActivityThread.java:126)
E/AndroidRuntime( 308): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
E/AndroidRuntime( 308): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 308): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 308): at android.app.ActivityThread.main(ActivityThread.java:4595)
E/AndroidRuntime( 308): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 308): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 308): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime( 308): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime( 308): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 308): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 308): at com.android.globalsearch.SuggestionSources.addExternalSources(SuggestionSources.java:249)
E/AndroidRuntime( 308): at com.android.globalsearch.SuggestionSources.updateSources(SuggestionSources.java:240)
E/AndroidRuntime( 308): at com.android.globalsearch.SuggestionSources.load(SuggestionSources.java:194)
E/AndroidRuntime( 308): at com.android.globalsearch.SuggestionProvider.onCreate(SuggestionProvider.java:100)
E/AndroidRuntime( 308): at android.content.ContentProvider.attachInfo(ContentProvider.java:710)
E/AndroidRuntime( 308): at android.app.ActivityThread.installProvider(ActivityThread.java:4499)
E/AndroidRuntime( 308): ... 12 more
I/Zygote ( 72): Exit zygote because system server (102) has terminated
I/Process ( 308): Sending signal. PID: 308 SIG: 9
E/ActivityThread( 305): Failed to find provider info for settings
D/AndroidRuntime( 305): Shutting down VM
W/dalvikvm( 305): threadid=3: thread exiting with uncaught exception (group=0x4001e390)
E/AndroidRuntime( 305): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 305): java.lang.RuntimeException: Unable to create application com.android.phone.PhoneApp: java.lang.NullPointerException
E/AndroidRuntime( 305): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4195)
E/AndroidRuntime( 305): at android.app.ActivityThread.access$2900(ActivityThread.java:126)
E/AndroidRuntime( 305): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
E/AndroidRuntime( 305): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 305): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 305): at android.app.ActivityThread.main(ActivityThread.java:4595)
E/AndroidRuntime( 305): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 305): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 305): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime( 305): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime( 305): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 305): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 305): at android.content.ContentResolver.registerContentObserver(ContentResolver.java:831)
E/AndroidRuntime( 305): at com.android.internal.telephony.gsm.GsmServiceStateTracker.<init>(GsmServiceStateTracker.java:250)
E/AndroidRuntime( 305): at com.android.internal.telephony.gsm.GSMPhone.<init>(GSMPhone.java:216)
E/AndroidRuntime( 305): at com.android.internal.telephony.gsm.GSMPhone.<init>(GSMPhone.java:203)
E/AndroidRuntime( 305): at com.android.internal.telephony.PhoneFactory.makeDefaultPhone(PhoneFactory.java:117)
E/AndroidRuntime( 305): at com.android.internal.telephony.PhoneFactory.makeDefaultPhones(PhoneFactory.java:52)
E/AndroidRuntime( 305): at com.android.phone.PhoneApp.onCreate(PhoneApp.java:941)
E/AndroidRuntime( 305): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
E/AndroidRuntime( 305): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4192)
E/AndroidRuntime( 305): ... 10 more
I/Process ( 305): Sending signal. PID: 305 SIG: 9

Happens right at the end of the first boot, just before the screen should switch from boot animation to system. DexInv runs through all the apps during the boot and doesn't really show anything I'd call out of the ordinary. Replacing or removing the CheckinProvider.apk doesn't really help anything, the crash is just caused a bit later by some other app.

The thing I'm thinking about now after your mention of reodexing everything the deodexed file depends upon is if it's not possible that I'm deodexing the framework in the wrong order instead of some specific one I should be following. I'm just deodexing it alphabetically, pretty much - it showed no errors during the process so I didn't really think about that this might be the problem.