From 1b452f38c60b213a738165a796522842b36221b4 Mon Sep 17 00:00:00 2001 From: "giwoong.kim" Date: Wed, 24 Apr 2013 10:57:50 +0900 Subject: [PATCH] emulator: added some logs & error popup added some logs & error popup Change-Id: I800744f0b99f9e625d9db7d4bc4de9a8618d083a Signed-off-by: GiWoong Kim --- tizen/src/emulator.c | 1 + tizen/src/maru_sdl.c | 4 ++-- tizen/src/maru_shm.c | 17 ++++++++++---- tizen/src/osutil-darwin.c | 13 ++++++++++- tizen/src/osutil-linux.c | 8 ++++--- tizen/src/skin/client/native_src/share.c | 23 ++++++++++++++----- .../tizen/emulator/skin/EmulatorShmSkin.java | 16 +++++++++++++ .../org/tizen/emulator/skin/EmulatorSkin.java | 3 +++ .../tizen/emulator/skin/EmulatorSkinMain.java | 11 ++++++++- 9 files changed, 78 insertions(+), 18 deletions(-) diff --git a/tizen/src/emulator.c b/tizen/src/emulator.c index c44d999a9f..63656c7d74 100644 --- a/tizen/src/emulator.c +++ b/tizen/src/emulator.c @@ -326,6 +326,7 @@ static void print_system_info(void) SDL_Linked_Version()->minor, SDL_Linked_Version()->patch); #endif + print_system_info_os(); } diff --git a/tizen/src/maru_sdl.c b/tizen/src/maru_sdl.c index 8775c69bb2..b561c4a10d 100644 --- a/tizen/src/maru_sdl.c +++ b/tizen/src/maru_sdl.c @@ -577,9 +577,9 @@ void maruskin_sdl_init(uint64 swt_handle, void maruskin_sdl_quit(void) { + INFO("maru sdl quit\n"); + /* remove multi-touch finger points */ - get_emul_multi_touch_state()->multitouch_enable = 0; - clear_finger_slot(); cleanup_multi_touch_state(); #if 0 diff --git a/tizen/src/maru_shm.c b/tizen/src/maru_shm.c index 73fe3a374f..961cf623f1 100644 --- a/tizen/src/maru_shm.c +++ b/tizen/src/maru_shm.c @@ -131,7 +131,7 @@ void maruskin_shm_init(uint64 swt_handle, /* base + 2 = shared memory key */ int mykey = get_emul_vm_base_port() + 2; - INFO("shared memory key: %d, vga ram_size : %d\n", mykey, shm_size); + INFO("shared memory key: %d, size: %d bytes\n", mykey, shm_size); /* make a shared framebuffer */ skin_shmid = shmget((key_t)mykey, (size_t)shm_size, 0666 | IPC_CREAT); @@ -141,31 +141,38 @@ void maruskin_shm_init(uint64 swt_handle, maru_register_exit_msg(MARU_EXIT_UNKNOWN, (char*) "Cannot launch this VM.\n" - "Shared memory is not enough."); - exit(0); + "Failed to get identifier of the shared memory segment."); + exit(1); } shared_memory = shmat(skin_shmid, (void*)0, 0); if (shared_memory == (void *)-1) { ERR("shmat failed\n"); perror("maru_vga: "); + + maru_register_exit_msg(MARU_EXIT_UNKNOWN, + (char*) "Cannot launch this VM.\n" + "Failed to attach the shared memory segment."); exit(1); } /* default screen */ memset(shared_memory, 0x00, (size_t)shm_size); - printf("Memory attached at %X\n", (int)shared_memory); + printf("Memory attached at 0x%X\n", (int)shared_memory); } void maruskin_shm_quit(void) { + INFO("maru shm quit\n"); + if (shmdt(shared_memory) == -1) { ERR("shmdt failed\n"); perror("maru_vga: "); } + shared_memory = NULL; if (shmctl(skin_shmid, IPC_RMID, 0) == -1) { - ERR("shmctl failed\n"); + INFO("segment was already removed\n"); perror("maru_vga: "); } } diff --git a/tizen/src/osutil-darwin.c b/tizen/src/osutil-darwin.c index 3298b55753..294854b16c 100644 --- a/tizen/src/osutil-darwin.c +++ b/tizen/src/osutil-darwin.c @@ -116,7 +116,7 @@ void set_bin_path_os(gchar * exec_argv) void print_system_info_os(void) { - INFO("* Mac\n"); + INFO("* Mac\n"); /* uname */ INFO("* Host machine uname :\n"); @@ -164,6 +164,17 @@ void print_system_info_os(void) if (sysctl(mib, 2, &sys_num, &len, NULL, 0) >= 0) { INFO("* Total memory : %llu bytes\n", sys_num); } + + /* java version */ + INFO("* Java version :\n"); + char lspci_cmd[MAXLEN] = "java -version 2>> "; + strcat(lspci_cmd, log_path); + + fflush(stdout); + if(system(lspci_cmd) < 0) { + INFO("system function command '%s' \ + returns error !", lspci_cmd); + } } static int get_auto_proxy(char *http_proxy, char *https_proxy, char *ftp_proxy, char *socks_proxy) diff --git a/tizen/src/osutil-linux.c b/tizen/src/osutil-linux.c index f294449633..1cc50f7061 100644 --- a/tizen/src/osutil-linux.c +++ b/tizen/src/osutil-linux.c @@ -152,9 +152,9 @@ void print_system_info_os(void) /* depends on building */ INFO("* QEMU build machine linux kernel version : (%d, %d, %d)\n", - LINUX_VERSION_CODE >> 16, - (LINUX_VERSION_CODE >> 8) & 0xff, - LINUX_VERSION_CODE & 0xff); + LINUX_VERSION_CODE >> 16, + (LINUX_VERSION_CODE >> 8) & 0xff, + LINUX_VERSION_CODE & 0xff); /* depends on launching */ struct utsname host_uname_buf; @@ -185,6 +185,8 @@ void print_system_info_os(void) INFO("* PCI devices :\n"); char lspci_cmd[MAXLEN] = "lspci >> "; strcat(lspci_cmd, log_path); + + fflush(stdout); if(system(lspci_cmd) < 0) { INFO("system function command '%s' \ returns error !", lspci_cmd); diff --git a/tizen/src/skin/client/native_src/share.c b/tizen/src/skin/client/native_src/share.c index 5f17212d56..059a25d349 100644 --- a/tizen/src/skin/client/native_src/share.c +++ b/tizen/src/skin/client/native_src/share.c @@ -42,12 +42,13 @@ int shmid; JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_shmget - (JNIEnv *env, jobject obj, jint shmkey, jint vga_ram_size) + (JNIEnv *env, jobject obj, jint shmkey, jint size) { - fprintf(stdout, "share.c: shared memory key = %d, size=%d\n", shmkey, vga_ram_size); + fprintf(stdout, "share.c: shared memory key=%d, size=%d bytes\n", + shmkey, size); fflush(stdout); - shmid = shmget((key_t)shmkey, (size_t)vga_ram_size, 0666 | IPC_CREAT); + shmid = shmget((key_t)shmkey, (size_t)size, 0666 | IPC_CREAT); if (shmid == -1) { fprintf(stderr, "share.c: shmget failed\n"); fflush(stderr); @@ -62,12 +63,18 @@ JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_shmget return 2; } + fprintf(stdout, "Memory attached at 0x%X\n", (int)shared_memory); + fflush(stdout); + return 0; } JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_shmdt (JNIEnv *env, jobject obj) { + fprintf(stdout, "share.c: clean up the shared memory\n"); + fflush(stdout); + /* Lastly, the shared memory is detached */ if (shmdt(shared_memory) == -1) { fprintf(stderr, "share.c: shmdt failed\n"); @@ -75,12 +82,14 @@ JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_shmdt perror("share.c: "); return 1; } + shared_memory = NULL; /* if (shmctl(shmid, IPC_RMID, 0) == -1) { - fprintf(stderr, "share.c: shmctl failed\n"); - fflush(stderr); + fprintf(stdout, "share.c: segment was already removed\n"); + fflush(stdout); perror("share.c: "); + return 2; } */ @@ -97,7 +106,9 @@ JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_getPixels return -1; } - (*env)->SetIntArrayRegion(env, array, 0, len, shared_memory); + if (shared_memory != NULL) { + (*env)->SetIntArrayRegion(env, array, 0, len, shared_memory); + } return len; } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java index db8deb0b66..12203b5d8f 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java @@ -202,6 +202,22 @@ public class EmulatorShmSkin extends EmulatorSkin { currentState.getCurrentResolutionHeight() * 4); logger.info("shmget native function returned " + result); + if (result == 1) { + logger.severe("Failed to get identifier of the shared memory segment."); + SkinUtil.openMessage(shell, null, + "Cannot launch this VM.\n" + + "Failed to get identifier of the shared memory segment.", + SWT.ICON_ERROR, config); + System.exit(-1); + } else if (result == 2) { + logger.severe("Failed to attach the shared memory segment."); + SkinUtil.openMessage(shell, null, + "Cannot launch this VM.\n" + + "Failed to attach the shared memory segment.", + SWT.ICON_ERROR, config); + System.exit(-1); + } + /* update lcd thread */ pollThread = new PollFBThread( currentState.getCurrentResolutionWidth(), diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java index 8c216505d6..063b77cf6c 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -397,6 +397,8 @@ public class EmulatorSkin { } protected void skinFinalize() { + logger.info("skinFinalize"); + skinComposer.composerFinalize(); } @@ -1708,6 +1710,7 @@ public class EmulatorSkin { } public void shutdown() { + logger.info("shutdown the skin process"); isShutdownRequested = true; diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java index d93a1bda2e..7e5277632f 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java @@ -99,7 +99,7 @@ public class EmulatorSkinMain { System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Emulator"); } - + String simpleMsg = getSimpleMsg(args); if (simpleMsg != null) { /* just show one message box. that's all. */ @@ -129,6 +129,15 @@ public class EmulatorSkinMain { logger = SkinLogger.getSkinLogger(EmulatorSkinMain.class).getLogger(); logger.info("!!! Start Emualtor Skin !!!"); + logger.info("java.version: " + System.getProperty("java.version")); + logger.info("java vendor: " + System.getProperty("java.vendor")); + logger.info("vm version: " + System.getProperty("java.vm.version")); + logger.info("vm vendor: " + System.getProperty("java.vm.vendor")); + logger.info("vm name: " + System.getProperty("java.vm.name")); + logger.info("os name: " + System.getProperty("os.name")); + logger.info("os arch: " + System.getProperty("os.arch")); + logger.info("os version: " + System.getProperty("os.version")); + /* startup arguments parsing */ Map argsMap = parsArgs(args); -- 2.34.1