bkaradzic / bgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
https://bkaradzic.github.io/bgfx/overview.html
BSD 2-Clause "Simplified" License
15.02k stars 1.95k forks source link

Will not work for Android. Possible library bug? #937

Closed ColinGilbert closed 8 years ago

ColinGilbert commented 8 years ago

Hi,

I have been tring to make my BGFX-enabled engine work on Android for the past week and it has been driving me completely up the wall. I have tried all sorts of different configurations, basing myself from known-working code and adapting it to BGFX but every single time it fails. This is really making me upset because not working on Android is a showstopper bug that will require a complete rewrite of my graphics code. Note: Everything works great for GLFW.

BGFX has been compiled in both single and multithreaded mode, with zero difference.

The final iteration of my android entry point uses a native activity has been based directly from Android's native-activity example, BGFX's Android Entry, and my own working code for a working GLFW-based configuration.

I cannot see anything wrong with my use of the API and I'm wondering if this might be a library bug. Could someone else confirm or possibly correct my errors?

I would like to draw attention to the failure on Android at loading any shaders.

Here is the source for the Android entry-point:


#include <jni.h>
#include <errno.h>
#include <math.h>

// #include <GLES/gl.h>
#include <GLES2/gl2.h>
#include <EGL/egl.h>

#include <android/sensor.h>
#include <android/log.h>
#include <android_native_app_glue.h>

#include <bgfx/bgfx.h>
#include <bgfx/bgfxplatform.h>

#include "NoobUtils.hpp"
#include "Application.hpp"

#include "android_fopen.h"

struct engine
{
    bool started;

    struct android_app* app;

    noob::application* user_app;

    int32_t width;
    int32_t height;

    int32_t touchX;
    int32_t touchY;
};

// Initialize an EGL context for the current display.
// TODO tidy this up, currently it's mostly Google example code.
int init_display(struct engine* e)
{
    bgfx::PlatformData pd = {};

    pd.nwh = e->app->window;

    bgfx::setPlatformData(pd);
    bgfx::init();

    e->width = ANativeWindow_getWidth(e->app->window);
    e->height = ANativeWindow_getHeight(e->app->window);

    noob::logger::log(noob::importance::INFO, noob::concat("Initializing BGFX: Width = ", noob::to_string(e->width), ", height = ", noob::to_string(e->height)));

    noob::graphics& gfx = noob::graphics::get_instance();
    gfx.init(e->width, e->height);

    e->user_app->init();
    e->user_app->window_resize(e->width, e->height);
    e->started = true;
}

// Just the current frame in the display.
void draw_frame(struct engine* e)
{
    e->user_app->step();
    noob::graphics& gfx = noob::graphics::get_instance();
    gfx.frame(e->width, e->height);
}

// Tear down the EGL context currently associated with the display.
void terminate_display(struct engine* engine)
{
    bgfx::shutdown();
}

// Process the next input event.
int32_t handle_input(struct android_app* app, AInputEvent* event)
{
    struct engine* engine = (struct engine*)app->userData;
    if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_MOTION)
    {
        engine->touchX = AMotionEvent_getX(event, 0);
        engine->touchY = AMotionEvent_getY(event, 0);
        return 1;
    }
    return 0;
}

// Process the next main command.
void handle_cmd(struct android_app* app, int32_t cmd)
{
    struct engine* engine = (struct engine*)app->userData;
    switch (cmd)
    {
        case APP_CMD_SAVE_STATE:
            break;
        case APP_CMD_INIT_WINDOW:
            // The window is being shown, get it ready.
            if (engine->app->window != NULL)
            {
                init_display(engine);
                draw_frame(engine);
            }
            break;
        case APP_CMD_TERM_WINDOW:
            // The window is being hidden or closed, clean it up.
            terminate_display(engine);
            break;
        case APP_CMD_LOST_FOCUS:
            draw_frame(engine);
            break;
    }
}

// Main entry point, handles events
void android_main(struct android_app* state)
{
    app_dummy();

    android_fopen_set_asset_manager(state->activity->assetManager);

    struct engine engine;

    memset(&engine, 0, sizeof(engine));
    state->userData = &engine;
    state->onAppCmd = handle_cmd;
    state->onInputEvent = handle_input;

    engine.started = false;
    engine.app = state;
    engine.user_app = new noob::application();

    // Read all pending events.
    while (1)
    {
        int ident;
        int events;
        struct android_poll_source* source;

        while ((ident=ALooper_pollAll(0, NULL, &events,(void**)&source)) >= 0)
        {
            // Process this event.
            if (source != nullptr)
            {
                source->process(state, source);
            }

            // Check if we are exiting.
            if (state->destroyRequested != 0)
            {
                terminate_display(&engine);
                return;
            }
        }
        if (started)
        {
            // Draw the current frame
            draw_frame(&engine);
        }
    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.noobwerkz.engine"
android:versionCode="1"
android:versionName="1.0">

<uses-sdk android:minSdkVersion="14" />
<uses-feature android:glEsVersion="0x00020000" required="true"/>

<application
android:label="Noobwerkz"
android:icon="@drawable/ic_launcher"
android:hasCode="false"
>
<activity
android:name="android.app.NativeActivity"
android:configChanges="orientation|keyboardHidden" >

<meta-data
android:name="android.app.lib_name"
android:value="Entry" />

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Here is the log for Android from adb logcat:

I/NSApplication(29772): Starting up...
I/ActivityManager( 1452): Killing 28972:com.android.externalstorage/u0a15 (adj 15): empty #17
D/WifiWatchdogStateMachine( 1452): CurrentRSSI:-53
I/ActivityManager( 1452): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.noobwerkz.engine/android.app.NativeActivity} from pid 2031
D/dalvikvm(29821): Late-enabling CheckJNI
I/ActivityManager( 1452): Start proc net.noobwerkz.engine for activity net.noobwerkz.engine/android.app.NativeActivity: pid=29821 uid=10241 gids={50241}
D/WindowManager( 1452): adjustConfigurationLw, config:{1.0 ?mcc?mnc ?locale ?layoutDir sw800dp w1280dp h727dp 320dpi xlrg land ?uimode ?night finger -keyb/v/h -nav/v} mLidState:1 mHasDockFeature:true mHasKeyboardFeature:true mHasHallSensorFeature:true config.hardKeyboardHidden:2
I/ActivityManager( 1452): [TopPkgCurBat]    NowPkgName[net.noobwerkz.engine]    Battery[97] TimeTick[1475196784934] OldPkgName[com.asus.launcher]
W/NvAppProfileService( 1452): App Profiles: Enabled
I/PowerServiceCient( 1452): Successfully bound to service
D/libEGL  (29821): loaded /system/lib/egl/libEGL_tegra.so
I/        (29821): Attempting to load EGL implementation /system/lib/egl/libEGL_tegra_impl
D/XT9IME  ( 1958): new subtype :en_US ,keyboard
I/        (29821): Loaded EGL implementation /system/lib/egl/libEGL_tegra_impl
D/libEGL  (29821): loaded /system/lib/egl/libGLESv1_CM_tegra.so
D/libEGL  (29821): loaded /system/lib/egl/libGLESv2_tegra.so
I/ActivityManager( 1452): Displayed net.noobwerkz.engine/android.app.NativeActivity: +212ms
I/        (29821): Loading GLESv2 implementation /system/lib/egl/libGLESv2_tegra_impl
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
E/libEGL  (29821): called unimplemented OpenGL ES API
D/NOOB    (29821): info: Initializing BGFX: Width = 2560, height = 1504
D/NOOB    (29821): info: [Application] Begin init.
D/NOOB    (29821): info: [Graphics] Loading shader at shaders/gles/vs_basic.bin
D/NOOB    (29821): info: [Graphics] Loading shader at shaders/gles/fs_basic.bin
D/NOOB    (29821): error: Basic renderer load failed.
D/NOOB    (29821): info: [Graphics] Loading shader at shaders/gles/vs_gradient_map_triplanar.bin
D/NOOB    (29821): info: [Graphics] Loading shader at shaders/gles/fs_gradient_map_triplanar.bin
D/NOOB    (29821): error: Triplanar gradient map load fail.
D/NOOB    (29821): info: [Globals] unit sphere shape handle 0, unit cube shape handle 1
D/NOOB    (29821): info: [Globals] Making unit sphere model
D/NOOB    (29821): info: [BasicModel] About to load.
D/NOOB    (29821): info: [BasicModel] Load successful - 240 vertices, 240 indices, max (0.5, 0.5, 0.5), min(-0.5, -0.5, -0.5), dims(1, 1, 1)
D/NOOB    (29821): info: [Globals] Making unit cube model
D/NOOB    (29821): info: [BasicModel] About to load.
D/NOOB    (29821): info: [BasicModel] Load successful - 24 vertices, 36 indices, max (0.5, 0.5, 0.5), min(-0.5, -0.5, -0.5), dims(1, 1, 1)
D/NOOB    (29821): info: [Globals] unit sphere model handle 0, unit cube model handle 1
D/NOOB    (29821): info: [Globals] Found shader debug, with handle basic 0.
D/NOOB    (29821): info: [Globals] Found shader default-triplanar, with handle triplanar 0.
D/NOOB    (29821): info: [Globals] Init complete.
D/NOOB    (29821): info: [Stage] Done init.
D/NOOB    (29821): info: [Application] Done basic init.
D/NOOB    (29821): info: [AudioSample] About to open vorbis file...
D/NOOB    (29821): info: [AudioSample] Bitstream is 1 channel, 44100Hz. Decoded lengths: 403200. Encoded by: Xiph.Org libVorbis I 20140122 (Turpakäräjiin)
D/NOOB    (29821): info: [AudioSample] Sample buffer size 403200. Samples read: 403200.
D/NOOB    (29821): info: [Globals] Found shader example-shader, with handle basic 1.
D/NOOB    (29821): info: [Mixer] Adding new sound to mixer's soundbank.
D/NOOB    (29821): info: [Stage] Scenery added! Handle 0
D/NOOB    (29821): info: [Application] Successfully done (C++) user init.
D/NOOB    (29821): info: [Application] Resize window to (2560, 1504)
D/NOOB    (29821): info: NoobWerkz editor - Frame time: 0 nanos, draw time: 0 nanos, physics time 70.14558 micros
F/libc    (29821): Fatal signal 11 (SIGSEGV) at 0xb44e68c8 (code=1), thread 29848 (oobwerkz.engine)
I/DEBUG   (  865): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  865): Build fingerprint: 'asus/US_epad/K00C:4.4.2/KOT49H/US_epad-11.4.1.29-20141218:user/release-keys'
I/DEBUG   (  865): Revision: '0'
I/DEBUG   (  865): pid: 29821, tid: 29848, name: oobwerkz.engine  >>> net.noobwerkz.engine <<<
I/DEBUG   (  865): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr b44e68c8
I/DEBUG   (  865):     r0 79827c20  r1 0000ffff  r2 b44e68c8  r3 2d139a32
I/DEBUG   (  865):     r4 0000004e  r5 00000000  r6 79ba8718  r7 2668b94e
I/DEBUG   (  865):     r8 7982a050  r9 0000ffff  sl 82589260  fp 40a00000
I/DEBUG   (  865):     ip 0000004e  sp 76566b18  lr 004e1332  pc 752dc676  cpsr 000f0030
I/DEBUG   (  865):     d0  2038353534312e6d  d1  3720656d69742069
I/DEBUG   (  865):     d2  3a656d6974207763  d3  736f6e616e203072
I/DEBUG   (  865):     d4  40f86a0000000000  d5  c4bc000000000000
I/DEBUG   (  865):     d6  44bc200000000000  d7  000005e000000a00
I/DEBUG   (  865):     d8  bf800ccd3f000000  d9  000000003f8015ca
I/DEBUG   (  865):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (  865):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  865):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  865):     d16 c000000000000000  d17 3ff0000000000000
I/DEBUG   (  865):     d18 bfd34b1089a6dc93  d19 3fe62e4300000000
I/DEBUG   (  865):     d20 be205c610ca86c39  d21 3ea8000000000000
I/DEBUG   (  865):     d22 bf66b5f788dada79  d23 4008000000000000
I/DEBUG   (  865):     d24 bfd26961c3615800  d25 3ff0000000000000
I/DEBUG   (  865):     d26 3fd0000000000000  d27 bfa34b1089a6dc93
I/DEBUG   (  865):     d28 bfa34b1089a6dc90  d29 be6e804cbc30301a
I/DEBUG   (  865):     d30 3fc54dd0a7b15d1e  d31 3e66376972bea4d0
I/DEBUG   (  865):     scr 80000010
I/DEBUG   (  865): 
I/DEBUG   (  865): backtrace:
I/DEBUG   (  865):     #00  pc 00130676  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (FontManager::getGlyphInfo(FontHandle, int)+89)
I/DEBUG   (  865):     #01  pc 00130f03  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (TextBuffer::appendGlyph(FontHandle, int)+18)
I/DEBUG   (  865):     #02  pc 001317a7  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (TextBuffer::appendText(FontHandle, char const*, char const*)+90)
I/DEBUG   (  865):     #03  pc 000f9b37  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (noob::ui_font::draw_text(unsigned char, std::string const&, float, float)+258)
I/DEBUG   (  865):     #04  pc 000d7359  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (noob::application::user_update(double)+136)
I/DEBUG   (  865):     #05  pc 000ec1dd  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (noob::application::step()+256)
I/DEBUG   (  865):     #06  pc 0022a59d  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (draw_frame(engine*)+8)
I/DEBUG   (  865):     #07  pc 0022a00f  /data/app-lib/net.noobwerkz.engine-2/libEntry.so
I/DEBUG   (  865):     #08  pc 0022a6b9  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (android_main+104)
I/DEBUG   (  865):     #09  pc 00229879  /data/app-lib/net.noobwerkz.engine-2/libEntry.so
I/DEBUG   (  865):     #10  pc 0000d1b0  /system/lib/libc.so (__thread_entry+72)
I/DEBUG   (  865):     #11  pc 0000d348  /system/lib/libc.so (pthread_create+240)
I/DEBUG   (  865): 
I/DEBUG   (  865): stack:
I/DEBUG   (  865):          76566ad8  827bd2e0  
I/DEBUG   (  865):          76566adc  753531a3  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (CProfileNode::CProfileNode(char const*, CProfileNode*)+30)
I/DEBUG   (  865):          76566ae0  00000000  
I/DEBUG   (  865):          76566ae4  7541312c  /data/app-lib/net.noobwerkz.engine-2/libEntry.so
I/DEBUG   (  865):          76566ae8  57edb772  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (  865):          76566aec  0004c3d4  
I/DEBUG   (  865):          76566af0  827bd2e0  
I/DEBUG   (  865):          76566af4  75353219  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (CProfileNode::Return()+24)
I/DEBUG   (  865):          76566af8  754d5478  /data/app-lib/net.noobwerkz.engine-2/libEntry.so
I/DEBUG   (  865):          76566afc  753532e3  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (CProfileManager::Stop_Profile()+14)
I/DEBUG   (  865):          76566b00  81fb7b70  
I/DEBUG   (  865):          76566b04  752eabf9  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (btDiscreteDynamicsWorld::integrateTransforms(float)+564)
I/DEBUG   (  865):          76566b08  00000000  
I/DEBUG   (  865):          76566b0c  00000000  
I/DEBUG   (  865):          76566b10  00000000  
I/DEBUG   (  865):          76566b14  3c888889  
I/DEBUG   (  865):     #00  76566b18  00000000  
I/DEBUG   (  865):          76566b1c  0000004e  
I/DEBUG   (  865):          76566b20  00000000  
I/DEBUG   (  865):          76566b24  7982a050  
I/DEBUG   (  865):          76566b28  827bd45c  
I/DEBUG   (  865):          76566b2c  0000ffff  
I/DEBUG   (  865):          76566b30  0000004e  
I/DEBUG   (  865):          76566b34  752dcf07  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (TextBuffer::appendGlyph(FontHandle, int)+22)
I/DEBUG   (  865):     #01  76566b38  0000002b  
I/DEBUG   (  865):          76566b3c  00003b20  
I/DEBUG   (  865):          76566b40  827bd2b8  
I/DEBUG   (  865):          76566b44  4004ae9f  /system/lib/libc.so (dlmalloc+4250)
I/DEBUG   (  865):          76566b48  00000024  
I/DEBUG   (  865):          76566b4c  0000001c  
I/DEBUG   (  865):          76566b50  00000017  
I/DEBUG   (  865):          76566b54  3f000000  
I/DEBUG   (  865):          76566b58  bf800ccd  
I/DEBUG   (  865):          76566b5c  3f8015ca  
I/DEBUG   (  865):          76566b60  00000000  
I/DEBUG   (  865):          76566b64  00000000  
I/DEBUG   (  865):          76566b68  00000000  
I/DEBUG   (  865):          76566b6c  827bd404  
I/DEBUG   (  865):          76566b70  827bd45c  
I/DEBUG   (  865):          76566b74  76566b90  [stack:29848]
I/DEBUG   (  865):          ........  ........
I/DEBUG   (  865):     #02  76566b90  0000004e  
I/DEBUG   (  865):          76566b94  00000000  
I/DEBUG   (  865):          76566b98  00000001  
I/DEBUG   (  865):          76566b9c  79827b50  
I/DEBUG   (  865):          76566ba0  3f800000  
I/DEBUG   (  865):          76566ba4  00000000  
I/DEBUG   (  865):          76566ba8  76566c08  [stack:29848]
I/DEBUG   (  865):          76566bac  76566bc8  [stack:29848]
I/DEBUG   (  865):          76566bb0  00000004  
I/DEBUG   (  865):          76566bb4  752a5b3b  /data/app-lib/net.noobwerkz.engine-2/libEntry.so (noob::ui_font::draw_text(unsigned char, std::string const&, float, float)+262)
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r0:
I/DEBUG   (  865):     79827c00 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79827c10 00000000 5a6d72fe 00000030 00000243  
I/DEBUG   (  865):     79827c20 00000001 79827e60 00400000 00010000  
I/DEBUG   (  865):     79827c30 00030002 00050004 00070006 00090008  
I/DEBUG   (  865):     79827c40 000b000a 000d000c 000f000e 00110010  
I/DEBUG   (  865):     79827c50 00130012 00150014 00170016 00190018  
I/DEBUG   (  865):     79827c60 001b001a 001d001c 001f001e 00210020  
I/DEBUG   (  865):     79827c70 00230022 00250024 00270026 00290028  
I/DEBUG   (  865):     79827c80 002b002a 002d002c 002f002e 00310030  
I/DEBUG   (  865):     79827c90 00330032 00350034 00370036 00390038  
I/DEBUG   (  865):     79827ca0 003b003a 003d003c 003f003e 0000ff00  
I/DEBUG   (  865):     79827cb0 0000ffff 0000ffff 00ffffff 00000000  
I/DEBUG   (  865):     79827cc0 000000ff 0000ff00 00ffffff 00000000  
I/DEBUG   (  865):     79827cd0 0000ffff 0000ffff ff000000 000000ff  
I/DEBUG   (  865):     79827ce0 00000000 00000000 ff000000 000000ff  
I/DEBUG   (  865):     79827cf0 00ffff00 0000ffff 0000ffff 0000ffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r1:
I/DEBUG   (  865):     0000ffdc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0000ffec ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0000fffc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001000c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001001c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001002c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001003c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001004c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001005c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001006c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001007c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001008c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001009c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100ac ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100bc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100cc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r2:
I/DEBUG   (  865):     b44e68a8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e68b8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e68c8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e68d8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e68e8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e68f8 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6908 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6918 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6928 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6938 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6948 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6958 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6968 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6978 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6988 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     b44e6998 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r3:
I/DEBUG   (  865):     2d139a10 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a20 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a30 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a40 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a50 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a60 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a70 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a80 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139a90 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139aa0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139ab0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139ac0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139ad0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139ae0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139af0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2d139b00 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r6:
I/DEBUG   (  865):     79ba86f8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8708 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8718 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8728 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8738 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8748 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8758 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8768 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8778 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8788 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba8798 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba87a8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba87b8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba87c8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba87d8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     79ba87e8 00000000 00000000 00000000 00000000  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r7:
I/DEBUG   (  865):     2668b92c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b93c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b94c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b95c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b96c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b97c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b98c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b99c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9ac ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9bc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9cc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9dc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9ec ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668b9fc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668ba0c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     2668ba1c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r8:
I/DEBUG   (  865):     7982a030 ff000019 00000000 ff000000 00000013  
I/DEBUG   (  865):     7982a040 ffff0019 000000ff 00000000 00000063  
I/DEBUG   (  865):     7982a050 00000000 ff00ffff ffffffff ffffffff  
I/DEBUG   (  865):     7982a060 ffffffff ffffffff 40a00000 40a00000  
I/DEBUG   (  865):     7982a070 40a00000 40a00000 00000000 00000000  
I/DEBUG   (  865):     7982a080 00000000 00000000 00000000 79827c20  
I/DEBUG   (  865):     7982a090 7d189008 7d229008 7982a0b0 00000000  
I/DEBUG   (  865):     7982a0a0 00000000 00000000 00000000 00007ff3  
I/DEBUG   (  865):     7982a0b0 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a0c0 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a0d0 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a0e0 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a0f0 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a100 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a110 00000000 00000000 00000000 00000000  
I/DEBUG   (  865):     7982a120 00000000 00000000 00000000 00000000  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near r9:
I/DEBUG   (  865):     0000ffdc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0000ffec ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0000fffc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001000c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001001c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001002c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001003c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001004c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001005c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001006c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001007c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001008c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     0001009c ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100ac ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100bc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     000100cc ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near sl:
I/DEBUG   (  865):     82589240 00000001 000003ff 00000000 82589240  
I/DEBUG   (  865):     82589250 ffffffff ffffffff 00000000 00000013  
I/DEBUG   (  865):     82589260 827bd404 400881b8 00000010 00000143  
I/DEBUG   (  865):     82589270 82589268 82589268 00000000 82589270  
I/DEBUG   (  865):     82589280 754cf9a8 3f800000 00000000 00000000  
I/DEBUG   (  865):     82589290 00000000 00000000 3f800000 00000000  
I/DEBUG   (  865):     825892a0 00000000 00000000 00000000 3f800000  
I/DEBUG   (  865):     825892b0 00000000 4626e89a 42c80000 4626e89a  
I/DEBUG   (  865):     825892c0 00000000 82442e20 8250bcf0 8250c370  
I/DEBUG   (  865):     825892d0 8250c670 8250c760 8250cde0 8250d140  
I/DEBUG   (  865):     825892e0 8250d440 8250d7a0 8250dab0 8250de10  
I/DEBUG   (  865):     825892f0 8250e110 8250e200 8250e880 8250ebe0  
I/DEBUG   (  865):     82589300 8250efa0 8250b7f0 8250b8e0 82509f60  
I/DEBUG   (  865):     82589310 825105b0 82510910 82510c20 82510f80  
I/DEBUG   (  865):     82589320 82511280 3f800000 3f800000 3f800000  
I/DEBUG   (  865):     82589330 00000000 00000000 5d5e0b6b 825893c0  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near fp:
I/DEBUG   (  865):     409fffe0 f7f89400 2800fa1f f04fbf08 462f35ff  
I/DEBUG   (  865):     409ffff0 f7f84620 4638f97d e8bdb002 bf008bf0  
I/DEBUG   (  865):     40a00000 460db570 42ae4606 68e8d010 686860f0  
I/DEBUG   (  865):     40a00010 428868b1 db044631 46301c41 feacf7fb  
I/DEBUG   (  865):     40a00020 20004601 6868b349 e00a6070 68b16870  
I/DEBUG   (  865):     40a00030 db064288 46301c41 fe9ef7fb 20004601  
I/DEBUG   (  865):     40a00040 6869b1d9 29012001 bd70bfb8 22006828  
I/DEBUG   (  865):     40a00050 23006831 4022f850 0344ea43 3022f841  
I/DEBUG   (  865):     40a00060 32010fe3 42a2686c 2001dbf4 bf1f2b00  
I/DEBUG   (  865):     40a00070 0022f841 31016871 bd706071 4bf0e92d  
I/DEBUG   (  865):     40a00080 4604460e 2d006875 6837d036 0901f1a5  
I/DEBUG   (  865):     40a00090 f85746a8 28010029 46c8bf08 d00e42a6  
I/DEBUG   (  865):     40a000a0 462168a0 dd044580 46414620 fe64f7fb  
I/DEBUG   (  865):     40a000b0 20004601 68f0b329 f85760e0 68210029  
I/DEBUG   (  865):     40a000c0 ebb22200 bf1c0f50 f8410842 f1b92029  
I/DEBUG   (  865):     40a000d0 db0e0f01 f8571eaa 2a003022 0653ea4f  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory near sp:
I/DEBUG   (  865):     76566af8 754d5478 753532e3 81fb7b70 752eabf9  
I/DEBUG   (  865):     76566b08 00000000 00000000 00000000 3c888889  
I/DEBUG   (  865):     76566b18 00000000 0000004e 00000000 7982a050  
I/DEBUG   (  865):     76566b28 827bd45c 0000ffff 0000004e 752dcf07  
I/DEBUG   (  865):     76566b38 0000002b 00003b20 827bd2b8 4004ae9f  
I/DEBUG   (  865):     76566b48 00000024 0000001c 00000017 3f000000  
I/DEBUG   (  865):     76566b58 bf800ccd 3f8015ca 00000000 00000000  
I/DEBUG   (  865):     76566b68 00000000 827bd404 827bd45c 76566b90  
I/DEBUG   (  865):     76566b78 76566b94 7982a050 0000ffff 82589260  
I/DEBUG   (  865):     76566b88 40a00000 752dd7ab 0000004e 00000000  
I/DEBUG   (  865):     76566b98 00000001 79827b50 3f800000 00000000  
I/DEBUG   (  865):     76566ba8 76566c08 76566bc8 00000004 752a5b3b  
I/DEBUG   (  865):     76566bb8 00000000 400605db 400841d8 00000a00  
I/DEBUG   (  865):     76566bc8 3f800000 00000000 00000000 00000000  
I/DEBUG   (  865):     76566bd8 00000000 3f800000 00000000 00000000  
I/DEBUG   (  865):     76566be8 00000000 00000000 3f800000 00000000  
I/DEBUG   (  865): 
I/DEBUG   (  865): code around pc:
I/DEBUG   (  865):     752dc654 0707ebce 44176ab3 1b5a9401 eb0301bb  
I/DEBUG   (  865):     752dc664 10924307 3a021bdb 6324eb03 eb054013  
I/DEBUG   (  865):     752dc674 f8550283 68553023 d10342ab 6a5be008  
I/DEBUG   (  865):     752dc684 d005429d 4294681a 1d18d1f9 bdf0b003  
I/DEBUG   (  865):     752dc694 f7ff4622 2800feaf b265d0f8 2207f344  
I/DEBUG   (  865):     752dc6a4 4307f344 01a86a71 eb006ab6 94014005  
I/DEBUG   (  865):     752dc6b4 1a761b40 10b64402 3e020190 4002eb00  
I/DEBUG   (  865):     752dc6c4 441a1a82 eb030193 1a9b4302 6324eb03  
I/DEBUG   (  865):     752dc6d4 eb014033 f8510283 68513023 d103428b  
I/DEBUG   (  865):     752dc6e4 6a5be006 d0034299 4294681a e7ccd1f9  
I/DEBUG   (  865):     752dc6f4 e7ca2300 b4104b0d 6804447b b97c5c9b  
I/DEBUG   (  865):     752dc704 411c24ff 4c0a4022 447c600a 44236802  
I/DEBUG   (  865):     752dc714 f892441a 60033100 f85d4618 47704b04  
I/DEBUG   (  865):     752dc724 f002680c ea42023f e7ec1284 001590d4  
I/DEBUG   (  865):     752dc734 001590c2 60012200 60826042 610260c2  
I/DEBUG   (  865):     752dc744 47706142 43f0e92d b0834605 46146800  
I/DEBUG   (  865): 
I/DEBUG   (  865): code around lr:
I/DEBUG   (  865):     004e1310 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1320 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1330 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1340 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1350 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1360 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1370 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1380 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1390 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13a0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13b0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13c0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13d0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13e0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e13f0 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865):     004e1400 ffffffff ffffffff ffffffff ffffffff  
I/DEBUG   (  865): 
I/DEBUG   (  865): memory map around fault addr b44e68c8:
I/DEBUG   (  865):     8260f000-827c8000 rw- 
I/DEBUG   (  865):     (no map for address)
I/DEBUG   (  865):     be9c0000-be9e1000 rw- [stack]
W/ActivityManager( 1452):   Force finishing activity net.noobwerkz.engine/android.app.NativeActivity
I/BootReceiver( 1452): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
W/InputDispatcher( 1452): channel '4240aeb0 net.noobwerkz.engine/android.app.NativeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
E/InputDispatcher( 1452): channel '4240aeb0 net.noobwerkz.engine/android.app.NativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/ActivityManager( 1452): Process net.noobwerkz.engine (pid 29821) has died.
W/InputDispatcher( 1452): Attempted to unregister already unregistered input channel '4240aeb0 net.noobwerkz.engine/android.app.NativeActivity (server)'
I/WindowState( 1452): WIN DEATH: Window{4240aeb0 u0 id=0 net.noobwerkz.engine/android.app.NativeActivity}
D/WindowManager( 1452): adjustConfigurationLw, config:{1.0 ?mcc?mnc ?locale ?layoutDir sw800dp w1280dp h727dp 320dpi xlrg land ?uimode ?night finger -keyb/v/h -nav/v} mLidState:1 mHasDockFeature:true mHasKeyboardFeature:true mHasHallSensorFeature:true config.hardKeyboardHidden:2
I/ActivityManager( 1452): [TopPkgCurBat]    NowPkgName[com.asus.launcher]   Battery[97] TimeTick[1475196786957] OldPkgName[net.noobwerkz.engine]
D/Zygote  (  535): Process 29821 terminated by signal (11)
V/ImageWallpaper( 1823): onVisibilityChanged: dds = false
D/WifiWatchdogStateMachine( 1452): CurrentRSSI:-56
I/GAV2    (29772): Thread[GAThread,5,main]: No campaign data found.
D/WifiWatchdogStateMachine( 1452): CurrentRSSI:-57
D/WifiWatchdogStateMachine( 1452): Exit DebounceWeakRssiState
D/WifiWatchdogStateMachine( 1452): enter DebounceWeakRssiState
D/Raydium_ts_main(  547): Report rate in 10 seconds =980 
W/InputMethodManagerService( 1452): Got RemoteException sending setActive(false) notification to pid 29821 uid 10241
W/Binder  ( 1958): Caught a RuntimeException from the binder stub implementation.
W/Binder  ( 1958): java.lang.NullPointerException
W/Binder  ( 1958):  at android.inputmethodservice.IInputMethodWrapper.setSessionEnabled(IInputMethodWrapper.java:280)
W/Binder  ( 1958):  at com.android.internal.view.IInputMethod$Stub.onTransact(IInputMethod.java:129)
W/Binder  ( 1958):  at android.os.Binder.execTransact(Binder.java:404)
W/Binder  ( 1958):  at dalvik.system.NativeStart.run(Native Method)
D/XT9IME  ( 1958): new subtype :en_US ,keyboard
D/dalvikvm( 1958): GC_CONCURRENT freed 8155K, 40% free 73478K/122064K, paused 0ms+4ms, total 35ms
D/WifiWatchdogStateMachine( 1452): CurrentRSSI:-58
D/WifiWatchdogStateMachine( 1452): CurrentRSSI:-61

Here is my working config's log:

info: [Application] Begin init.
info: [Graphics] Loading shader at shaders/glsl/vs_basic.bin
info: [Graphics] Loading shader at shaders/glsl/fs_basic.bin
info: Basic renderer load success.
info: [Graphics] Loading shader at shaders/glsl/vs_gradient_map_triplanar.bin
info: [Graphics] Loading shader at shaders/glsl/fs_gradient_map_triplanar.bin
info: Triplanar gradient map load success.
info: [Globals] unit sphere shape handle 0, unit cube shape handle 1
info: [Globals] Making unit sphere model
info: [BasicModel] About to load.
info: [BasicModel] Load successful - 240 vertices, 240 indices, max (0.5, 0.5, 0.5), min(-0.5, -0.5, -0.5), dims(1, 1, 1)
info: [Globals] Making unit cube model
info: [BasicModel] About to load.
info: [BasicModel] Load successful - 24 vertices, 36 indices, max (0.5, 0.5, 0.5), min(-0.5, -0.5, -0.5), dims(1, 1, 1)
info: [Globals] unit sphere model handle 0, unit cube model handle 1
info: [Globals] Found shader debug, with handle basic 0.
info: [Globals] Found shader default-triplanar, with handle triplanar 0.
info: [Sound] Init: Got SoundIO output device - HT-Omega Claro halo, Multichannel: Default Audio Device
warning: [Sound] WARNING: Unable to set SoundIO channel layout - incompatible device
info: [SoundInterface] Sound init success! Sample rate: 48000. Bytes per frame: 8. Bytes per sample: 4
info: [Globals] Init complete.
info: [Stage] Done init.
info: [Application] Done basic init.
info: [AudioSample] About to open vorbis file...
info: [AudioSample] Bitstream is 1 channel, 44100Hz. Decoded lengths: 403200. Encoded by: Xiph.Org libVorbis I 20140122 (Turpakäräjiin)
info: [AudioSample] Sample buffer size 403200. Samples read: 403200.
info: [AudioSample] Resampling from 44100 to 48000. Old number of samples: 403200. New number of samples: 438857
info: [Globals] Found shader example-shader, with handle basic 1.
info: [Mixer] Adding new sound to mixer's soundbank.
info: [Stage] Scenery added! Handle 0
info: [Application] Successfully done (C++) user init.
info: NoobWerkz editor - Frame time: 0 nanos, draw time: 0 nanos, physics time 16.03642 micros
info: [Application] Resize window to (1916, 901)
info: NoobWerkz editor - Frame time: 139.30725 micros, draw time: 50.79731 micros, physics time 72.1715 micros
info: NoobWerkz editor - Frame time: 122.94133 micros, draw time: 50.15105 micros, physics time 72.04754 micros
info: NoobWerkz editor - Frame time: 121.0081 micros, draw time: 49.4158 micros, physics time 70.88291 micros
Nodrev commented 8 years ago

BGFX seems to initialize correctly... Did you checked your runtime working directory? On my apps, I have to change current working directory to be able to read files bundled in APK, using 'chdir'.

ColinGilbert commented 8 years ago

I would like to mention that although #938 has self-resolved, this problem unfortunately hasn't. It may be a matter of my own incorrect use of the API, so could Bran please have a look at the code I posted? I do not believe that it is a directory issue: The Android app cheerfully reads the ogg file I packed along with the shaders, which I refreshed completely since. If I did nothing incorrect, it may be a code brittleness issue that only shows under certain use-cases and may be worth investigating.

Thanks!

bkaradzic commented 8 years ago

I don't really have time to investigate this... Messing with windowing and bgfx is most error prone part, and it's due to different platforms have completely different requirements about main thread, windowing+input, and rendering. You have whole library source there so you can figure out what's going on and why your application and bgfx are not cooperating...