Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-17322] Android: KS crashes when the developer option "do not keep activities" turns on

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2014-09-04T18:48:40.000+0000
Affected Version/sRelease 3.2.3, Release 3.3.0, Release 3.4.0
Fix Version/sRelease 3.4.0
ComponentsAndroid
Labelsmodule_android, qe-manualtest, qe-testadded, regression
ReporterPing Wang
AssigneeIngo Muschenetz
Created2014-07-11T22:20:04.000+0000
Updated2014-11-17T21:52:54.000+0000

Description

This is a regression on 3.2.3.GA. The issue does not happen on 3.2.2.GA. To reproduce: 1. Turn on the developer option "do not keep activities". 2. Run KS. 3. Click any test, eg "Slider". 4. Click the BACK button. Expected behavior: the app is closed without crash. Actual behavior: the app crashes. Here is the crash log:
E/TiApplication( 1172): (main) [13,29380] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appcelerator.kitchensink/org.appcelerator.titanium.TiActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public; Titanium 3.2.3,2014/04/22 10:17,b958a70
E/TiApplication( 1172): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appcelerator.kitchensink/org.appcelerator.titanium.TiActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public
E/TiApplication( 1172): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
E/TiApplication( 1172): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/TiApplication( 1172): 	at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/TiApplication( 1172): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/TiApplication( 1172): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/TiApplication( 1172): 	at android.os.Looper.loop(Looper.java:137)
E/TiApplication( 1172): 	at android.app.ActivityThread.main(ActivityThread.java:4424)
E/TiApplication( 1172): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/TiApplication( 1172): 	at java.lang.reflect.Method.invoke(Method.java:511)
E/TiApplication( 1172): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/TiApplication( 1172): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/TiApplication( 1172): 	at dalvik.system.NativeStart.main(Native Method)
E/TiApplication( 1172): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public
E/TiApplication( 1172): 	at android.app.Fragment.instantiate(Fragment.java:585)
E/TiApplication( 1172): 	at android.app.FragmentState.instantiate(Fragment.java:96)
E/TiApplication( 1172): 	at android.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1682)
E/TiApplication( 1172): 	at android.app.Activity.onCreate(Activity.java:861)
E/TiApplication( 1172): 	at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:204)
E/TiApplication( 1172): 	at org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:520)
E/TiApplication( 1172): 	at org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18)
E/TiApplication( 1172): 	at android.app.Activity.performCreate(Activity.java:4465)
E/TiApplication( 1172): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/TiApplication( 1172): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
E/TiApplication( 1172): 	... 11 more
E/TiApplication( 1172): Caused by: java.lang.InstantiationException: can't instantiate class ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment; no empty constructor
E/TiApplication( 1172): 	at java.lang.Class.newInstanceImpl(Native Method)
E/TiApplication( 1172): 	at java.lang.Class.newInstance(Class.java:1319)
E/TiApplication( 1172): 	at android.app.Fragment.instantiate(Fragment.java:574)
E/TiApplication( 1172): 	... 20 more

Comments

  1. Ping Wang 2014-07-11

    This regression is caused by TIMOB-13864
  2. Hieu Pham 2014-07-11

  3. Ingo Muschenetz 2014-08-14

    3.4.0 is moved forward, and 3.5.0 is taking its place in the calendar.
  4. jithinpv 2014-08-22

    Issue reproduces in Titanium SDK version 3.4.0 master, 3.3.0.GA, 3.2.3.GA but works fine in Titanium SDK version 3.2.2.GA Titanium Studio, build: 3.3.0.201407100905 Titanium Command-Line Interface CLI version 3.3.0, Android device : Motorola Moto G, Android version : 4.4.4
  5. Lokesh Choudhary 2014-09-04

    The issue is reproducible with SDK 3.3.0.GA, 3.2.3.GA but not with latest 3.4.0 (3.4.0.v20140903121714). Environment: Appc Studio : 3.4.0.201409032106 Ti SDK : 3.4.0.v20140903121714 Mac OSX : 10.9.4 Alloy : 1.5.0-beta CLI - 3.4.0-beta Code Processor: 1.1.1 Nexus 5 - android 4.4.4 Galaxy Nexus - android 4.2.2 KS Version : 3.3.0 & 3.3.1
  6. Lokesh Choudhary 2014-09-04

    Reopening to put in tester

JSON Source