2

These simple lines of code get me a TransactionTooLargeException. In the same function, in another conditional branch, I have another dialog, which works perfectly. I am at a complete loss. Can you suggest anything?

Thank you

AlertDialog.Builder b = new AlertDialog.Builder(this);              
b.setTitle(R.string.choose_winner);
AlertDialog dialog = b.create();
dialog.show();

Here is the log, sorry I omited its inclusion the first time.

11-08 19:20:12.455: E/AndroidRuntime(1431): FATAL EXCEPTION: main

11-08 19:20:12.455: E/AndroidRuntime(1431): java.lang.RuntimeException: Adding window failed

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.setView(ViewRootImpl.java:491)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.Window$LocalWindowManager.addView(Window.java:537)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.app.Dialog.show(Dialog.java:278)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.sebmag.acquiroid.GameActivity.play(GameActivity.java:442)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.sebmag.acquiroid.GameActivity$PlayView.onTouch(GameActivity.java:126)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.View.dispatchTouchEvent(View.java:5536)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1912)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.app.Activity.dispatchTouchEvent(Activity.java:2364)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1860)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.View.dispatchPointerEvent(View.java:5721)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2890)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2466)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:845)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2475)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.os.Handler.dispatchMessage(Handler.java:99)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.os.Looper.loop(Looper.java:137)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.app.ActivityThread.main(ActivityThread.java:4575)

11-08 19:20:12.455: E/AndroidRuntime(1431): at java.lang.reflect.Method.invokeNative(Native Method)

11-08 19:20:12.455: E/AndroidRuntime(1431): at java.lang.reflect.Method.invoke(Method.java:511)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)

11-08 19:20:12.455: E/AndroidRuntime(1431): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)

11-08 19:20:12.455: E/AndroidRuntime(1431): at dalvik.system.NativeStart.main(Native Method)

11-08 19:20:12.455: E/AndroidRuntime(1431): Caused by: android.os.TransactionTooLargeException

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.os.BinderProxy.transact(Native Method)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:516)

11-08 19:20:12.455: E/AndroidRuntime(1431): at android.view.ViewRootImpl.setView(ViewRootImpl.java:481)

11-08 19:20:12.455: E/AndroidRuntime(1431): ... 33 more

11-08 19:20:12.650: E/AndroidRuntime(1431): Error reporting crash

11-08 19:20:12.650: E/AndroidRuntime(1431): android.os.DeadObjectException

11-08 19:20:12.650: E/AndroidRuntime(1431): at android.os.BinderProxy.transact(Native Method)

11-08 19:20:12.650: E/AndroidRuntime(1431): at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:2867)

11-08 19:20:12.650: E/AndroidRuntime(1431): at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:72)

11-08 19:20:12.650: E/AndroidRuntime(1431): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)

11-08 19:20:12.650: E/AndroidRuntime(1431): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

11-08 19:20:12.650: E/AndroidRuntime(1431): at dalvik.system.NativeStart.main(Native Method)

Tomik
  • 23,857
  • 8
  • 121
  • 100
pouzzler
  • 1,800
  • 2
  • 20
  • 32
  • could we see the log? methinks something else is going on. – David M Nov 08 '12 at 18:34
  • i found http://stackoverflow.com/questions/11451393/what-to-do-on-transactiontoolargeexception/12809171#12809171" this but it doesn't seem to be terribly related. this is beyond my experience. – David M Nov 08 '12 at 18:45
  • I was caught in an infinite loop, sorry again for your time. – pouzzler Nov 08 '12 at 19:09

2 Answers2

4

The problem was other than what I thought. Namely I was caught in an infinite while loop. Question closed, shame +1.

pouzzler
  • 1,800
  • 2
  • 20
  • 32
1

I can see you solved your problem :) but let me write couple of lines for other lost souls having this problem I also had couple of day ago.

It turns out my problem was trying to move a large graph of objects between activities. There is a 1MB limit on data being transferred and the limit is even smaller in real life. I've solved the issue by reverting to good old java serialization instead of using Parcelable via Parceler library. More info in this blog post.

Nemanja Kovacevic
  • 3,510
  • 2
  • 30
  • 45