Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8148555

[macosx] An uncaught exception was raised entering Emoji into JTextArea

    XMLWordPrintable

Details

    • b114
    • x86
    • os_x

    Description

      FULL PRODUCT VERSION :
      java version "1.8.0_72"
      Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      OS X 10.11.3 (15D21)

      A DESCRIPTION OF THE PROBLEM :
      Entering an Emoji from the system's Characters palette into a JTextArea will not display the Emoji, but cause a native stack trace printed to the terminal instead.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. In System Settings, Keyboard, make sure that the CHaracter palette for selecting Emoji and other symbols is displayed in the menu bar; it's the Checkobox at the bottom of that settings page
      2. Start a Java application showing a JTextArea
      3. Open the list of Emoji from the menu bar
      4. Choose any Emoji, e.g. U+1F600 (😀�); double-click to insert


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Emoji entered into the text area. Perhaps rendered as the missing glyph symbol if the font doesn't support it.
      ACTUAL -
      Nothing entered.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      2016-01-28 13:48:34.862 java[2744:128864] -[NSConcreteMutableAttributedString lengthOfBytesUsingEncoding:]: unrecognized selector sent to instance 0x7f9f0f23c310
      2016-01-28 13:48:34.863 java[2744:128864] An uncaught exception was raised
      2016-01-28 13:48:34.863 java[2744:128864] -[NSConcreteMutableAttributedString lengthOfBytesUsingEncoding:]: unrecognized selector sent to instance 0x7f9f0f23c310
      2016-01-28 13:48:34.867 java[2744:128864] (
      0 CoreFoundation 0x00007fff88a40ae2 __exceptionPreprocess + 178
      1 libobjc.A.dylib 0x00007fff9133df7e objc_exception_throw + 48
      2 CoreFoundation 0x00007fff88a43b9d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
      3 CoreFoundation 0x00007fff8897c601 ___forwarding___ + 1009
      4 CoreFoundation 0x00007fff8897c188 _CF_forwarding_prep_0 + 120
      5 libawt_lwawt.dylib 0x00000001286d00c5 -[AWTView insertText:replacementRange:] + 71
      6 AppKit 0x00007fff9b12ea3c -[NSTextInputContext(NSInputContext_WithCompletion) insertText:replacementRange:completionHandler:] + 79
      7 AppKit 0x00007fff9b75a7b7 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2250 + 127
      8 AppKit 0x00007fff9b12e9dd -[NSTextInputContext do_HandleTSMEvent_insertFixLenTextLoop:whileCondition:dispatchWorkEach:afterEachInsertText:continuation:] + 181
      9 AppKit 0x00007fff9b75848f -[NSTextInputContext tryHandleTSMEvent_insertFixLenText_withContext:dispatchCondition:setupForDispatch:nestedWorkaroundCondition:nestedWorkaroundDispatchWork:loopCondition:dispatchWorkEach:afterEachInsertText:continuation:] + 428
      10 AppKit 0x00007fff9b75a337 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke176 + 4253
      11 AppKit 0x00007fff9b12e5b4 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2 + 95
      12 AppKit 0x00007fff9b12e527 -[NSTextInputContext tryHandleTSMEvent_HasMarkedText_withDispatchCondition:dispatchWork:continuation:] + 101
      13 AppKit 0x00007fff9b12e217 -[NSTextInputContext handleTSMEvent:completionHandler:] + 3173
      14 AppKit 0x00007fff9b12d546 _NSTSMEventHandler + 324
      15 HIToolbox 0x00007fff86bbf7be _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1231
      16 HIToolbox 0x00007fff86bbec48 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 404
      17 HIToolbox 0x00007fff86bbeaab SendEventToEventTargetWithOptions + 43
      18 HIToolbox 0x00007fff86c13f7d SendTSMEvent_WithCompletionHandler + 417
      19 HIToolbox 0x00007fff86dc7a81 __SendUnicodeTextAsUnicodeForKeyEvent_WithCompletionHandler_block_invoke + 796
      20 HIToolbox 0x00007fff86c142bf __SendFilterTextEvent_WithCompletionHandler_block_invoke + 189
      21 HIToolbox 0x00007fff86c13fcd SendTSMEvent_WithCompletionHandler + 497
      22 HIToolbox 0x00007fff86c13daf SendFilterTextEvent_WithCompletionHandler + 236
      23 HIToolbox 0x00007fff86dc62fc __SendTextInputEvent_WithCompletionHandler_block_invoke + 1089
      24 HIToolbox 0x00007fff86dc43fd SendTextInputEvent_WithCompletionHandler + 1228
      25 HIToolbox 0x00007fff86e30474 -[IMKInputSession _postEvent:completionHandler:] + 184
      26 HIToolbox 0x00007fff86e2c0f3 -[IMKInputSession insertText:completionHandler:] + 126
      27 HIToolbox 0x00007fff86e37ced __43-[IMKInputSession imkxpc_insertText:reply:]_block_invoke + 613
      28 CoreFoundation 0x00007fff889504ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
      29 CoreFoundation 0x00007fff88942165 __CFRunLoopDoBlocks + 341
      30 CoreFoundation 0x00007fff88941ecb __CFRunLoopRun + 2347
      31 CoreFoundation 0x00007fff88941338 CFRunLoopRunSpecific + 296
      32 HIToolbox 0x00007fff86be7935 RunCurrentEventLoopInMode + 235
      33 HIToolbox 0x00007fff86be776f ReceiveNextEventCommon + 432
      34 HIToolbox 0x00007fff86be75af _BlockUntilNextEventMatchingListInModeWithFilter + 71
      35 AppKit 0x00007fff9aef80ee _DPSNextEvent + 1067
      36 AppKit 0x00007fff9b2c4943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
      37 libosxapp.dylib 0x00000001287813aa -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 124
      38 AppKit 0x00007fff9aeedfc8 -[NSApplication run] + 682
      39 libosxapp.dylib 0x000000012878114d +[NSApplicationAWT runAWTLoopWithApp:] + 156
      40 libawt_lwawt.dylib 0x000000012870e55b -[AWTStarter starter:] + 905
      41 Foundation 0x00007fff942c8d4b __NSThreadPerformPerform + 279
      42 CoreFoundation 0x00007fff889505c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
      43 CoreFoundation 0x00007fff8894241c __CFRunLoopDoSources0 + 556
      44 CoreFoundation 0x00007fff8894193f __CFRunLoopRun + 927
      45 CoreFoundation 0x00007fff88941338 CFRunLoopRunSpecific + 296
      46 java 0x000000010ed70463 CreateExecutionEnvironment + 871
      47 java 0x000000010ed6c1ac JLI_Launch + 1952
      48 java 0x000000010ed724c0 main + 101
      49 java 0x000000010ed6ba04 start + 52
      50 ??? 0x0000000000000002 0x0 + 2
      )

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javax.swing.*;
      class Test {
          public static void main(String[] args) {
              JFrame frm = new JFrame();
              frm.getContentPane().add(new JTextArea());
              frm.setSize(800, 600);
              frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frm.setVisible(true);
          }
      }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Inserting the Emoji into some other application, like this browser window I'm using here, and then copying it from there to the JTextArea using the clipboard leads to a missing glyph with no console output. So this appears to be an input problem, not a rendering problem.

      Attachments

        Issue Links

          Activity

            People

              aniyogi Avik Niyogi (Inactive)
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: