Return-Path: X-Original-To: apmail-cordova-issues-archive@minotaur.apache.org Delivered-To: apmail-cordova-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 66EEAF4F9 for ; Thu, 4 Apr 2013 18:11:16 +0000 (UTC) Received: (qmail 23439 invoked by uid 500); 4 Apr 2013 18:11:16 -0000 Delivered-To: apmail-cordova-issues-archive@cordova.apache.org Received: (qmail 23424 invoked by uid 500); 4 Apr 2013 18:11:16 -0000 Mailing-List: contact issues-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list issues@cordova.apache.org Received: (qmail 23302 invoked by uid 99); 4 Apr 2013 18:11:16 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Apr 2013 18:11:16 +0000 Date: Thu, 4 Apr 2013 18:11:16 +0000 (UTC) From: "Max Woghiren (JIRA)" To: issues@cordova.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (CB-2666) Android bridge chokes on UTF characters only on Galaxy S2 JellyBean MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CB-2666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Max Woghiren resolved CB-2666. ------------------------------ Resolution: Fixed Assignee: Max Woghiren (was: Andrew Grieve) Pushed to apache: js: https://git-wip-us.apache.org/repos/asf?p=cordova-js.git;a=commit;h=10788b94dbe91bd999d705ecab58f3a8fe7a9145 Android: https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commit;h=1fa63300aa9783e4664d43c745df7b9013653602 > Android bridge chokes on UTF characters only on Galaxy S2 JellyBean > ------------------------------------------------------------------- > > Key: CB-2666 > URL: https://issues.apache.org/jira/browse/CB-2666 > Project: Apache Cordova > Issue Type: Bug > Components: Android > Reporter: Andrew Grieve > Assignee: Max Woghiren > Priority: Minor > Attachments: LoggerTest.zip > > > Reported via email from Lindsey Simon. > Test project attached. > This bug appears to be in a call to the logger plugin. We overload the plugin to point at our own Java Class in config.xml, but call it like cordova.require('cordova/plugin/logger').log('foo). > Anyhow, this bug is really hard to reproduce - and I'm only getting on a Galaxy S2 with Jelly Bean. > Maybe this Eclipse dump is useful? I'm having trouble figure I might do to fix it. > // Compiled from ExposedJsApi.java (version 1.5 : 49.0, super bit) > class org.apache.cordova.ExposedJsApi { > > // Field descriptor #12 Lorg/apache/cordova/api/PluginManager; > private org.apache.cordova.api.PluginManager pluginManager; > > // Field descriptor #14 Lorg/apache/cordova/NativeToJsMessageQueue; > private org.apache.cordova.NativeToJsMessageQueue jsMessageQueue; > > // Method descriptor #16 (Lorg/apache/cordova/api/PluginManager;Lorg/apache/cordova/NativeToJsMessageQueue;)V > // Stack: 2, Locals: 3 > public ExposedJsApi(org.apache.cordova.api.PluginManager pluginManager, org.apache.cordova.NativeToJsMessageQueue jsMessageQueue); > 0 aload_0 [this] > 1 invokespecial java.lang.Object() [1] > 4 aload_0 [this] > 5 aload_1 [pluginManager] > 6 putfield org.apache.cordova.ExposedJsApi.pluginManager : org.apache.cordova.api.PluginManager [2] > 9 aload_0 [this] > 10 aload_2 [jsMessageQueue] > 11 putfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 14 return > Line numbers: > [pc: 0, line: 36] > [pc: 4, line: 37] > [pc: 9, line: 38] > [pc: 14, line: 39] > Local variable table: > [pc: 0, pc: 15] local: this index: 0 type: org.apache.cordova.ExposedJsApi > [pc: 0, pc: 15] local: pluginManager index: 1 type: org.apache.cordova.api.PluginManager > [pc: 0, pc: 15] local: jsMessageQueue index: 2 type: org.apache.cordova.NativeToJsMessageQueue > > // Method descriptor #23 (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; > // Stack: 5, Locals: 9 > @android.webkit.JavascriptInterface > public java.lang.String exec(java.lang.String service, java.lang.String action, java.lang.String callbackId, java.lang.String arguments) throws org.json.JSONException; > 0 aload_0 [this] > 1 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 4 iconst_1 > 5 invokevirtual org.apache.cordova.NativeToJsMessageQueue.setPaused(boolean) : void [4] > 8 aload_0 [this] > 9 getfield org.apache.cordova.ExposedJsApi.pluginManager : org.apache.cordova.api.PluginManager [2] > 12 aload_1 [service] > 13 aload_2 [action] > 14 aload_3 [callbackId] > 15 aload 4 [arguments] > 17 invokevirtual org.apache.cordova.api.PluginManager.exec(java.lang.String, java.lang.String, java.lang.String, java.lang.String) : boolean [5] > 20 istore 5 [wasSync] > 22 ldc [6] > 24 astore 6 [ret] > 26 aload_0 [this] > 27 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 30 invokevirtual org.apache.cordova.NativeToJsMessageQueue.popAndEncode() : java.lang.String [7] > 33 astore 6 [ret] > 35 aload 6 [ret] > 37 astore 7 > 39 aload_0 [this] > 40 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 43 iconst_0 > 44 invokevirtual org.apache.cordova.NativeToJsMessageQueue.setPaused(boolean) : void [4] > 47 aload 7 > 49 areturn > 50 astore 8 > 52 aload_0 [this] > 53 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 56 iconst_0 > 57 invokevirtual org.apache.cordova.NativeToJsMessageQueue.setPaused(boolean) : void [4] > 60 aload 8 > 62 athrow > Exception Table: > [pc: 8, pc: 39] -> 50 when : any > [pc: 50, pc: 52] -> 50 when : any > Line numbers: > [pc: 0, line: 43] > [pc: 8, line: 45] > [pc: 22, line: 46] > [pc: 26, line: 48] > [pc: 35, line: 50] > [pc: 39, line: 52] > Local variable table: > [pc: 22, pc: 50] local: wasSync index: 5 type: boolean > [pc: 26, pc: 50] local: ret index: 6 type: java.lang.String > [pc: 0, pc: 63] local: this index: 0 type: org.apache.cordova.ExposedJsApi > [pc: 0, pc: 63] local: service index: 1 type: java.lang.String > [pc: 0, pc: 63] local: action index: 2 type: java.lang.String > [pc: 0, pc: 63] local: callbackId index: 3 type: java.lang.String > [pc: 0, pc: 63] local: arguments index: 4 type: java.lang.String > > // Method descriptor #37 (I)V > // Stack: 2, Locals: 2 > @android.webkit.JavascriptInterface > public void setNativeToJsBridgeMode(int value); > 0 aload_0 [this] > 1 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 4 iload_1 [value] > 5 invokevirtual org.apache.cordova.NativeToJsMessageQueue.setBridgeMode(int) : void [8] > 8 return > Line numbers: > [pc: 0, line: 58] > [pc: 8, line: 59] > Local variable table: > [pc: 0, pc: 9] local: this index: 0 type: org.apache.cordova.ExposedJsApi > [pc: 0, pc: 9] local: value index: 1 type: int > > // Method descriptor #41 ()Ljava/lang/String; > // Stack: 1, Locals: 1 > @android.webkit.JavascriptInterface > public java.lang.String retrieveJsMessages(); > 0 aload_0 [this] > 1 getfield org.apache.cordova.ExposedJsApi.jsMessageQueue : org.apache.cordova.NativeToJsMessageQueue [3] > 4 invokevirtual org.apache.cordova.NativeToJsMessageQueue.popAndEncode() : java.lang.String [7] > 7 areturn > Line numbers: > [pc: 0, line: 63] > Local variable table: > [pc: 0, pc: 8] local: this index: 0 type: org.apache.cordova.ExposedJsApi > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira