2

Frameworks/Tools used for app development:

  • jQuery Mobile 1.0.1
  • PhoneGap 1.3

Device/s used used for testing:

  • Lenovo Thinkpad (Android 3.1)
  • Sony experia (Android 2.3)

Issue:

App will always crash when dynamically generating a page (jQuery Mobile) with list-view items (items 60+). This is the case only on Android 3.x, app works fine on Android 2.x.

<ul id="mk_activity"  data-role="listview">
//the rows are added here dynamically
</ul>

On Android 3.x crash can be replicated every time the app refreshes the page with dynamically generated list-view.

Since the app works fine in Android 2.x and there are no issues when running the app on the browser I'm assuming that the issue has to be with Android 3.x.

Please someone shed some light on this issue, thanks in advance.

Here are the logs from logcat:

01-30 09:51:02.215: I//system/bin/fsck_msdos(29): Attempting to allocate 2032 KB for FAT
01-30 09:51:02.285: D/dalvikvm(146): GC_FOR_ALLOC freed 516K, 11% free 8127K/9095K, paused 69ms
01-30 09:51:02.445: D/dalvikvm(146): GC_CONCURRENT freed 4K, 5% free 8685K/9095K, paused 4ms+3ms
01-30 09:51:02.695: V/TLINE(146): new: android.text.TextLine@4063cde0
01-30 09:51:03.215: D/dalvikvm(146): GC_CONCURRENT freed 723K, 10% free 8756K/9671K, paused 3ms+97ms
01-30 09:51:03.475: D/dalvikvm(146): GC_FOR_ALLOC freed 350K, 9% free 8862K/9671K, paused 121ms
01-30 09:51:03.475: I/dalvikvm-heap(146): Grow heap (frag case) to 9.097MB for 342236-byte allocation
01-30 09:51:03.555: D/dalvikvm(146): GC_FOR_ALLOC freed <1K, 9% free 9196K/10055K, paused 67ms
01-30 09:51:03.705: D/dalvikvm(146): GC_FOR_ALLOC freed 348K, 9% free 9196K/10055K, paused 62ms
01-30 11:13:50.575: I/DEBUG(3107): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-30 11:13:50.575: I/DEBUG(3107): Build fingerprint: 'generic/sdk/generic:3.1/MASTER/123685:eng/test-keys'
01-30 11:13:50.575: I/DEBUG(3107): pid: 3123, tid: 3134  >>> e2o.mobile <<<
01-30 11:13:50.575: I/DEBUG(3107): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0081b000
01-30 11:13:50.575: I/DEBUG(3107):  r0 008193a0  r1 0081aff4  r2 0000045c  r3 00000000
01-30 11:13:50.575: I/DEBUG(3107):  r4 00000000  r5 00000000  r6 00000028  r7 00000000
01-30 11:13:50.575: I/DEBUG(3107):  r8 00000000  r9 00000000  10 00000000  fp 00000000
01-30 11:13:50.575: I/DEBUG(3107):  ip 0081b000  sp 46ec98d0  lr a828894b  pc aff0c998  cpsr 20000010
01-30 11:13:50.585: D/ShaderProgram(3123): couldn't load the vertex shader!
01-30 11:13:50.585: E/libEGL(3123): call to OpenGL ES API with no current context (logged once per thread)
01-30 11:13:50.585: D/ShaderProgram(3123): couldn't load the vertex shader!
01-30 11:13:51.545: I/DEBUG(3107):          #00  pc 0000c998  /system/lib/libc.so (memcpy)
01-30 11:13:51.565: I/DEBUG(3107):          #01  pc 00088948  /system/lib/libwebcore.so
01-30 11:13:51.565: I/DEBUG(3107):          #02  pc 00082654  /system/lib/libwebcore.so
01-30 11:13:51.565: I/DEBUG(3107):          #03  pc 00082754  /system/lib/libwebcore.so

 ...  goes on

01-30 11:13:51.686: I/DEBUG(3107):          #29  pc 000d284e  /system/lib/libwebcore.so
01-30 11:13:51.695: I/DEBUG(3107):          #30  pc 00284fd4  /system/lib/libwebcore.so
01-30 11:13:51.695: I/DEBUG(3107):          #31  pc 002885cc  /system/lib/libwebcore.so
01-30 11:13:51.705: I/DEBUG(3107): libc base address: aff00000
01-30 11:13:51.705: I/DEBUG(3107): code around pc:
01-30 11:13:51.705: I/DEBUG(3107): aff0c978 e0422003 e2522020 3a000008 e3c1c01f 
01-30 11:13:51.715: I/DEBUG(3107): aff0c9b8 48b10300 28a000f0 48a00300 e1b0cf02 
01-30 11:13:51.725: I/DEBUG(3107): code around lr:
01-30 11:13:51.725: I/DEBUG(3107): a8288928 30089302 99029003 42999b79 682fdbe6 
01-30 11:13:51.725: I/DEBUG(3107): a8288938 9879ac5b 6ebc9400 9b049906 1c280042 
01-30 11:13:51.725: I/DEBUG(3107): a8288948 980a47a0 4298ab0b f784d001 a85beea8 
01-30 11:13:51.725: I/DEBUG(3107): a8288958 ee62f784 bdf0b073 e6f62700 95022500 
01-30 11:13:51.725: I/DEBUG(3107): a8288968 9878e70a 9d7a4a0a 98050043 686f682e 
01-30 11:13:51.725: I/DEBUG(3107): stack:
01-30 11:13:51.725: I/DEBUG(3107):     46ec9890  00000000  
01-30 11:13:51.725: I/DEBUG(3107):     46ec9894  00818b00  [heap]
01-30 11:13:51.725: I/DEBUG(3107):     46ec9898  46ecbb54  
01-30 11:13:51.725: I/DEBUG(3107):     46ec989c  00000178  
01-30 11:13:51.725: I/DEBUG(3107):     46ec98a0  00000178  
01-30 11:13:51.725: I/DEBUG(3107):     46ec98a4  0062a80c  [heap]

                    goes on...

01-30 11:13:51.835: I/DEBUG(3107):     46ec9ac8  000000bc  
01-30 11:13:51.835: I/DEBUG(3107):     46ec9acc  00000000  
01-30 11:13:51.835: I/DEBUG(3107):     46ec9ad0  46ec9af8  
01-30 11:13:51.835: I/DEBUG(3107):     46ec9ad4  a8282659  /system/lib/libwebcore.so
01-30 11:13:53.265: D/dalvikvm(3123): GC_CONCURRENT freed 655K, 10% free 8079K/8903K, paused 3ms+4ms
01-30 11:13:56.335: D/dalvikvm(287): GC_EXPLICIT freed 8K, 10% free 6245K/6919K, paused 3ms+155ms
01-30 11:14:00.695: D/dalvikvm(260): GC_EXPLICIT freed 18K, 7% free 6344K/6791K, paused 3ms+173ms
01-30 11:14:02.925: I/BootReceiver(80): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
01-30 11:14:03.446: D/dalvikvm(80): GC_CONCURRENT freed 2109K, 49% free 13814K/26823K, paused 8ms+40ms
01-30 11:14:03.985: I/Web Console(3123): QONTEXT starting checkalerts at file:///android_asset/www/static/javascript/initializer.js:1012
01-30 11:14:04.056: D/ShareImage:action=(3123): shareimage
01-30 11:14:04.755: I/Web Console(3123): QONTEXT https://pramati.qontext.com/notifications/feeds/network/2010122447649?type=plain&start=0&startIndex=0&count=20&csrf-token=434defd5553d10a02b0c70bdfa7a934d ==TIME:11:14:4 at file:///android_asset/www/static/javascript/initializer.js:1012
01-30 11:14:07.595: D/dalvikvm(3123): GC_CONCURRENT freed 474K, 9% free 8135K/8903K, paused 4ms+4ms
01-30 11:14:09.665: D/dalvikvm(146): GC_EXPLICIT freed 18K, 20% free 20228K/25031K, paused 4ms+337ms
01-30 11:14:10.535: I/Web Console(3123): QONTEXT https://pramati.qontext.com/notifications/feeds/network/2010122447649?type=plain&start=20&startIndex=20&count=20&csrf-token=434defd5553d10a02b0c70bdfa7a934d ==TIME:11:14:10 at file:///android_asset/www/static/javascript/initializer.js:1012
01-30 11:14:10.967: D/Zygote(33): Process 3123 terminated by signal (11)
01-30 11:14:10.975: I/ActivityManager(80): Process e2o.mobile (pid 3123) has died.
01-30 11:14:10.995: E/InputDispatcher(80): channel '41069718 e2o.mobile/e2o.mobile.Home (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
01-30 11:14:10.995: E/InputDispatcher(80): channel '41069718 e2o.mobile/e2o.mobile.Home (server)' ~ Channel is unrecoverably broken and will be disposed!
01-30 11:14:11.005: I/WindowManager(80): WIN DEATH: Window{41069718 e2o.mobile/e2o.mobile.Home paused=false}
01-30 11:14:11.015: I/WindowManager(80): WINDOW DIED Window{41069718 e2o.mobile/e2o.mobile.Home paused=false}
01-30 11:14:11.126: W/InputManagerService(80): Got RemoteException sending setActive(false) notification to pid 3123 uid 10036

The name of my app is e2o.mobile. The app is killed after getting a SIGSEGV.

EDIT: on some digging into, it seems that the bug is related to the structure of my row elements of my list. if i print 1000 plain rows with text it doesn't crash. Here is the structure of my row-

<li data-theme="c" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-btn-hover-c ui-btn-up-c">
<div class="ui-btn-inner ui-li" aria-hidden="true">
    <div class="ui-btn-text">
        <a class="f-item ui-link-inherit" href="javascript:void(0);" >
            <p class="ui-li-heading f_feed_title f_l_indent ui-li-desc">abc</p>
            <p class="ui-li-desc f_feed_desc f_l_indent">asadasd</p>
            <div class="f_detail_ctr f_l_indent">
                <p class="f_feed_desc f_c_margin ui-li-desc">
                <span class="f_qw">1
                    <span class="f_icon "></span>
                </span>
            </p>
            </div>
            <img src="82b.jpg" class="ui-li-icon ui-li-thumb f_u_icon">
       </a>
    </div>
    <span class="ui-icon ui-icon-arrow-r ui-icon-shadow"></span>
</div>
</li>
ghostCoder
  • 1
  • 9
  • 49
  • 72
  • I'm having the same problem. Dynamically generated ListView with lots of elements works fine on Android 4.0, bada 2.0, iOS, but crashes on Android 3.0. But if the list elements are all the same, it's no problem... – Baris Akar Jun 09 '12 at 15:03

0 Answers0