2016-05-04 14 views
8

Nie mogłem uruchomić żadnej wersji Androida Studio 2.x. zawiesi pozornie losowo z tej samej wyjątku po < 1min do poruszania się po prostu plików w projekcie:Android Studio 2.0+ ulega awarii na OS X

Exception Name: JavaNativeException 
Description: java.lang.NullPointerException 
    at sun.lwawt.macosx.CAccessibility.getAccessibleIndexInParent(CAccessibility.java:287) 

User Info: (null) 

0 CoreFoundation      0x00007fff94a9e4f2 __exceptionPreprocess + 178 
1 libobjc.A.dylib      0x00007fff88d51f7e objc_exception_throw + 48 
2 CoreFoundation      0x00007fff94a9e439 -[NSException raise] + 9 
3 JavaNativeFoundation    0x000000011be9251f JNFCallStaticIntMethod + 236 
4 libawt_lwawt.dylib     0x000000011d7c8deb +[JavaComponentAccessibility createWithAccessible:withEnv:withView:] + 76 
5 libawt_lwawt.dylib     0x000000011d7c930b -[JavaComponentAccessibility accessibilityFocusedUIElement] + 194 
6 libawt_lwawt.dylib     0x000000011d79e4f6 -[AWTView accessibilityFocusedUIElement] + 156 
7 AppKit        0x00007fff98c44d37 -[NSWindow(NSWindowAccessibility) accessibilityFocusedUIElement] + 118 
8 libawt_lwawt.dylib     0x000000011d7c9069 +[JavaComponentAccessibility postFocusChanged:] + 96 
9 Foundation       0x00007fff9427af5e __NSThreadPerformPerform + 279 
10 CoreFoundation      0x00007fff94a33881 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
11 CoreFoundation      0x00007fff94a12fbc __CFRunLoopDoSources0 + 556 
12 CoreFoundation      0x00007fff94a124df __CFRunLoopRun + 927 
13 CoreFoundation      0x00007fff94a11ed8 CFRunLoopRunSpecific + 296 
14 HIToolbox       0x00007fff963fe935 RunCurrentEventLoopInMode + 235 
15 HIToolbox       0x00007fff963fe76f ReceiveNextEventCommon + 432 
16 HIToolbox       0x00007fff963fe5af _BlockUntilNextEventMatchingListInModeWithFilter + 71 
17 AppKit        0x00007fff98463efa _DPSNextEvent + 1067 
18 AppKit        0x00007fff9846332a -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 
19 libosxapp.dylib      0x000000011d8503aa -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 124 
20 AppKit        0x00007fff98457e84 -[NSApplication run] + 682 
21 libosxapp.dylib      0x000000011d85014d +[NSApplicationAWT runAWTLoopWithApp:] + 156 
22 libawt_lwawt.dylib     0x000000011d7dd4b3 -[AWTStarter starter:] + 905 
23 Foundation       0x00007fff9427af5e __NSThreadPerformPerform + 279 
24 CoreFoundation      0x00007fff94a33881 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
25 CoreFoundation      0x00007fff94a12fbc __CFRunLoopDoSources0 + 556 
26 CoreFoundation      0x00007fff94a124df __CFRunLoopRun + 927 
27 CoreFoundation      0x00007fff94a11ed8 CFRunLoopRunSpecific + 296 
28 studio        0x00000001000012f3 main + 357 
29 studio        0x000000010000116c start + 52 
30 ???         0x0000000000000001 0x0 + 1 

biegnę OS X 10.11.4 z Java w wersji 1.8.0_92.

Widziałem kilka innych odniesień do tego problemu w kontekście wykonywania operacji przeciągania &, ale zaakceptowane rozwiązanie aktualizacji wersji JDK nie rozwiązało mojego problemu.

FWIW mogę uruchomić Studio 1.5 bez napotkania tego problemu.

+0

wygląda na to, że musisz zgłosić błąd. –

+4

To samo tutaj. Mam to od czasu aktualizacji do publicznej wersji beta MacOS Sierra. – Steffen

+0

* AKTUALIZACJA * - od czasu aktualizacji do wersji 1.8.0_101 nie wystąpiły żadne awarie. wcześniej powodował awarię w ciągu kilku minut swobodnego użytkowania (otwieranie/zamykanie plików, nawigowanie po folderach). działa przez około 30 minut teraz bez incydentów. – hsl

Odpowiedz

0

Odpowiadając na pytanie, dlaczego tak faktycznie się dzieje, ale source ma to:

public static int getAccessibleIndexInParent(final Accessible a, final Component c) { 
     if (a == null) return 0; 

     return invokeAndWait(new Callable<Integer>() { 
      public Integer call() throws Exception { 
       final AccessibleContext ac = a.getAccessibleContext(); 
       if (ac == null) return null; 
       return ac.getAccessibleIndexInParent(); 
      } 
     }, c); 
    } 

Jak widać, te Callable zwraca NULL w pewnych sytuacjach, co jest w porządku dla Integer, ale dostaniesz NPE, gdy tylko rozpakuje to, aby zwrócić int. Prawdopodobnie powinny być sprawdzane pod kątem zerowej wartości i zwracania 0.

Powiązane problemy