Closed maabuss closed 11 years ago
I see this when I am on 2G (no different from the stock app). Does this happen on 2G or 3G?
maabuss notifications@github.com wrote:
the TS app will not successfully receive a mms message. it just sits there and does nothing, no errors, just sits there "connecting to mms server". i thought it might be ann issue with my provider, however, they were not able to find any issues with my phone nor the towers i am connected to. i’d like an option to enable system messenger for receipt of mms messages if this cannot be rectified.
thanks for your time.
Maabuss
Reply to this email directly or view it on GitHub: https://github.com/WhisperSystems/TextSecure/issues/107
I have two phones in my home with TS installed, and both see this behavior with MMS. As we don't send/receive that many of these, I haven't followed it up. This happens on 3g for us.
@maabuss There is an options in TextSecure that is enabled by default about MMS handling. If you uncheck it, I think the stock app will handle the MMS instead
@maabuss If you could post adb logcat output for the period when you receive an MMS message, that would help us figure out what is going wrong. You can either use the "adb" command-line interface, or on some devices install the app "aLogcat" from the Play Store. Thanks!
Thanks for all the great work on this app!
I'm having the MMS download issue on HTC G2 T-Mobile. Android 2.3.4. I don't have a dataplan, so only use data when connected via WiFi. I believe MMS was working fine when I first installed TextSecure a few weeks ago, but am not absolutely sure. Now when receiving MMS messages it just displays "Connecting to MMS server..." And sometimes the application then crashes. Same message appears on reload.
Only system changes I am aware of is that I recently changed my passphrase.
Not sure what log segments to report, but these seems relevant. I can post more if you tell me what to look for. Let me know if anything else I can do to help debug.
This log chunk looks like it has a java exception:
I/ActivityManager( 1291): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.thoughtcrime.securesms/.ConversationListActivity bnds=[245,231][355,349] } from pid 1375 W/ConversationListActivity(13178): onPrepareOptionsMenu... W/KeyCharacterMap(13178): No keyboard for id -1 W/KeyCharacterMap(13178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/ConversationListActivity(13178): onResume called... W/ConversationListActivity(13178): Checking caching service... W/SMSSenderService(13178): Processing outgoing message: -1 W/KeyCachingService(13178): Incrementing activity count... W/DecryptingQueue(13178): Processing pending decrypts... W/ConversationListActivity(13178): onPrepareOptionsMenu... W/ConversationListActivity(13178): createConversationIfNecessary called V/RenderScript_jni( 1375): surfaceDestroyed D/dalvikvm(13178): GC_EXTERNAL_ALLOC freed 229K, 44% free 4015K/7111K, external 4315K/4614K, paused 69ms D/Launcher.AllApps3D( 1375): surfaceDestroyed D/Launcher.AllApps3D( 1375): set mMessageCallback null I/ActivityManager( 1291): Displayed org.thoughtcrime.securesms/.ConversationListActivity: +359ms D/dalvikvm( 1375): GC_EXPLICIT freed 59K, 58% free 3385K/7879K, external 6250K/7767K, paused 366ms I/Kineto::wifi( 1372): onReceive Enter V/Kineto::wifi( 1372): RSSI_CHANGED_ACTION newRssi: -67 I/Kineto::wifi( 1372): onReceive Exit W/ConversationListActivity(13178): Creating conversation: 22 I/ActivityManager( 1291): Starting: Intent { cmp=org.thoughtcrime.securesms/.ConversationActivity (has extras) } from pid 13178 W/ConversationListActivity(13178): Unregistering receiver... W/KeyCharacterMap(13178): No keyboard for id -1 W/KeyCharacterMap(13178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/SmsDatabase(13178): setMessagesRead time: 1 W/MmsSmsDatabase(13178): Executing query: SELECT _id, body, read, type, address, subject, thread_id, normalized_date AS date, m_type, msg_box, transport_type FROM (SELECT DISTINCT date * 1 AS normalized_date, _id, body, read, thread_id, type, address, subject, date, NULL AS m_type, NULL AS msg_box, 'sms' AS transport_type FROM sms WHERE (read = 0) UNION ALL SELECT DISTINCT date * 1000 AS normalized_date, _id, NULL AS body, read, thread_id, NULL AS type, NULL AS address, NULL AS subject, date, m_type, msg_box, 'mms' AS transport_type FROM mms WHERE (read = 0) ORDER BY normalized_date ASC) W/KeyUtil (13178): Checking session... W/LocalKeyRecord(13178): Checking: 22-local W/KeyCachingService(13178): Incrementing activity count... W/MmsSmsDatabase(13178): Executing query: SELECT _id, body, type, address, subject, normalized_date AS date, m_type, msg_box, transport_type FROM (SELECT DISTINCT date * 1 AS normalized_date, _id, body, read, thread_id, type, address, subject, date, NULL AS m_type, NULL AS msg_box, 'sms' AS transport_type FROM sms WHERE (thread_id = 22) UNION ALL SELECT DISTINCT date * 1000 AS normalized_date, _id, NULL AS body, read, thread_id, NULL AS type, NULL AS address, NULL AS subject, date, m_type, msg_box, 'mms' AS transport_type FROM mms WHERE (thread_id = 22) ORDER BY normalized_date ASC) I/dalvikvm(13178): Jit: resizing JitTable from 4096 to 8192 D/dalvikvm(13178): GC_EXTERNAL_ALLOC freed 299K, 41% free 4222K/7111K, external 4274K/4942K, paused 45ms W/MmsDatabase(13178): Getting label for status: 3 W/MmsDatabase(13178): Getting label for status: 3 I/ActivityManager( 1291): Displayed org.thoughtcrime.securesms/.ConversationActivity: +575ms W/KeyCachingService(13178): Decrementing activity count... D/KIPC ( 1218): KIPC_SendMessage: len = 4, socket = 15 D/KIPC ( 1218): Sent 4 bytes D/KIPCapp ( 1372): doSocketRead returning 2 bytes D/KIPCapp ( 1372): Attempt to read 4 bytes D/KIPCapp ( 1372): calling recv(43) D/KIPCapp ( 1372): doSocketRead returning 4 bytes D/KIPCapp ( 1372): Issuing MsgInd callback, len = 4 E/KINETO ( 1372): KLOG0C3- UKCCQueuePost : Enter len =%d E/KINETO ( 1372): KLOG082- 01 00 09 02 00 00 00 00 E/KINETO ( 1372): D/KIPCapp ( 1372): READ FD = 43 D/KIPCapp ( 1372): calling recv(43) E/KINETO ( 1372): KLOG0C4- xInEnv: 0x324e18 --> 0x324e18, opcode=521 E/KINETO ( 1372): KLOG0C4- AsGanRrModeIndEncoder E/KINETO ( 1372): KLOG0C4- AsGanRrModeIndEncoder: rrmode 0 E/KINETO ( 1372): KLOG0C4- SendIpaGsmRRState E/KINETO ( 1372): KLOG0C4- SendIpcDataReq 0xa6 E/KINETO ( 1372): KLOG0C4- IPC_SEND 3331 E/KINETO ( 1372): KLOG0C3- GAN_OS_sendIpcMessage : Enter E/KINETO ( 1372): KLOG003- IPA_MSG_GSM_RR_STATE event E/KINETO ( 1372): KLOG0C4- XMK_SEND_ENV: id=218 recv=3 E/KINETO ( 1372): KLOG0C4- xmk_Send: 254 -> 3, id=218 E/KINETO ( 1372): KLOG0C4- snd: 254 recv: 3 sig: 218 prio: 100 E/KINETO ( 1372): KLOG0C4- NewState: Process 3 to State 254, Symbol 60 E/KINETO ( 1372): KLOG004- GSM RR State: 0 - UMA RR State: 3 I/Kineto::main( 1372): Kineto: WifiAppStatusCallback Enter ganMode: 80 D/dalvikvm( 1375): GC_EXPLICIT freed <1K, 58% free 3385K/7879K, external 6250K/7767K, paused 48ms W/KeyCharacterMap(13178): Can't open keycharmap file W/KeyCharacterMap(13178): Error loading keycharmap file '/system/usr/keychars/atmel-touchscreen.kcm.bin'. hw.keyboards.131074.devname='atmel-touchscreen' W/KeyCharacterMap(13178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/ConversationListActivity(13178): onResume called... W/ConversationListActivity(13178): Checking caching service... W/KeyCachingService(13178): Incrementing activity count... W/DecryptingQueue(13178): Processing pending decrypts... W/ConversationListActivity(13178): onPrepareOptionsMenu... W/KeyCharacterMap(13178): No keyboard for id -1 W/KeyCharacterMap(13178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/ConversationListActivity(13178): createConversationIfNecessary called W/KeyCachingService(13178): Decrementing activity count... W/ConversationListActivity(13178): Creating conversation: 8 I/ActivityManager( 1291): Starting: Intent { cmp=org.thoughtcrime.securesms/.ConversationActivity (has extras) } from pid 13178 W/ConversationListActivity(13178): Unregistering receiver... W/SmsDatabase(13178): setMessagesRead time: 1 W/MmsSmsDatabase(13178): Executing query: SELECT _id, body, read, type, address, subject, thread_id, normalized_date AS date, m_type, msg_box, transport_type FROM (SELECT DISTINCT date * 1 AS normalized_date, _id, body, read, thread_id, type, address, subject, date, NULL AS m_type, NULL AS msg_box, 'sms' AS transport_type FROM sms WHERE (read = 0) UNION ALL SELECT DISTINCT date * 1000 AS normalized_date, _id, NULL AS body, read, thread_id, NULL AS type, NULL AS address, NULL AS subject, date, m_type, msg_box, 'mms' AS transport_type FROM mms WHERE (read = 0) ORDER BY normalized_date ASC) W/KeyUtil (13178): Checking session... W/LocalKeyRecord(13178): Checking: 8-local W/KeyCachingService(13178): Incrementing activity count... W/MmsSmsDatabase(13178): Executing query: SELECT _id, body, type, address, subject, normalized_date AS date, m_type, msg_box, transport_type FROM (SELECT DISTINCT date * 1 AS normalized_date, _id, body, read, thread_id, type, address, subject, date, NULL AS m_type, NULL AS msg_box, 'sms' AS transport_type FROM sms WHERE (thread_id = 8) UNION ALL SELECT DISTINCT date * 1000 AS normalized_date, _id, NULL AS body, read, thread_id, NULL AS type, NULL AS address, NULL AS subject, date, m_type, msg_box, 'mms' AS transport_type FROM mms WHERE (thread_id = 8) ORDER BY normalized_date ASC) D/dalvikvm(13178): GC_EXTERNAL_ALLOC freed 511K, 41% free 4455K/7431K, external 5668K/6695K, paused 51ms W/MmsDatabase(13178): Getting label for status: 3 W/MmsDatabase(13178): Getting label for status: 3 I/ActivityManager( 1291): Displayed org.thoughtcrime.securesms/.ConversationActivity: +547ms W/KeyCachingService(13178): Decrementing activity count... W/MmsDownloadClickListener(13178): Content location: http://10.165.193.17/mms/wapenc?location=15034735784_3bcunc&rid=152 W/MmsService(13178): Got network info: NetworkInfo: type: mobile_mms[HSDPA], state: DISCONNECTED/DISCONNECTED, reason: dataDisabled, extra: epc.tmobile.com, roaming: false, failover: false, isAvailable: true I/TelephonyRegistry( 1291): notifyDataConnection: state=0 isDataConnectivityPossible=true reason=apnSwitched interfaceName=null networkType=8 I/TelephonyRegistry( 1291): notifyDataConnection: state=1 isDataConnectivityPossible=true reason=apnSwitched interfaceName=null networkType=8 W/SmsDatabase(13178): setMessagesRead time: 1 W/MmsService(13178): Dispatching connectivity change... W/MmsService(13178): Dispatched... W/MmsDatabase(13178): Getting label for status: 3 W/MmsDatabase(13178): Getting label for status: 3 W/MmsService(13178): NetworkInfo: NetworkInfo: type: mobile_mms[HSDPA], state: CONNECTING/CONNECTING, reason: apnSwitched, extra: epc.tmobile.com, roaming: false, failover: false, isAvailable: true W/MmsService(13178): Got network info: NetworkInfo: type: mobile_mms[HSDPA], state: CONNECTING/CONNECTING, reason: apnSwitched, extra: epc.tmobile.com, roaming: false, failover: false, isAvailable: true I/TelephonyRegistry( 1291): notifyDataConnection: state=2 isDataConnectivityPossible=true reason=apnSwitched interfaceName=rmnet0 networkType=8 D/Tethering( 1291): MasterInitialState.processMessage what=3 W/MmsService(13178): Dispatching connectivity change... W/MmsService(13178): Dispatched... W/MmsService(13178): NetworkInfo: NetworkInfo: type: mobile_mms[HSDPA], state: CONNECTED/CONNECTED, reason: apnSwitched, extra: epc.tmobile.com, roaming: false, failover: false, isAvailable: true W/MmsDownloadService(13178): Handling MMS download continuation... I/MediaUploader(13486): No need to wake up D/Smack ( 1403): [XMPPConn] close connection, notifyClosed=false E/DatabaseUtils( 1370): Writing exception to parcel E/DatabaseUtils( 1370): android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x3cae40 E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteProgram.native_bind_string(Native Method) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:244) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:185) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330) E/DatabaseUtils( 1370): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280) E/DatabaseUtils( 1370): at com.android.providers.telephony.TelephonyProvider.query(TelephonyProvider.java:383) E/DatabaseUtils( 1370): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:174) E/DatabaseUtils( 1370): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:111) E/DatabaseUtils( 1370): at android.os.Binder.execTransact(Binder.java:320) E/DatabaseUtils( 1370): at dalvik.system.NativeStart.run(Native Method) W/dalvikvm(13178): threadid=9: thread exiting with uncaught exception (group=0x4001d570) E/AndroidRuntime(13178): FATAL EXCEPTION: SendReceveService-WorkerThread E/AndroidRuntime(13178): android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x3cae40 E/AndroidRuntime(13178): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) E/AndroidRuntime(13178): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) E/AndroidRuntime(13178): at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) E/AndroidRuntime(13178): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366) E/AndroidRuntime(13178): at android.content.ContentResolver.query(ContentResolver.java:262) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.database.MmsDatabase.getCarrierMmsInformation(MmsDatabase.java:435) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.mms.MmsCommunication.getMmsConnectionParameters(MmsCommunication.java:55) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.mms.MmsDownloadHelper.retrieveMms(MmsDownloadHelper.java:56) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.service.MmsDownloader.handleDownloadMmsContinued(MmsDownloader.java:70) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.service.MmsDownloader.handleConnectivityChange(MmsDownloader.java:121) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.service.MmsDownloader.process(MmsDownloader.java:135) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.service.SendReceiveService$SendReceiveWorkItem.run(SendReceiveService.java:198) E/AndroidRuntime(13178): at org.thoughtcrime.securesms.util.WorkerThread.run(WorkerThread.java:46) W/ActivityManager( 1291): Force finishing activity org.thoughtcrime.securesms/.ConversationActivity E/Listen (14301): wifiReceiver onReceive W/ConversationListActivity(13178): onResume called... W/ConversationListActivity(13178): Checking caching service... I/ReportAgentReceiver(11475): [onReceive] android.net.conn.CONNECTIVITY_CHANGE V/ReportAgentReceiver(11475): Recv Intent: Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000000 cmp=com.htc.reportagent/.ReportAgentReceiver (has extras) } W/KeyCachingService(13178): Incrementing activity count... W/DecryptingQueue(13178): Processing pending decrypts... W/ConversationListActivity(13178): onPrepareOptionsMenu... W/KeyCharacterMap(13178): No keyboard for id -1 W/KeyCharacterMap(13178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin W/ConversationListActivity(13178): createConversationIfNecessary called
Thanks for the log @skyebend . Your problem is also a result of a device with an unqueryable APN database. We've fixed that particular bug in 54fad30f9f19c68e8e42ae3f85f76dd7f1113a3f, so the next release will include the fix.
Hm; I just this morning updated to the latest version (and since running CyanogenMod 10.1 / 4.2.1 I have had issues with receiving MMS).
Just tried to send an MMS after manually entering the APN settings within TextSecure. TextSecure crashed.
Now trying to open TextSecure again, after I enter the passphrase, it crashes again. The logs seem to be pretty clear why (missing permission):
I/ActivityManager( 2207): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 pkg=org.thoughtcrime.securesms cmp=org.thoughtcrime.securesms/.ConversationListActivity bnds=[144,508][255,631]} from pid 2740 D/dalvikvm(12050): GC_CONCURRENT freed 209K, 15% free 2590K/3040K, paused 17ms+2ms, total 86ms D/dalvikvm(12050): GC_FOR_ALLOC freed 19K, 14% free 2675K/3096K, paused 14ms, total 15ms I/dalvikvm-heap(12050): Grow heap (frag case) to 3.465MB for 635812-byte allocation D/dalvikvm(12050): GC_FOR_ALLOC freed 2K, 12% free 3294K/3720K, paused 24ms, total 24ms D/dalvikvm(12050): GC_CONCURRENT freed 6K, 11% free 3344K/3720K, paused 3ms+9ms, total 37ms W/ConversationListActivity(12050): onResume called... W/ConversationListActivity(12050): Checking caching service... W/KeyCachingService(12050): Incrementing activity count... W/ConversationListActivity(12050): createConversationIfNecessary called I/ActivityManager( 2207): START u0 {cmp=org.thoughtcrime.securesms/.PassphrasePromptActivity} from pid 12050 D/libEGL (12050): loaded /system/lib/egl/libEGL_mali.so D/libEGL (12050): loaded /system/lib/egl/libGLESv1_CM_mali.so D/libEGL (12050): loaded /system/lib/egl/libGLESv2_mali.so D/OpenGLRenderer(12050): Enabling debug mode 0 W/ConversationListActivity(12050): Unregistering receiver... W/ConversationListActivity(12050): onPrepareOptionsMenu... W/ConversationListActivity(12050): onPrepareOptionsMenu... D/dalvikvm( 2207): GC_CONCURRENT freed 1899K, 25% free 16261K/21584K, paused 21ms+9ms, total 231ms I/ActivityManager( 2207): Displayed org.thoughtcrime.securesms/.ConversationListActivity: +645ms D/dalvikvm(12050): GC_CONCURRENT freed 139K, 10% free 3642K/4036K, paused 2ms+3ms, total 42ms I/ActivityManager( 2207): Displayed org.thoughtcrime.securesms/.PassphrasePromptActivity: +378ms D/dalvikvm( 2586): GC_CONCURRENT freed 2579K, 25% free 12019K/15888K, paused 3ms+6ms, total 46ms D/dalvikvm( 2586): WAIT_FOR_CONCURRENT_GC blocked 40ms D/dalvikvm( 2712): GC_FOR_ALLOC freed 1304K, 30% free 4325K/6160K, paused 58ms, total 58ms D/dalvikvm( 2712): GC_CONCURRENT freed 27K, 21% free 4926K/6160K, paused 4ms+11ms, total 51ms W/RecipientProvider(12050): Cache miss [ASYNC]! W/RecipientProvider(12050): Cache miss [ASYNC]! W/RecipientProvider(12050): Cache miss [ASYNC]! W/RecipientProvider(12050): Cache miss [ASYNC]! D/dalvikvm(12050): GC_CONCURRENT freed 131K, 9% free 3971K/4360K, paused 3ms+3ms, total 24ms W/service (12050): Broadcasting new secret... D/dalvikvm(12050): GC_EXPLICIT freed 203K, 11% free 3998K/4460K, paused 3ms+3ms, total 44ms W/SurfaceFlinger( 1861): FB is protected: PERMISSION_DENIED W/WindowManager( 2207): Failure taking screenshot for (246x410) to layer 21060 W/SendReceiveService(12050): Got a MasterSecret broadcast... W/PartProvider(12050): Got master secret: org.thoughtcrime.securesms.crypto.MasterSecret@411a40c0 W/SendReceiveService(12050): Got a MasterSecret broadcast... W/SendReceiveService(12050): SendReceive service got master secret: org.thoughtcrime.securesms.crypto.MasterSecret@411912d0 W/SMSSenderService(12050): Processing outgoing message: -1 W/ConversationListActivity(12050): onResume called... W/ConversationListActivity(12050): Checking caching service... W/EncryptingPartDatabase(12050): Getting part at: /data/data/org.thoughtcrime.securesms/app_parts/part1269300858.mms W/DecryptingQueue(12050): Processing pending decrypts... W/ConversationListActivity(12050): createConversationIfNecessary called W/ConversationListActivity(12050): onPrepareOptionsMenu... I/dalvikvm(12050): Total arena pages for JIT: 11 I/dalvikvm(12050): Total arena pages for JIT: 12 I/dalvikvm(12050): Total arena pages for JIT: 13 I/dalvikvm(12050): Total arena pages for JIT: 14 I/dalvikvm(12050): Total arena pages for JIT: 15 I/dalvikvm(12050): Total arena pages for JIT: 16 I/dalvikvm(12050): Total arena pages for JIT: 17 W/MmsService(12050): Got network info: NetworkInfo: type: mobile_mms[HSDPA], state: DISCONNECTED/DISCONNECTED, reason: dataDisabled, extra: telenor, roaming: false, failover: false, isAvailable: true D/ConnectivityService( 2207): startUsingNetworkFeature reconnecting to 0: enableMMS D/ConnectivityService( 2207): ConnectivityChange for mobile_mms: CONNECTED/CONNECTED W/MmsService(12050): Dispatching connectivity change... W/MmsService(12050): Dispatched... W/NetworkPolicy( 2207): shared quota unsupported; generating rule for each iface I/dalvikvm(12050): Total arena pages for JIT: 18 W/MmsService(12050): NetworkInfo: NetworkInfo: type: mobile_mms[HSDPA], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: telenor, roaming: false, failover: false, isAvailable: true W/MmsSenderService(12050): Handling MMS send continuation... W/PduComposer(12050): Making send request... W/PduComposer(12050): Making message body... W/PduComposer(12050): Returning: 8045 bytes... W/MmsSender(12050): Sending MMS of length: 8045 E/DatabaseUtils( 2731): Writing exception to parcel E/DatabaseUtils( 2731): java.lang.SecurityException: No permission to write APN settings: Neither user 10092 nor current process has android.permission.WRITE_APN_SETTINGS. E/DatabaseUtils( 2731): at android.app.ContextImpl.enforce(ContextImpl.java:1572) E/DatabaseUtils( 2731): at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1601) E/DatabaseUtils( 2731): at com.android.providers.telephony.TelephonyProvider.checkPermission(TelephonyProvider.java:768) E/DatabaseUtils( 2731): at com.android.providers.telephony.TelephonyProvider.query(TelephonyProvider.java:474) E/DatabaseUtils( 2731): at android.content.ContentProvider.query(ContentProvider.java:652) E/DatabaseUtils( 2731): at android.content.ContentProvider$Transport.query(ContentProvider.java:189) E/DatabaseUtils( 2731): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113) E/DatabaseUtils( 2731): at android.os.Binder.execTransact(Binder.java:351) E/DatabaseUtils( 2731): at dalvik.system.NativeStart.run(Native Method) W/dalvikvm(12050): threadid=11: thread exiting with uncaught exception (group=0x40d71930) E/AndroidRuntime(12050): FATAL EXCEPTION: SendReceveService-WorkerThread E/AndroidRuntime(12050): java.lang.SecurityException: No permission to write APN settings: Neither user 10092 nor current process has android.permission.WRITE_APN_SETTINGS. E/AndroidRuntime(12050): at android.os.Parcel.readException(Parcel.java:1425) E/AndroidRuntime(12050): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185) E/AndroidRuntime(12050): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137) E/AndroidRuntime(12050): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366) E/AndroidRuntime(12050): at android.content.ContentResolver.query(ContentResolver.java:372) E/AndroidRuntime(12050): at android.content.ContentResolver.query(ContentResolver.java:315) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.database.MmsDatabase.getCarrierMmsInformation(MmsDatabase.java:435) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.mms.MmsCommunication.getMmsConnectionParameters(MmsCommunication.java:80) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.mms.MmsSendHelper.sendMms(MmsSendHelper.java:57) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.service.MmsSender.sendMms(MmsSender.java:142) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.service.MmsSender.handleSendMmsContinued(MmsSender.java:189) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.service.MmsSender.handleConnectivityChange(MmsSender.java:89) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.service.MmsSender.process(MmsSender.java:81) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.service.SendReceiveService$SendReceiveWorkItem.run(SendReceiveService.java:197) E/AndroidRuntime(12050): at org.thoughtcrime.securesms.util.WorkerThread.run(WorkerThread.java:46) W/ActivityManager( 2207): Force finishing activity org.thoughtcrime.securesms/.ConversationListActivity D/dalvikvm(12050): GC_CONCURRENT freed 339K, 13% free 4231K/4812K, paused 5ms+12ms, total 64ms W/SurfaceFlinger( 1861): FB is protected: PERMISSION_DENIED W/WindowManager( 2207): Failure taking screenshot for (246x410) to layer 21055 W/ConversationListActivity(12050): Unregistering receiver... W/SecureSMS(12050): onDestroy... W/KeyCachingService(12050): Decrementing activity count... I/Process (12050): Sending signal. PID: 12050 SIG: 9 I/ActivityManager( 2207): Process org.thoughtcrime.securesms (pid 12050) has died.
Of course, android.permission.WRITE_APN_SETTINGS is not available to applications not signed with a manufacturer key (ICS onwards, it seems). So adding this permission does not fix anything unless you have a rooted phone and stick it in /system/app (can confirm this works).
Quite a contentious issue, from what I can see: http://code.google.com/p/android/issues/detail?id=24227
Tor
What's even more contentious is that we're never even trying to write to the DB! The stack trace is clearly a query, and yet for some reason your device is trying to enforce WRITE_APN. This is probably an OEM mod that's a defensive mechanism against anyone accessing it for some reason. I'll have to catch the exception and fall back to the user-configured APN setting.
68c29f283d6d3c9664852e2ae672b93fe409fa2f
Can confirm that the patch prevents TS from crashing, but on my device, MMS send/receive now does not work (installed as a non-system app).
W/PduComposer( 5859): Making send request... W/PduComposer( 5859): Making message body... W/PduComposer( 5859): Returning: 26796 bytes... W/MmsSender( 5859): Sending MMS of length: 26796 E/DatabaseUtils( 3114): Writing exception to parcel E/DatabaseUtils( 3114): java.lang.SecurityException: No permission to write APN settings: Neither user 10092 nor current process has android.permission.WRITE_APN_SETTINGS. E/DatabaseUtils( 3114): at android.app.ContextImpl.enforce(ContextImpl.java:1572) E/DatabaseUtils( 3114): at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1601) E/DatabaseUtils( 3114): at com.android.providers.telephony.TelephonyProvider.checkPermission(TelephonyProvider.java:768) E/DatabaseUtils( 3114): at com.android.providers.telephony.TelephonyProvider.query(TelephonyProvider.java:474) E/DatabaseUtils( 3114): at android.content.ContentProvider.query(ContentProvider.java:652) E/DatabaseUtils( 3114): at android.content.ContentProvider$Transport.query(ContentProvider.java:189) E/DatabaseUtils( 3114): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113) E/DatabaseUtils( 3114): at android.os.Binder.execTransact(Binder.java:351) E/DatabaseUtils( 3114): at dalvik.system.NativeStart.run(Native Method) W/MmsCommunication( 5859): java.lang.SecurityException: No permission to write APN settings: Neither user 10092 nor current process has android.permission.WRITE_APN_SETTINGS. W/MmsCommunication( 5859): at android.os.Parcel.readException(Parcel.java:1425) W/MmsCommunication( 5859): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185) W/MmsCommunication( 5859): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137) W/MmsCommunication( 5859): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366) W/MmsCommunication( 5859): at android.content.ContentResolver.query(ContentResolver.java:372) W/MmsCommunication( 5859): at android.content.ContentResolver.query(ContentResolver.java:315) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.database.MmsDatabase.getCarrierMmsInformation(MmsDatabase.java:435) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.mms.MmsCommunication.getMmsConnectionParameters(MmsCommunication.java:80) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.mms.MmsSendHelper.sendMms(MmsSendHelper.java:57) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.service.MmsSender.sendMms(MmsSender.java:142) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.service.MmsSender.handleSendMmsContinued(MmsSender.java:189) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.service.MmsSender.handleConnectivityChange(MmsSender.java:89) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.service.MmsSender.process(MmsSender.java:81) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.service.SendReceiveService$SendReceiveWorkItem.run(SendReceiveService.java:197) W/MmsCommunication( 5859): at org.thoughtcrime.securesms.util.WorkerThread.run(WorkerThread.java:46) E/Trace ( 6064): error opening trace file: No such file or directory (2) I/UpdateCheckReceiver( 6064): Got connectivity change, has connection: true I/UpdateCheckReceiver( 6064): Scheduling future, repeating update checks.
@thoughtbox have you specified your MMSC in TextSecure application settings?
Yes.
Have the same exact issue as thoughtbox. Never had mms problems (send / recv) till todays 0.8.3 update which introduced configurable apns. After that sending mms crashes textsecure with the same dump from above. I did not change / configure anything / make use of the new functionality. Updating to 0.8.4 fixed that but i still cannot send mms. It now gives the normal "error sending message".
@unknown4x can you post logcat output?
@thoughtbox what value are you specifying for your MMC in TextSecure settings?
For MMSC i put in http://mmsc (like the system APN setting), for proxy, I've tried http://10.10.10.11:8080/ as well as 10.10.10.11:8080 (the system APN setting uses both host and port, however it does not specify this as a URL but host and port in two separate fields, so I'm guessing here).
@thoughtbox I think the proxy port is your problem. I've added an option for setting the port in ead97953e896295b48a6259eef096c6432f9ffbe . Could you test whether that solves your problems?
I shall endeavour to do that and get back to you., Thanks!
Can confirm this fix is good. Thank you.
One comment; can we (you) change the text from "Enable local APNs" to "Override local APN" ?
Tor
Thanks for the confirmation.
As for the language, the idea was that with these settings we're "locally" configuring the APN. We could perhaps change it to "Override system APN," but we're not actually overriding it. We're falling back to this if there are problems retrieving the system APN.
I see your point, but. How about, as you say, "Enable Fallback MMSC Values" or Configuration/Settings?
After all, we are not defining any access point names, just values for the mms centre?
Sure, fair enough: 25f75cb3d22270a6ddbaeb623e22d48488760d21
I had this issue months ago, you pushed a fix which seemed to work, and now it's happening again. Cannot receive MMS pix. I'm using a Virgin Mobile phone, an HTC EVO 4G, (runs on the Sprint network). Here's a logcat:
D/DATA ( 570): [PhoneNotifier] [DPN] state=CONNECTED possible=true reason=dataEnabled apn= type=mms lp=<<InterfaceName: rmnet0 LinkAddresses: [21.14.255.33/32,] Routes: [0.0.0.0/0 -> 21.14.255.34,] DnsAddresses: [68.29.9.7,68.29.1.7,] >> tech=6 roaming=false errorCause=0 carrier=null
D/DATA ( 570): [PhoneNotifier] update DcParam of mms(1)
I/TelephonyRegistry( 232): notifyDataConnection: state=2 isDataConnectivityPossible=true reason='dataEnabled' apn='' apnType=mms networkType=6 roaming=false errorCause=0
D/PhoneStatusBarPolicy( 495): onDataConnectionStateChanged , state= 2, networkType= 6, mPhoneState = 0
D/HtcCdmaStatusBar( 495): return sDataNetType_3g_cdma
D/PhoneStatusBarPolicy( 495): isCdma():true mSimState=UNKNOWN gprsState=0 mDataState=2 dataActivity=0
D/PhoneStatusBarPolicy( 495): hasService:true mPhone.htcModemLinkOn:false
D/PhoneStatusBarPolicy( 495): hasService()=true ,mDataState=2 ,mPhone.htcModemLinkOn()=false ,mDataActivity=0
D/PhoneStatusBarPolicy( 495): slotType[0]=NV
D/PhoneStatusBarPolicy( 495): mDataIconVisible = false, set visibility of 3g icon = false
D/PhoneStatusBarPolicy( 495): mDataIconVisible != visible
D/MobileDataStateTracker( 232): mms: mMobileDataState=CONNECTING mTeardownRequested=false got [AnyDataCSC] : type=mms state=CONNECTED reason=dataEnabled apn= roaming=false unavailable=false NetworkType=6 NetworkTypeName=CDMA - EvDo rev. A entitleError=0 apnCarrier=null
D/MobileDataStateTracker( 232): mms: setDetailed state, old=CONNECTING and new state=CONNECTED reason=dataEnabled extra= mEntitleError=0
D/ConnectivityService( 232): [embedded] ConnectivityChange for mobile_mms: CONNECTED/CONNECTED, default=1
D/ConnectivityService( 232): ConnectivityChange for mobile_mms: CONNECTED/CONNECTED
D/ConnectivityService( 232): handleConnect() networkinfo=NetworkInfo: type: mobile_mms[CDMA - EvDo rev. A], state: CONNECTED/CONNECTED, reason: dataEnabled, extra: , roaming: false, failover: false, isAvailable: true, isIpv4Connected: true, isIpv6Connected: false, isFailover=false
D/ConnectivityService( 232): [Dual mode]:handleConnectDualMode: Normal Mode handler
D/MobileDataStateTracker( 232): mms: setTeardownRequested(false)
D/ConnectivityService( 232): net.tcp.buffersize.evdo not found in system properties. Using defaults
D/ConnectivityService( 232): Setting TCP values: [4096,87380,110208,4096,16384,110208] which comes from [net.tcp.buffersize.default]
D/DATA ( 570): [PhoneNotifier] [DPN] state=DISCONNECTED possible=true reason=dataEnabled apn= type=default lp=<
Hey @baloneysandwiches , under TextSecure -> Settings -> MMSC Fallback could you try entering the following values?
MMSC: http://mmsc.vmobl.com:8080/mms Proxy: 205.239.233.136 Proxy Port: 81
@moxie thanks, that seems to work perfectly!
I've added those settings to the ApnDefaults in the next release. 3d49e90779cdded3699d2ba7248201ac4a22fc1f
Awesome, thank you.
the TS app will not successfully receive a mms message. it just sits there and does nothing, no errors, just sits there "connecting to mms server". i thought it might be ann issue with my provider, however, they were not able to find any issues with my phone nor the towers i am connected to. i’d like an option to enable system messenger for receipt of mms messages if this cannot be rectified.
thanks for your time.
Maabuss