kulesz
Member
|
[Android] Crash on world update?
Hi,
I've just tested Android SDK and it crashes with simple program. It's generally the base project code with world loading added.
When I comment "Game::World.update(Cam.at);" eveything works (except there's no world). PC version works OK.
Here's the code:
Code:
#include "../../Installation/EsenthelEngine/EsenthelEngine.h"
#include "_enums.h"
#include "Player.h"
Mesh mesh;
Matrix matrix(1);
Game::ObjMemx<Game::Static> Statics; // container for static objects
Game::ObjMemx<Game::Item> Items; // container for item objects
Game::ObjMemx<Game::Chr> Chrs; // container for character objects
Game::ObjMemx<Player> Players; // container for character objects
void InitPre()
{
App.flag = APP_AUTO_FREE_OPEN_GL_ES_DATA
| APP_AUTO_FREE_PHYS_BODY_HELPER_DATA
| APP_AUTO_PARTICLES_CONVERT_BLEND;
Paks.add("engine.pak.jet");
Paks.add("Data.pak.jet");
Cam.dist =4;
Cam.yaw =-PI_4;
Cam.pitch=-0.5f;
Cam.at.set(16,0,16);
}
/******************************************************************************/
Bool Init()
{
Physics.create(CSS_NONE, true);
Sky.atmospheric();
mesh.create(1).parts[0].base.create(Ball(1), VTX_TEX0 | VTX_NRM | VTX_TAN);
mesh.setMaterial(Materials.ptrRequire("mtrl/brick/0.mtrl")).setRender().setBox();
Game::World.init();
Game::World.setObjType(Statics, OBJ_STATIC)
.setObjType(Items, OBJ_ITEM)
.setObjType(Players, OBJ_PLAYER);
Game::World.New("World/area1.world");
D.ambientPower(0.6);
return true;
}
Bool Update()
{
if (Kb.bp(KB_ESC))
return false;
REPA(Touches)
{
Cam.yaw -= Touches[i].d().x;
Cam.pitch += Touches[i].d().y;
}
CamHandle(1.5, 10, CAMH_ZOOM | CAMH_ROT);
Game::World.update(Cam.at);
return true;
}
void Render()
{
Game::World.draw();
switch (Renderer())
{
case RM_PREPARE:
{
if (Frustum(mesh.box, matrix))
mesh.draw(matrix);
LightDir(Vec(0, 0, 1)).add();
}
break;
}
}
void Draw()
{
Renderer(Render);
}
void Shut()
{
}
Log:
Code:
11-19 19:26:09.309: I/DEBUG(12290): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-19 19:26:09.309: I/DEBUG(12290): Build fingerprint: 'samsung/GT-S5830/GT-S5830:2.3.3/GINGERBREAD/XWKPF:user/release-keys'
11-19 19:26:09.319: I/DEBUG(12290): pid: 15410, tid: 15419 >>> com.esenthel.Project <<<
11-19 19:26:09.319: I/DEBUG(12290): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 30edefb0
11-19 19:26:09.319: I/DEBUG(12290): r0 04000800 r1 00ed8fac r2 04000801 r3 30edefac
11-19 19:26:09.319: I/DEBUG(12290): r4 00000000 r5 00ed9278 r6 486e5080 r7 00000000
11-19 19:26:09.319: I/DEBUG(12290): r8 46dca8a4 r9 00000090 10 00000004 fp 00edd2cc
11-19 19:26:09.319: I/DEBUG(12290): ip 00000000 sp 46dca868 lr 8148203c pc 81421178 cpsr 00000030
11-19 19:26:09.319: I/DEBUG(12290): d0 414000003f800000 d1 3ff0000042c80000
11-19 19:26:09.319: I/DEBUG(12290): d2 bfd3441350baf6de d3 c1493000c1323800
11-19 19:26:09.319: I/DEBUG(12290): d4 4900000040dcb000 d5 000000000006e580
11-19 19:26:09.319: I/DEBUG(12290): d6 4515a00000000800 d7 40800000c48ee000
11-19 19:26:09.319: I/DEBUG(12290): d8 0000000000000000 d9 0000000000000000
11-19 19:26:09.319: I/DEBUG(12290): d10 0000000000000000 d11 0000000000000000
11-19 19:26:09.329: I/DEBUG(12290): d12 0000000000000000 d13 0000000000000000
11-19 19:26:09.329: I/DEBUG(12290): d14 0000000000000000 d15 0000000000000000
11-19 19:26:09.329: I/DEBUG(12290): scr 60000012
11-19 19:26:09.399: I/DEBUG(12290): #00 pc 00421178 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.399: I/DEBUG(12290): #01 pc 004214a2 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.399: I/DEBUG(12290): #02 pc 00362098 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.399: I/DEBUG(12290): #03 pc 003620be /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.399: I/DEBUG(12290): code around pc:
11-19 19:26:09.399: I/DEBUG(12290): 81421158 68014658 60026059 d1292f00 92036872
11-19 19:26:09.399: I/DEBUG(12290): 81421168 d0aa3201 69719803 181b0043 18cb009b
11-19 19:26:09.399: I/DEBUG(12290): 81421178 20016859 9a076071 9a066d11 1c014088
11-19 19:26:09.399: I/DEBUG(12290): 81421188 68f03901 04094011 9a0b0ac9 8ba81841
11-19 19:26:09.399: I/DEBUG(12290): 81421198 60184310 7800a809 7218aa09 20007812
11-19 19:26:09.399: I/DEBUG(12290): code around lr:
11-19 19:26:09.399: I/DEBUG(12290): 8148201c e49d0004 e12fff1e e1a0c000 e1a00001
11-19 19:26:09.409: I/DEBUG(12290): 8148202c e1a0100c eaffffff e92d400f ebffffe0
11-19 19:26:09.409: I/DEBUG(12290): 8148203c e3500000 43700000 e8bd800f e52de008
11-19 19:26:09.409: I/DEBUG(12290): 8148204c ebfffff8 03a00001 13a00000 e49df008
11-19 19:26:09.409: I/DEBUG(12290): 8148205c e52de008 ebfffff3 33a00001 23a00000
11-19 19:26:09.409: I/DEBUG(12290): stack:
11-19 19:26:09.409: I/DEBUG(12290): 46dca828 005e0002
11-19 19:26:09.409: I/DEBUG(12290): 46dca82c 3ea8f5c3
11-19 19:26:09.409: I/DEBUG(12290): 46dca830 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca834 005e0002
11-19 19:26:09.409: I/DEBUG(12290): 46dca838 bea8f5c3
11-19 19:26:09.409: I/DEBUG(12290): 46dca83c 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca840 00eda590
11-19 19:26:09.409: I/DEBUG(12290): 46dca844 46dca8a4
11-19 19:26:09.409: I/DEBUG(12290): 46dca848 00000001
11-19 19:26:09.409: I/DEBUG(12290): 46dca84c 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca850 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca854 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca858 00000000
11-19 19:26:09.409: I/DEBUG(12290): 46dca85c 814820a0 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.409: I/DEBUG(12290): 46dca860 df002777
11-19 19:26:09.409: I/DEBUG(12290): 46dca864 e3a070ad
11-19 19:26:09.409: I/DEBUG(12290): #00 46dca868 46dca898
11-19 19:26:09.409: I/DEBUG(12290): 46dca86c 8122a201 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.409: I/DEBUG(12290): 46dca870 46dcac08
11-19 19:26:09.409: I/DEBUG(12290): 46dca874 04000800
11-19 19:26:09.409: I/DEBUG(12290): 46dca878 00ed9278
11-19 19:26:09.409: I/DEBUG(12290): 46dca87c 46dca898
11-19 19:26:09.409: I/DEBUG(12290): 46dca880 04000800
11-19 19:26:09.409: I/DEBUG(12290): 46dca884 00dcf1a8
11-19 19:26:09.409: I/DEBUG(12290): 46dca888 00000008
11-19 19:26:09.409: I/DEBUG(12290): 46dca88c ffffffff
11-19 19:26:09.409: I/DEBUG(12290): 46dca890 00000008
11-19 19:26:09.419: I/DEBUG(12290): 46dca894 04000800
11-19 19:26:09.419: I/DEBUG(12290): 46dca898 00000008
11-19 19:26:09.419: I/DEBUG(12290): 46dca89c 000022f4
11-19 19:26:09.419: I/DEBUG(12290): 46dca8a0 00000008
11-19 19:26:09.419: I/DEBUG(12290): 46dca8a4 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8a8 3ea8f5c3
11-19 19:26:09.419: I/DEBUG(12290): 46dca8ac 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8b0 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8b4 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8b8 00000078
11-19 19:26:09.419: I/DEBUG(12290): 46dca8bc 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8c0 0000003c
11-19 19:26:09.419: I/DEBUG(12290): 46dca8c4 0000038c
11-19 19:26:09.419: I/DEBUG(12290): 46dca8c8 00dcf1a8
11-19 19:26:09.419: I/DEBUG(12290): 46dca8cc 486e5080
11-19 19:26:09.419: I/DEBUG(12290): 46dca8d0 00ed8f08
11-19 19:26:09.419: I/DEBUG(12290): 46dca8d4 814214a7 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.419: I/DEBUG(12290): #01 46dca8d8 00e5a4e0
11-19 19:26:09.419: I/DEBUG(12290): 46dca8dc 00e5a624
11-19 19:26:09.419: I/DEBUG(12290): 46dca8e0 00000000
11-19 19:26:09.419: I/DEBUG(12290): 46dca8e4 00000001
11-19 19:26:09.419: I/DEBUG(12290): 46dca8e8 46dca938
11-19 19:26:09.419: I/DEBUG(12290): 46dca8ec 815ca340
11-19 19:26:09.419: I/DEBUG(12290): 46dca8f0 00eda1b8
11-19 19:26:09.419: I/DEBUG(12290): 46dca8f4 3ea8f5c3
11-19 19:26:09.419: I/DEBUG(12290): 46dca8f8 00000005
11-19 19:26:09.419: I/DEBUG(12290): 46dca8fc 46dca950
11-19 19:26:09.419: I/DEBUG(12290): 46dca900 ffffffff
11-19 19:26:09.429: I/DEBUG(12290): 46dca904 81361ef7 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca908 46dca950
11-19 19:26:09.429: I/DEBUG(12290): 46dca90c 815ca310
11-19 19:26:09.429: I/DEBUG(12290): 46dca910 46dca950
11-19 19:26:09.429: I/DEBUG(12290): 46dca914 812f7531 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca918 ffffffff
11-19 19:26:09.429: I/DEBUG(12290): 46dca91c 81361fb3 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca920 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca924 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca928 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca92c 812f6f9d /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca930 00dd9370
11-19 19:26:09.429: I/DEBUG(12290): 46dca934 8122a201 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca938 3f333333
11-19 19:26:09.429: I/DEBUG(12290): 46dca93c 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca940 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca944 c1ffffff
11-19 19:26:09.429: I/DEBUG(12290): 46dca948 41ffffff
11-19 19:26:09.429: I/DEBUG(12290): 46dca94c 40000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca950 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca954 0000017c
11-19 19:26:09.429: I/DEBUG(12290): 46dca958 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca95c 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca960 811c44dd /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca964 811c44e9 /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.429: I/DEBUG(12290): 46dca968 00000000
11-19 19:26:09.429: I/DEBUG(12290): 46dca96c 00000001
11-19 19:26:09.429: I/DEBUG(12290): 46dca970 00e5a4e0
11-19 19:26:09.439: I/DEBUG(12290): 46dca974 00dd9348
11-19 19:26:09.439: I/DEBUG(12290): 46dca978 ffffffff
11-19 19:26:09.439: I/DEBUG(12290): 46dca97c 815ca310
11-19 19:26:09.439: I/DEBUG(12290): 46dca980 00eda1b8
11-19 19:26:09.439: I/DEBUG(12290): 46dca984 46dcaa78
11-19 19:26:09.439: I/DEBUG(12290): 46dca988 00dcf1a8
11-19 19:26:09.439: I/DEBUG(12290): 46dca98c 8136209d /data/data/com.esenthel.Project/lib/libProject.so
11-19 19:26:09.489: W/FastDormancy(229): before ======= ENTER DORMANCY =======
11-19 19:26:10.139: I/BootReceiver(162): Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
11-19 19:26:10.149: I/DEBUG(12290): dumpstate /data/log/dumpstate_app_native.txt
11-19 19:26:14.419: D/BatteryService(162): update start
11-19 19:26:14.419: D/BatteryService(162): update start
11-19 19:26:14.419: D/BatteryService(162): update start
11-19 19:26:14.499: W/FastDormancy(229): before ======= ENTER DORMANCY =======
11-19 19:26:15.639: D/VoldCmdListener(87): asec list
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.jb.gosms-2
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.nrsmagic.bubble-1
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.keramidas.TitaniumBackup-2
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.mictale.gpsessentials-2
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> net.zedge.android-2
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.adobe.reader-1
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.farproc.wifi.analyzer-1
11-19 19:26:15.649: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.skype.raider-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.opera.browser-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.dropbox.android-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> pl.pawelbialecki.jedilightsaber-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.a0soft.gphone.app2sd-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.citynav.jakdojade.pl.android-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.gamestar.pianoperfect-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.sportstracklive.stopwatch-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.foncannoninc.airhorn-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.codingcaveman.SoloTrial-1
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.melodis.midomiMusicIdentifier.freemium-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.droidstudio.game.devil2-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.agilesoftresource-2
11-19 19:26:15.659: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> jackpal.androidterm-2
11-19 19:26:15.669: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> la.droid.qr-1
11-19 19:26:15.669: D/VoldCmdListener(87): CommandListener::AsecCmd::runCommand -> com.devuni.compass-1
11-19 19:26:16.899: I/ActivityManager(162): Process com.esenthel.Project (pid 15410) has died.
11-19 19:26:16.909: E/InputDispatcher(162): channel '407de4c0 com.esenthel.Project/android.app.NativeActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8
11-19 19:26:16.909: E/InputDispatcher(162): channel '407de4c0 com.esenthel.Project/android.app.NativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
11-19 19:26:16.919: I/WindowManager(162): WIN DEATH: Window{407de4c0 com.esenthel.Project/android.app.NativeActivity paused=false}
11-19 19:26:16.929: I/OrientationDebug(162): [pwm] in updateOrientationListenerLp()
11-19 19:26:16.929: V/OrientationDebug(162): in updateOrientationListenerLp(), Screen status=true, current orientation=2, SensorEnabled=true
11-19 19:26:16.929: I/OrientationDebug(162): [pwm] needSensorRunningLp(), return false #3
11-19 19:26:16.929: I/OrientationDebug(162): [pwm] in updateOrientationListenerLp(), now call mOrientationListener.disable(), and mOrientationSensorEnabled = false #2
11-19 19:26:16.929: I/OrientationDebug(162): [WindowOrientationListener] in disable(), now call SensorManager.unregisterListener()
11-19 19:26:16.929: E/SensorManager(162): unregisterListener:: all sensors, listener = android.view.WindowOrientationListener$SensorEventListenerImpl@40767a18
|
|
11-19-2011 07:28 PM |
|
Esenthel
Administrator
|
RE: [Android] Crash on world update?
was there any other messages in the log before:
Quote:11-19 19:26:09.309: I/DEBUG(12290): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-19 19:26:09.309: I/DEBUG(12290): Build fingerprint: 'samsung/GT-S5830/GT-
?
the kind of output means invalid operation/memory access/exception/out of memory
did you include the new data in the data.pak? (world and objects files)
can you try to minimize the possible problem?
use smaller worlds, view range, fewer objects, etc.
perhaps you run out of memory? how much RAM does your device have?
remember it is crucial to use very little memory.
it would help if the crash would generate some callstack visible (like in Visual Studio), without it, I don't have idea what could go wrong.
So you need to do step by step simplification of your world and data files, or find a way to Eclipse show call stack in debugging
|
|
11-19-2011 08:28 PM |
|
kulesz
Member
|
RE: [Android] Crash on world update?
Actually there were no earlier messages connected with application.
World is a simple, plain area with one texture and no objects - test only. Everything takes a little more memory, that sample code. So it's strange. World file exists, data.pak is updated (if it wouldn't be there, app would have crashed when loading world).
I can't simplify the program more, it's crashing on this single line - when I comment it, it's fine.
|
|
11-19-2011 08:34 PM |
|
Mardok
Member
|
RE: [Android] Crash on world update?
My own world with one static mesh was loaded without any problems. All works perfectly.
Where is located your "_enums.h" ?
Try remove all containers, remove line #include _enums.h, remove #include Player.h and try load only empty heightmap. And do like Esenthel say - step by step.
(This post was last modified: 11-19-2011 10:12 PM by Mardok.)
|
|
11-19-2011 09:39 PM |
|
Esenthel
Administrator
|
RE: [Android] Crash on world update?
few days ago I've released this change:
Quote:-IMPORTANT: worlds that used new recast pathfinding paths need to be rebuilt (because of bug found - different struct alignment for members on different compilers, paths did not work on Android platform, you will receive a crash when attempting to play worlds with old path data when using new engine version, rebuilding worlds prevents crashing and allows loading them on all platforms)
is it possible you're trying to load world generated using previous engine tools?
and that's what causing the crash?
if not, then if you:
uncomment: Game::World.update(Cam.at);
but comment: Game::World.draw();
so world is updated but not displayed
do you still have crash?
|
|
11-20-2011 02:27 PM |
|
kulesz
Member
|
RE: [Android] Crash on world update?
Ohhhhhhhhhhhhhhhh... What a silly mistake. You're right, Esenthel... I was using a new mobile SDK, but forgot to update tools :-/
|
|
11-20-2011 09:27 PM |
|