Thanks ROMAIN, but I need to clarify the problem: What I am trying to say is there is a HACKER on my chat app who is able to send out a certain sequence of characters (it's like 2 unicode characters, but I'm not sure which ones), and it causes all these layers to explode out and causes the stack overflow.
I have personally witnessed him do it. For example, there will be like 10 ppl in the chat room all normally chatting away and my app is working perfectly fine. Then, this hacker says to the room, OK EVERYONE I AM GOING TO CAUSE FORCE CLOSE.. WATCH HAHHAHA. Then, all of a sudden, the screen goes blank and FORCE CLOSES. I have a limit on the # of characters you can post to the room, so it's NOT like he's posting a huge text string that Android can't handle. The core of my chat app consists of a ListView using your efficient adapter concept. So, what I am trying to say is your TextView can be hacked by certain sequence of unicode characters and it causes too many layers to explode out and causes a stack overflow. There is some hole in the TextView, Romain. In fact I was on again this morning and this hacker, goes by the name of KING_BOU did it again. And everyone in the room gets upset at him and he loves attention and laughs. Like he feels some sort of personal power or gratification. I have his deviceid so we can track him down... smh @ his hax.... OH, ONE LAST IMPORTANT NOTE: IF I CONVERT ALL POSTS FROM UNICODE TO ASCII, THIS PROBLEM NEVER HAPPENS!! BUT MY USERS LOVE THEIR SYMBOLS SO I CANNOT TAKE THAT AWAY FROM THEM. IM SO UPSET ABOUT ALL THIS. PLEASE HELP IF YOU CAN. HAS SOMETHING TO DO WITH TextView draw with certain UNICODES. THANK YOU!!! On Sep 2, 3:18 pm, Romain Guy <[email protected]> wrote: > Yes, you have too many layers. You should check in HiearchyViewer. > > > > On Wed, Sep 2, 2009 at 2:18 PM, kevikev2020<[email protected]> wrote: > > > Hi, I DO NOT HAVE TOO MANY LAYERS, THIS STACK OVERFLOW EXCEPTION ONLY > > OCCURS WHEN A CERTAIN UNICODE CHARACTER SEQUENCE COME TO THE > > LISTVIEW. THIS BUG IS KILLING ME BECAUSE I CANNOT PUT A TRY/CATCH > > AROUND IT ANYWHERE IN MY CODE: > > > I DO NOT KNOW WHAT THAT SEQUENCE IS, BUT I DO KNOW IT"S A CERTAIN > > SMILEY FACE + ANOTHER CHARACTER THAT CAUSES IT, I AM CERTAIN IT'S NOT > > BECAUSE I HAVE TOO MANY VIEWS. IF SOMEBODY KNOWS THE WORK-AROUND, OR > > ANY WAY IT CAN BE TRAPPED, PLEASE LET ME KNOW THANK YOU! > > > 09-02 21:04:27.101: ERROR/AndroidRuntime(916): Uncaught handler: > > thread main exiting due to uncaught exception > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): > > java.lang.StackOverflowError > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > java.lang.String.getChars(String.java:992) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.text.TextUtils.getChars(TextUtils.java:63) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.text.Layout.drawText(Layout.java:1352) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.text.Layout.draw(Layout.java:339) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.TextView.onDraw(TextView.java:3921) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5838) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1486) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.AbsListView.dispatchDraw(AbsListView.java:1319) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.ListView.dispatchDraw(ListView.java:2820) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5944) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.AbsListView.draw(AbsListView.java:2121) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1486) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5841) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1486) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5841) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.FrameLayout.draw(FrameLayout.java:352) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1486) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1484) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5841) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.FrameLayout.draw(FrameLayout.java:352) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1486) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.View.draw(View.java:5841) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.widget.FrameLayout.draw(FrameLayout.java:352) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > com.android.internal.policy.impl.PhoneWindow$DecorView.draw > > (PhoneWindow.java:1847) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewRoot.draw(ViewRoot.java:1217) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewRoot.performTraversals(ViewRoot.java:1030) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.view.ViewRoot.handleMessage(ViewRoot.java:1482) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.os.Handler.dispatchMessage(Handler.java:99) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.os.Looper.loop(Looper.java:123) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > android.app.ActivityThread.main(ActivityThread.java:3948) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > java.lang.reflect.Method.invokeNative(Native Method) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > java.lang.reflect.Method.invoke(Method.java:521) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run > > (ZygoteInit.java:782) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) > > 09-02 21:04:27.200: ERROR/AndroidRuntime(916): at > > dalvik.system.NativeStart.main(Native Method) > > -- > Romain Guy > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time > to provide private support. All such questions should be posted on > public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

