Recent

Author Topic: More than 1 main menu entries -> crash  (Read 5192 times)

Leledumbo

  • Hero Member
  • *****
  • Posts: 8836
  • Programming + Glam Metal + Tae Kwon Do = Me
More than 1 main menu entries -> crash
« on: May 20, 2012, 01:01:02 pm »
As a continuation of http://forum.lazarus.freepascal.org/index.php/topic,16942.0.html, and because I'm a bit impatience, I redesign the GUI a little so that it now only uses TMainMenu, TPaintBox and TLabel (and I think it's more Android in style), which is already implemented and now I end up in another problem. The form now appears, but when I try to open up the main menu, the application exits. Here's the stacktrace:
Quote
I/ActivityManager(   61): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.pascal.lcltest/.LCLActivity } from pid 136
I/ActivityManager(   61): Start proc com.pascal.lcltest for activity com.pascal.lcltest/.LCLActivity: pid=404 uid=10034 gids={}
I/javanesechess(  404): Trying to load libjavanesechess.so
D/dalvikvm(  404): Trying to load lib /data/data/com.pascal.lcltest/lib/libjavanesechess.so 0x40514b10
D/dalvikvm(  404): Added shared lib /data/data/com.pascal.lcltest/lib/libjavanesechess.so 0x40514b10
I/lclapp  (  404): JNI_OnLoad called
I/lclapp  (  404): Reading our Activity Class
I/lclapp  (  404): JNI_OnLoad finished
I/lclapp  (  404): LCLOnCreate called by LCLActivity.onCreate
I/lclapp  (  404): [TCDWSCustomForm.ShowHide] First form layout adjustment lOldDPI=96 lNewDPI=240 lOldFormWidth=431 lNewFormWidth=100
I/lclapp  (  404): [LCLOnConfigurationChanged] i=0 lOldDPI=240 lNewDPI=240 lOldFormWidth=100 lNewFormWidth=480
D/dalvikvm(  404): GC_EXTERNAL_ALLOC freed 55K, 53% free 2556K/5379K, external 1625K/2137K, paused 41ms
I/ActivityManager(   61): Displayed com.pascal.lcltest/.LCLActivity: +1s295ms (total +3m17s27ms)
W/KeyCharacterMap(  404): No keyboard for id 0
W/KeyCharacterMap(  404): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
I/lclapp  (  404): onCreateOptionsMenu
I/lclapp  (  404): onPrepareOptionsMenu
I/lclapp  (  404): LCLOnMenuAction called kind=0 itemIndex=0
I/lclapp  (  404): LCLOnMenuAction item=0
I/lclapp  (  404): LCLOnMenuAction lJavaString=4051C980 Str=New javaObject_lclmenu_captions=4051C958
I/lclapp  (  404): LCLOnMenuAction item=1
I/lclapp  (  404): LCLOnMenuAction lJavaString=40514650 Str=Load javaObject_lclmenu_captions=4051C958
W/dalvikvm(  404): JNI WARNING: 0x4051c958 is not a valid JNI reference
W/dalvikvm(  404):              in Lcom/pascal/lcltest/LCLActivity;.LCLOnMenuAction (II)I (SetObjectArrayElement)
I/dalvikvm(  404): "main" prio=5 tid=1 RUNNABLE
I/dalvikvm(  404):   | group="main" sCount=0 dsCount=0 obj=0x4001f1a8 self=0xce48
I/dalvikvm(  404):   | sysTid=404 nice=0 sched=0/0 cgrp=default handle=-1345006528
I/dalvikvm(  404):   | schedstat=( 621492032 490525409 102 )
I/dalvikvm(  404):   at com.pascal.lcltest.LCLActivity.LCLOnMenuAction(Native Method)
I/dalvikvm(  404):   at com.pascal.lcltest.LCLActivity.onPrepareOptionsMenu(LCLActivity.java:280)
I/dalvikvm(  404):   at android.app.Activity.onPreparePanel(Activity.java:2174)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:332)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:420)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:396)
I/dalvikvm(  404):   at android.app.Activity.openOptionsMenu(Activity.java:2340)
I/dalvikvm(  404):   at com.pascal.lcltest.LCLActivity$LCLSurface.onKeyUp(LCLActivity.java:170)
I/dalvikvm(  404):   at android.view.KeyEvent.dispatch(KeyEvent.java:1280)
I/dalvikvm(  404):   at android.view.View.dispatchKeyEvent(View.java:3855)
I/dalvikvm(  404):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
I/dalvikvm(  404):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
I/dalvikvm(  404):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1687)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1120)
I/dalvikvm(  404):   at android.app.Activity.dispatchKeyEvent(Activity.java:2073)
I/dalvikvm(  404):   at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1663)
I/dalvikvm(  404):   at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2560)
I/dalvikvm(  404):   at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2535)
I/dalvikvm(  404):   at android.view.ViewRoot.handleMessage(ViewRoot.java:1867)
I/dalvikvm(  404):   at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm(  404):   at android.os.Looper.loop(Looper.java:123)
I/dalvikvm(  404):   at android.app.ActivityThread.main(ActivityThread.java:3683)
I/dalvikvm(  404):   at java.lang.reflect.Method.invokeNative(Native Method)
I/dalvikvm(  404):   at java.lang.reflect.Method.invoke(Method.java:507)
I/dalvikvm(  404):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
I/dalvikvm(  404):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
I/dalvikvm(  404):   at dalvik.system.NativeStart.main(Native Method)
I/dalvikvm(  404):
E/dalvikvm(  404): VM aborting
I/DEBUG   (   31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (   31): Build fingerprint: 'generic/sdk/generic:2.3.3/GRI34/101070:eng/test-keys'
I/DEBUG   (   31): pid: 404, tid: 404  >>> com.pascal.lcltest <<<
I/DEBUG   (   31): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
I/DEBUG   (   31):  r0 fffffec4  r1 deadd00d  r2 00000026  r3 00000000
I/DEBUG   (   31):  r4 800a45c0  r5 80085a94  r6 80085a94  r7 0000abe0
I/DEBUG   (   31):  r8 8003a37d  r9 41ad88c4  10 00000001  fp be81244c
I/DEBUG   (   31):  ip 800a4720  sp be8122f0  lr afd19375  pc 80045a4a  cpsr 20000030
I/DEBUG   (   31):          #00  pc 00045a4a  /system/lib/libdvm.so
I/DEBUG   (   31):          #01  pc 00037748  /system/lib/libdvm.so
I/DEBUG   (   31):          #02  pc 000386ec  /system/lib/libdvm.so
I/DEBUG   (   31):          #03  pc 0003871e  /system/lib/libdvm.so
I/DEBUG   (   31):          #04  pc 00039a1c  /system/lib/libdvm.so
I/DEBUG   (   31):          #05  pc 0003a3d6  /system/lib/libdvm.so
I/DEBUG   (   31):
I/DEBUG   (   31): code around pc:
I/DEBUG   (   31): 80045a28 447a4479 ed0cf7d1 20004c09 ee34f7d1
I/DEBUG   (   31): 80045a38 447c4808 6bdb5823 d0002b00 49064798
I/DEBUG   (   31): 80045a48 700a2226 eea0f7d1 000436b7 00045275
I/DEBUG   (   31): 80045a58 0005eb82 fffffec4 deadd00d b510b40e
I/DEBUG   (   31): 80045a68 4c0a4b09 447bb083 aa05591b 6b5bca02
I/DEBUG   (   31):
I/DEBUG   (   31): code around lr:
I/DEBUG   (   31): afd19354 b0834a0d 589c447b 26009001 686768a5
I/DEBUG   (   31): afd19364 220ce008 2b005eab 1c28d003 47889901
I/DEBUG   (   31): afd19374 35544306 d5f43f01 2c006824 b003d1ee
I/DEBUG   (   31): afd19384 bdf01c30 000281a8 ffffff88 1c0fb5f0
I/DEBUG   (   31): afd19394 43551c3d a904b087 1c16ac01 604d9004
I/DEBUG   (   31):
I/DEBUG   (   31): stack:
I/DEBUG   (   31):     be8122b0  00000015 
I/DEBUG   (   31):     be8122b4  afd18407  /system/lib/libc.so
I/DEBUG   (   31):     be8122b8  afd4270c  /system/lib/libc.so
I/DEBUG   (   31):     be8122bc  afd426b8  /system/lib/libc.so
I/DEBUG   (   31):     be8122c0  00000000 
I/DEBUG   (   31):     be8122c4  afd19375  /system/lib/libc.so
I/DEBUG   (   31):     be8122c8  0000ce48  [heap]
I/DEBUG   (   31):     be8122cc  afd183d9  /system/lib/libc.so
I/DEBUG   (   31):     be8122d0  0000abe0  [heap]
I/DEBUG   (   31):     be8122d4  0005eb82  [heap]
I/DEBUG   (   31):     be8122d8  80085a94  /system/lib/libdvm.so
I/DEBUG   (   31):     be8122dc  80085a94  /system/lib/libdvm.so
I/DEBUG   (   31):     be8122e0  0000abe0  [heap]
I/DEBUG   (   31):     be8122e4  afd18437  /system/lib/libc.so
I/DEBUG   (   31):     be8122e8  0005eb82  [heap]
I/DEBUG   (   31):     be8122ec  80045a39  /system/lib/libdvm.so
I/DEBUG   (   31): #00 be8122f0  4051c958  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (   31):     be8122f4  8003774d  /system/lib/libdvm.so
I/DEBUG   (   31): #01 be8122f8  4051c958  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (   31):     be8122fc  800386f1  /system/lib/libdvm.so
D/Zygote  (   33): Process 404 terminated by signal (11)
I/ActivityManager(   61): Process com.pascal.lcltest (pid 404) has died.
E/InputDispatcher(   61): channel '4066b7f8 com.pascal.lcltest/com.pascal.lcltest.LCLActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
E/InputDispatcher(   61): channel '4066b7f8 com.pascal.lcltest/com.pascal.lcltest.LCLActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/WindowManager(   61): WIN DEATH: Window{4066b7f8 com.pascal.lcltest/com.pascal.lcltest.LCLActivity paused=false}
Previously these menus are entries of submenu of single "Game" menu (and there was no other menus), and I can make it appear even though the handle doesn't seem to work (no submenu appear). Now I have "New", "Load", "Save" and "Exit" as main menu entries, but the above problem happens.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: More than 1 main menu entries -> crash
« Reply #1 on: June 08, 2012, 11:06:21 am »
Are you using the very latest code from the LCL and the .java file? I made some fixes some weeks ago in the menu code.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8836
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: More than 1 main menu entries -> crash
« Reply #2 on: June 09, 2012, 10:43:18 am »
Yes, I took the one from svn (last update: yesterday), using the androidlcl example as the base. I'll try again tonight and post the latest source.

EDIT: yep, still doesn't work, attached is the latest source. now it doesn't even show anything, crashes with stackoverflow at program start.
« Last Edit: June 09, 2012, 03:54:03 pm by Leledumbo »

 

TinyPortal © 2005-2018