Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jvm crash #47

Open
mkutgt72 opened this issue May 28, 2014 · 6 comments
Open

jvm crash #47

mkutgt72 opened this issue May 28, 2014 · 6 comments

Comments

@mkutgt72
Copy link

After updating to a new version of sdk (nutiteq-3dsdk-build341-232RC) we get strange errors, like that:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'htc_europe/htc_runnymede/runnymede:4.4.2/KOT49H/87995:user/release-keys'
Revision: '2'
pid: 5137, tid: 5137, name: m.tgt.transport >>> com.tgt.transport <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
r0 fffffffc r1 be910370 r2 00000010 r3 ffffffff
r4 01db0788 r5 00000001 r6 01db079c r7 000000fc
r8 00000000 r9 00000000 sl 00000000 fp ffffffff
ip 00000000 sp be910330 lr 4013fb75 pc 400b06a8 cpsr 20010010
d0 408000003d56d531 d1 000000003d56d531
d2 0000000000000006 d3 0000000000000041
d4 0000000000000000 d5 0000000000000000
d6 0000000000000000 d7 0000000000000000
d8 0000000000000000 d9 7ff800003f000000
d10 3fe0000000000000 d11 3ff3acc09f912522
d12 415deb3851a0ebb6 d13 3fe921fb54442d18
d14 0000000000000000 d15 0000000000000000
d16 4022ead9117221ed d17 40565ddf80000000
d18 0018001700150016 d19 0019001a001a0019
d20 3f80000000000000 d21 0000000000000000
d22 0301030203020301 d23 0306030503040303
d24 001e001d001c001b d25 0020001f001d001e
d26 0000000000000000 d27 0000000000000000
d28 031e031d031c031b d29 0320031f031d031e
d30 0020002000200020 d31 0000000000000000
scr 80000013

backtrace:
#00 pc 000296a8 /system/lib/libc.so (epoll_wait+12)
#01 pc 00012b71 /system/lib/libutils.so (android::Looper::pollInner(int)+100)
#02 pc 00012e05 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+40)
#03 pc 00081c5d /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+24)
#04 pc 0001f4ec /system/lib/libdvm.so (dvmPlatformInvoke+116)
#05 pc 0005e561 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+172)
#06 pc 00028960 /system/lib/libdvm.so
#07 pc 000304b8 /system/lib/libdvm.so (dvmMterpStd(Thread*)+68)
#08 pc 0002d1e0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#09 pc 000790ad /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+884)
#10 pc 00085e51 /system/lib/libdvm.so
#11 pc 00028960 /system/lib/libdvm.so
#12 pc 000304b8 /system/lib/libdvm.so (dvmMterpStd(Thread*)+68)
#13 pc 0002d1e0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#14 pc 000795e3 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+490)
#15 pc 00055e33 /system/lib/libdvm.so
#16 pc 0005515b /system/lib/libandroid_runtime.so
#17 pc 00055fef /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+278)
#18 pc 00000e33 /system/bin/app_process
#19 pc 0000e6a3 /system/lib/libc.so (__libc_init+58)
#20 pc 00000f98 /system/bin/app_process

code around pc:
400b0688 e1a0700c e3700a01 912fff1e e2600000 
400b0698 ea0093ef e1a0c007 e3a070fc ef000000 
400b06a8 e1a0700c e3700a01 912fff1e e2600000 
400b06b8 ea0093e7 e1a0c007 e3a07f4f ef000000 
400b06c8 e1a0700c e3700a01 912fff1e e2600000 
400b06d8 ea0093df e1a0c007 e59f7014 ef000000 
400b06e8 e1a0700c e3700a01 912fff1e e2600000 
400b06f8 ea0093d7 0000013d e1a0c007 e59f7014 
400b0708 ef000000 e1a0700c e3700a01 912fff1e 
400b0718 e2600000 ea0093ce 0000013e e1a0c007 
400b0728 e3a070a8 ef000000 e1a0700c e3700a01 
400b0738 912fff1e e2600000 ea0093c5 e1a0c007 
400b0748 e3a07f59 ef000000 e1a0700c e3700a01 
400b0758 912fff1e e2600000 ea0093bd e1a0c007 
400b0768 e59f7014 ef000000 e1a0700c e3700a01 
400b0778 912fff1e e2600000 ea0093b5 000f0005 

code around lr:
4013fb54 f1049202 46100614 fcc0f7fe a910462b 
4013fb64 65e72210 6b202501 502df884 e8daf7f8 
4013fb74 702df884 46304681 e820f7f8 f2c045b9 
4013fb84 bf08810f 0802f06f 808cf040 f04f6a20 
4013fb94 f06f32ff e9c44300 28002318 ad08d046 
4013fba4 f104af0a f04f0b18 e0310a01 3008f8d9 
4013fbb4 0801f06f b12b602b f852681a 44180c0c 
4013fbc4 f9c4f7fb 300cf8d9 22012100 603b4658 
4013fbd4 fc6ef7fe a02cf884 f7f74630 6828eff6 
4013fbe4 68024639 47986893 4629682b 6818b12b 
4013fbf4 0c0cf850 f7fb4418 4630f9ff efdef7f7 
4013fc04 f04f6a21 f8840c00 2900c02c 80aff000 
4013fc14 f7fd2001 f8d4faa5 e9d9901c 42902300 
4013fc24 0e03eb71 dac14629 2318e9c4 f7f74630 
4013fc34 6d26efcc 2500b396 b008f8dd e003462f 
4013fc44 35016d21 d229428d 46294658 fa62f7fe 

Devices: HTC Sensation XL with Beats - Android 4.4.2,
LG G2 (g2) - Android 4.4.2,
Galaxy S2 Plus (s2ve) - Android 4.4.2,
Nexus 7 (deb) - Android 4.4.2

Seems like it happens when MapView using mapsforge layer as base layer and hardware acceleration isn't available on that device. But this issue may not be related with map sdk.

Unfortunately we don't have listed devices to check issue.

@nutiteq
Copy link
Collaborator

nutiteq commented May 28, 2014

Can you confirm that this only comes with nutiteq-3dsdk-build341-232RC and not with earlier versions?

@nutiteq
Copy link
Collaborator

nutiteq commented May 28, 2014

Also, what do you mean by "hardware acceleration isn't available " ?

@mkutgt72
Copy link
Author

Previous version of app was shipped with nutiteq-3dsdk-build311-231RC2 and without "mapsforge layer" option. That all, what we can say at this moment.

"hardware acceleration isn't available" means
"Use H/W+ decoder" checkbox inactive (disabled) in applications like MX Player or "Your device does not support hardware acceleration" in 2GIS

@nutiteq
Copy link
Collaborator

nutiteq commented May 29, 2014

Some more questions:

  1. What is version of MapsForge library?
  2. What is OS version of the problematic devices?
  3. can you share your .apk, so we can try it on some of the problematic devices?
  4. this comes from google play console logs, or do you have procedure to replicate it?

@mkutgt72
Copy link
Author

  1. mapsforge-0.4.0-SNAPSHOT
  2. 4.4.2
  3. Production app? You can download it here https://play.google.com/store/apps/details?id=com.tgt.transport
  4. Yes, google play logs.

MapsForgeLayer:

public class MapsForgeLayer extends RasterLayer implements ILayer {

    public MapsForgeLayer(Projection projection, int minZoom, int maxZoom, int id, Context ctx) throws IOException {
        super(new MapsforgeRasterDataSource(projection, minZoom, maxZoom, MapsForgeLayer.localMapsForgeFile(ctx),MapsForgeLayer.getDatabase(ctx), InternalRenderTheme.OSMARENDER, TransportApplication.getThisApplication()), id);
    }

    synchronized private static File localMapsForgeFile(Context ctx) throws IOException {
        final File mapsForgeMap = new File(ctx.getExternalFilesDir(null) + "/" + "tmn.map");

        if (mapsForgeMap.exists()) {
            return mapsForgeMap;
        } else {
            final InputStream input = ctx.getResources().getAssets().open("tmn.map");

            final OutputStream output = new FileOutputStream(mapsForgeMap.getAbsolutePath());

            byte data[] = new byte[1024];
            int count;
            while ((count = input.read(data)) != -1) {
                output.write(data, 0, count);
            }

            output.flush();
            output.close();
            input.close();

            return new File(mapsForgeMap.getAbsolutePath());
        }
    }

    private static MapDatabase getDatabase(Context ctx) throws IOException {
        final MapDatabase mdb = new MapDatabase();
        mdb.closeFile();

        mdb.openFile(localMapsForgeFile(ctx));

        return mdb;
    }

    @Override
    public LayerType getType() {
        return LayerType.MAPSFORGE_LAYER;
    }
}

mapsforge map file: https://drive.google.com/file/d/0B7JpsJ2ZKswObmVlWFBNdDFMSXc

bounds: 56.877323, 65.283986, 57.403498, 65.974421
center 57.1240, 65.5897

How to enable mapsforge map:
1

2

3

@mtehver
Copy link
Contributor

mtehver commented May 30, 2014

Tried to reproduce the issue on Nexus 7 (2012 version, Android 4.4.2), but could not. Got lots of messages 'App is not responding', but this is probably not related to the issue here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants