KB-20071229-044

From Triled Wiki

Jump to: navigation, search

code example:

public void onCreate(Bundle icicle)
{
        super.onCreate(icicle);
        setContentView(R.layout.main);

	try {
		InetAddress[] adresses = java.net.InetAddress.getAllByName("www.google.com");
			
		for (int i = 0; i < adresses.length; ++i)
			Log.i("aqu", i + ":" + adresses[i].toString());

	} catch (UnknownHostException e) {
		e.printStackTrace();
	}
}

While debbuging results in:

D/AndroidRuntime(557): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/jdwp(557): JDWP listening on port 8004
D/AndroidRuntime(557): --- registering native functions ---
D/ActivityManager(465): Force removing app null (test.buffer)
I/ActivityManager(465): Starting activity: Intent { launchFlags=4 comp={test.buffer/test.buffer.BufferTest} }
I/ActivityThread(465): Loading resource-only package test.buffer (in null)
D/AndroidRuntime(557): Shutting down VM
D/dalvikvm(557): DestroyJavaVM waiting for non-daemon threads to exit
I/ARMAssembler(465): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0xfe090:0xfe19c] in 273676840 us
I/ActivityManager(465): Starting app process test.buffer to host activity {test.buffer/test.buffer.BufferTest}: pid=563
D/jdwp(563): JDWP listening on port 8005
I/ARMAssembler(465): generated scanline__00000077:03010104_00000004_00000000 [ 22 ipp] (41 ins) at [0xf29b8:0xf2a5c] in 273676840 us
I/ActivityThread(563): Loading code package test.buffer (in test.buffer)
W/ActivityThread(563): Application test.buffer is waiting for the debugger on port 8100...
I/dalvikvm(563): Debugger is active
D/ActivityThread(563): Performing launch of ActivityRecord{40021228 {test.buffer/test.buffer.BufferTest}}
W/dalvikvm-heap(563): dvmMalloc(76075152/0x0488d090): someone's allocating a huge buffer
W/ActivityManager(465): Activity idle timeout for HistoryRecord{40050c50 {test.buffer/test.buffer.BufferTest}} ({test.buffer/test.buffer.BufferTest})
D/dalvikvm(563): Exception java/lang/RuntimeException from Looper.java:76 not caught locally
D/dalvikvm(563): Exception java/lang/RuntimeException from ZygoteInit.java:1176 not caught locally
D/AndroidRuntime(563): Shutting down VM
W/dalvikvm(563): threadid=3: thread exiting with uncaught exception (group=0x4000e648)
E/AndroidRuntime(563): Uncaught handler: thread Main exiting due to uncaught exception
E/AndroidRuntime(563): java.lang.RuntimeException: Unable to start activity ComponentInfo{test.buffer/test.buffer.BufferTest}: java.lang.OutOfMemoryError: impossibly large allocation
E/AndroidRuntime(563): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1397)
E/AndroidRuntime(563): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1410)
E/AndroidRuntime(563): at android.app.ActivityThread.access$1200(ActivityThread.java:76)
E/AndroidRuntime(563): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:980)
E/AndroidRuntime(563): at android.os.Handler.dispatchMessage(Handler.java:80)
E/AndroidRuntime(563): at android.os.Looper.loop(Looper.java:71)
E/AndroidRuntime(563): at android.app.ActivityThread.main(ActivityThread.java:2506)
E/AndroidRuntime(563): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(563): at java.lang.reflect.Method.invoke(Method.java:380)
E/AndroidRuntime(563): at android.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1170)
E/AndroidRuntime(563): at android.os.ZygoteInit.main(ZygoteInit.java:1121)
E/AndroidRuntime(563): at android.dalvik.NativeStart.main(Native Method)
E/AndroidRuntime(563): Caused by: java.lang.OutOfMemoryError: impossibly large allocation
E/AndroidRuntime(563): at java.net.InetAddress.getAliasesByNameImpl(InetAddress.java:462)
E/AndroidRuntime(563): at java.net.InetAddress.getAllByName(InetAddress.java:207)
E/AndroidRuntime(563): at test.buffer.BufferTest.onCreate(BufferTest.java:29)
E/AndroidRuntime(563): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:786)
E/AndroidRuntime(563): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1367)
E/AndroidRuntime(563): ... 11 more
I/Process(465): Sending signal. PID: 563 SIG: 3
I/dalvikvm(563): threadid=7: reacting to signal 3
I/dalvikvm(563): DALVIK THREADS:
I/dalvikvm(563): "Main" prio=5 tid=3 NATIVE
I/dalvikvm(563): | group="main" sCount=1 dsCount=0 s=0 obj=0x4000eca0
I/dalvikvm(563): | sysTid=454 nice=0 sched=0/0 handle=-1095848532
I/dalvikvm(563): at android/os/BinderProxy.transact(Native Method)
I/dalvikvm(563): at android/app/ActivityManagerProxy.handleApplicationError(ActivityManagerNative.java:1205)
I/dalvikvm(563): at android/os/RuntimeInit.crash(RuntimeInit.java:234)
I/dalvikvm(563): at android/os/RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:53)
I/dalvikvm(563): at java/lang/ThreadGroup.uncaughtException(ThreadGroup.java:853)
I/dalvikvm(563): at java/lang/ThreadGroup.uncaughtException(ThreadGroup.java:850)
I/dalvikvm(563): (break frame)
I/dalvikvm(563): at android/dalvik/NativeStart.main(Native Method)
I/dalvikvm(563): (break frame)
I/dalvikvm(563): "Binder Thread #1" prio=5 tid=11 NATIVE
I/dalvikvm(563): | group="main" sCount=1 dsCount=0 s=0 obj=0x4001d238
I/dalvikvm(563): | sysTid=567 nice=0 sched=0/0 handle=1134152
I/dalvikvm(563): at android/dalvik/NativeStart.run(Native Method)
I/dalvikvm(563): (break frame)
I/dalvikvm(563): "JDWP" daemon prio=5 tid=9 VMWAIT
I/dalvikvm(563): | group="system" sCount=1 dsCount=0 s=0 obj=0x40095548
I/dalvikvm(563): | sysTid=566 nice=0 sched=0/0 handle=1130448
I/dalvikvm(563): at android/dalvik/NativeStart.run(Native Method)
I/dalvikvm(563): (break frame)
I/dalvikvm(563): "Signal Catcher" daemon prio=5 tid=7 RUNNABLE
I/dalvikvm(563): | group="system" sCount=0 dsCount=0 s=0 obj=0x400219e0
I/dalvikvm(563): | sysTid=565 nice=0 sched=0/0 handle=1119456
I/dalvikvm(563): at android/dalvik/NativeStart.run(Native Method)
I/dalvikvm(563): (break frame)
I/dalvikvm(563): "HeapWorker" daemon prio=5 tid=5 VMWAIT
I/dalvikvm(563): | group="system" sCount=1 dsCount=0 s=0 obj=0x40021110
I/dalvikvm(563): | sysTid=564 nice=0 sched=0/0 handle=1116864
I/dalvikvm(563): at android/dalvik/NativeStart.run(Native Method)
I/dalvikvm(563): (break frame)

If you try just run such code without debugging, you'll get something similar to:

I/DEBUG(452): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG(452): pid: 543, tid: 543  >>> test.buffer <<<
I/DEBUG(452): signal 11 (SIGSEGV), fault addr 00000178
I/DEBUG(452): r0 41009cb4  r1 00000170  r2 0000b7c8  r3 00000034
I/DEBUG(452): r4 41009cb4  r5 ad0646bc  r6 00000000  r7 41041380
I/DEBUG(452): r8 00000020  r9 41aa1d74  10 bef6b938  fp 00004122
I/DEBUG(452): ip ad0646bc  sp bef6b888  lr ffffe89c  pc ad01cefc  cpsr 20000010
I/DEBUG(452): #01  pc ad01cefc  /system/lib/libdvm.so
I/DEBUG(452): #01  lr ffffe89c  <unknown>
I/DEBUG(452): stack:
I/DEBUG(452): bef6b800  400d20c8
I/DEBUG(452): bef6b804  000002a8
I/DEBUG(452): bef6b808  ad064238  /system/lib/libdvm.so
I/DEBUG(452): bef6b80c  0000a570  [heap]
I/DEBUG(452): bef6b810  ad02443d  /system/lib/libdvm.so
I/DEBUG(452): bef6b814  ad20d693  /system/lib/libnativehelper.so
I/DEBUG(452): bef6b818  00000002
I/DEBUG(452): bef6b81c  bef6b840  [stack]
I/DEBUG(452): bef6b820  41009ca0
I/DEBUG(452): bef6b824  bef6b938  [stack]
I/DEBUG(452): bef6b828  00000170
I/DEBUG(452): bef6b82c  bef6b860  [stack]
I/DEBUG(452): bef6b830  0000b6c0  [heap]
I/DEBUG(452): bef6b834  41c43992
I/DEBUG(452): bef6b838  41009ca8
I/DEBUG(452): bef6b83c  0000b6c0  [heap]
I/DEBUG(452): bef6b840  00000001
I/DEBUG(452): bef6b844  00000007
I/DEBUG(452): bef6b848  bef6b8f8  [stack]
I/DEBUG(452): bef6b84c  ad039941  /system/lib/libdvm.so
I/DEBUG(452): bef6b850  4102b994
I/DEBUG(452): bef6b854  0000b6c0  [heap]
I/DEBUG(452): bef6b858  41c43992
I/DEBUG(452): bef6b85c  ad034429  /system/lib/libdvm.so
I/DEBUG(452): bef6b860  41009ca0
I/DEBUG(452): bef6b864  41c43992
I/DEBUG(452): bef6b868  ad20d5e1  /system/lib/libnativehelper.so
I/DEBUG(452): bef6b86c  bef6b8f8  [stack]
I/DEBUG(452): bef6b870  00000070
I/DEBUG(452): bef6b874  41009c90
I/DEBUG(452): bef6b878  0000b6c0  [heap]
I/DEBUG(452): bef6b87c  00000000
I/DEBUG(452): bef6b880  df002777
I/DEBUG(452): bef6b884  e3a070ad
I/DEBUG(452): ==> bef6b888  bef6b8f8  [stack]
I/DEBUG(452): bef6b88c  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b890  000002bc
I/DEBUG(452): bef6b894  000002bc
I/DEBUG(452): bef6b898  ffffe89c
I/DEBUG(452): bef6b89c  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b8a0  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b8a4  0000b6c0  [heap]
I/DEBUG(452): bef6b8a8  00012700  [heap]
I/DEBUG(452): bef6b8ac  4102b958
I/DEBUG(452): bef6b8b0  00011bf0  [heap]
I/DEBUG(452): bef6b8b4  afe0a774  /system/lib/libc.so
I/DEBUG(452): bef6b8b8  00011bf0  [heap]
I/DEBUG(452): bef6b8bc  000002b4
I/DEBUG(452): bef6b8c0  00011bf4  [heap]
I/DEBUG(452): bef6b8c4  afe0a6ac  /system/lib/libc.so
I/DEBUG(452): bef6b8c8  00011bf0  [heap]
I/DEBUG(452): bef6b8cc  400d3180
I/DEBUG(452): bef6b8d0  00000000
I/DEBUG(452): bef6b8d4  afe0a774  /system/lib/libc.so
I/DEBUG(452): bef6b8d8  00011bf0  [heap]
I/DEBUG(452): bef6b8dc  00000002
I/DEBUG(452): bef6b8e0  0005f3b0  [heap]
I/DEBUG(452): bef6b8e4  00000000
I/DEBUG(452): bef6b8e8  00000000
I/DEBUG(452): bef6b8ec  00000000
I/DEBUG(452): bef6b8f0  00011bf0  [heap]
I/DEBUG(452): bef6b8f4  000dac94  [heap]
I/DEBUG(452): bef6b8f8  00000170
I/DEBUG(452): bef6b8fc  00000007
I/DEBUG(452): bef6b900  00000015
I/DEBUG(452): bef6b904  41009cb4
I/DEBUG(452): bef6b908  410e4b68
I/DEBUG(452): bef6b90c  00000001
I/DEBUG(452): bef6b910  0000b6c0  [heap]
I/DEBUG(452): bef6b914  ad0652b8  /system/lib/libdvm.so
I/DEBUG(452): bef6b918  bef6b990  [stack]
I/DEBUG(452): bef6b91c  4001d938
I/DEBUG(452): bef6b920  410972e4
I/DEBUG(452): bef6b924  00000001
I/DEBUG(452): bef6b928  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b92c  ad00d70c  /system/lib/libdvm.so
I/DEBUG(452): bef6b930  00000000
I/DEBUG(452): bef6b934  00000000
I/DEBUG(452): bef6b938  40008701
I/DEBUG(452): bef6b93c  410972e4
I/DEBUG(452): bef6b940  42306f40
I/DEBUG(452): bef6b944  41009ecc
I/DEBUG(452): bef6b948  0000b6c0  [heap]
I/DEBUG(452): bef6b94c  400840b8
I/DEBUG(452): bef6b950  00000000
I/DEBUG(452): bef6b954  ad046300  /system/lib/libdvm.so
I/DEBUG(452): bef6b958  000002bc
I/DEBUG(452): bef6b95c  00000001
I/DEBUG(452): bef6b960  00000019
I/DEBUG(452): bef6b964  00000001
I/DEBUG(452): bef6b968  400d5a68
I/DEBUG(452): bef6b96c  ad046873  /system/lib/libdvm.so
I/DEBUG(452): bef6b970  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b974  4001d830
I/DEBUG(452): bef6b978  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b97c  ad03c6cf  /system/lib/libdvm.so
I/DEBUG(452): bef6b980  400840b8
I/DEBUG(452): bef6b984  0000b6c0  [heap]
I/DEBUG(452): bef6b988  ad0652b8  /system/lib/libdvm.so
I/DEBUG(452): bef6b98c  400081f0
I/DEBUG(452): bef6b990  00000038
I/DEBUG(452): bef6b994  ad00cd50  /system/lib/libdvm.so
I/DEBUG(452): bef6b998  00000001
I/DEBUG(452): bef6b99c  00000000
I/DEBUG(452): bef6b9a0  400d5a58
I/DEBUG(452): bef6b9a4  40011ea8
I/DEBUG(452): bef6b9a8  4001d928
I/DEBUG(452): bef6b9ac  400840b8
I/DEBUG(452): bef6b9b0  410972e4
I/DEBUG(452): bef6b9b4  00000000
I/DEBUG(452): bef6b9b8  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b9bc  ad02fbaf  /system/lib/libdvm.so
I/DEBUG(452): bef6b9c0  40011ea8
I/DEBUG(452): bef6b9c4  00000000
I/DEBUG(452): bef6b9c8  00000014
I/DEBUG(452): bef6b9cc  bef6ba98  [stack]
I/DEBUG(452): bef6b9d0  bef6bad8  [stack]
I/DEBUG(452): bef6b9d4  00000074
I/DEBUG(452): bef6b9d8  bef6ba98  [stack]
I/DEBUG(452): bef6b9dc  41009f04
I/DEBUG(452): bef6b9e0  0000b6c0  [heap]
I/DEBUG(452): bef6b9e4  ad02fb55  /system/lib/libdvm.so
I/DEBUG(452): bef6b9e8  410108d4
I/DEBUG(452): bef6b9ec  40009060
I/DEBUG(452): bef6b9f0  ad0646bc  /system/lib/libdvm.so
I/DEBUG(452): bef6b9f4  ad035e07  /system/lib/libdvm.so
I/DEBUG(452): bef6b9f8  41655028
I/DEBUG(452): bef6b9fc  416cd9c4
I/ActivityManager(467): APP DEATH: test.buffer


NOTE:
Problem appears only for host names, there is no such problem if in call was provided dotted IP strings, e.g. "72.14.215.99".
Personal tools