Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Advanced
Description
Here are results from valgrind (http://valgrind.org/) run with DRLVM
1)
==21788== Conditional jump or move depends on uninitialised value(s)
==21788== at 0x4BFF1E9: EncoderBase::Operands::add(EncoderBase::Operand const&) (enc_base.h:546)
==21788== by 0x5E8FB40: Jitrino::Ia32::Encoder::emit(unsigned char*, Jitrino::Ia32::Inst const*) (Ia32Encoder.cpp:226)
==21788== by 0x5EBEEEB: Jitrino::Ia32::Inst::emit(unsigned char*) (Ia32Inst.cpp:441)
==21788== by 0x5E68CB5: Jitrino::Ia32::CodeEmitter::emitCode() (Ia32CodeEmitter.cpp:427)
==21788== by 0x5E68500: Jitrino::Ia32::CodeEmitter::runImpl() (Ia32CodeEmitter.cpp:300)
==21788== by 0x5EB7F41: Jitrino::Ia32::SessionAction::run() (Ia32IRManager.cpp:2269)
==21788== by 0x5F3DAA4: Jitrino::runPipeline(Jitrino::CompilationContext*) (Jitrino.cpp:227)
==21788== by 0x5F3DC26: Jitrino::compileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:262)
==21788== by 0x5F3DD3E: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:287)
==21788== by 0x5E2D144: JIT_compile_method_with_params (DrlJITInterface.cpp:279)
==21788== by 0x4C05384: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (dll_jit_intf.h:86)
==21788== by 0x4BFC8D6: compile_do_compilation_jit(Method*, JIT*) (compile.cpp:657)
2)
==21788== Conditional jump or move depends on uninitialised value(s)
==21788== at 0x5EB7F80: Jitrino::Ia32::SessionAction::run() (Ia32IRManager.cpp:2274)
==21788== by 0x5F3DAA4: Jitrino::runPipeline(Jitrino::CompilationContext*) (Jitrino.cpp:227)
==21788== by 0x5F3DC26: Jitrino::compileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:262)
==21788== by 0x5F3DD3E: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:287)
==21788== by 0x5E2D144: JIT_compile_method_with_params (DrlJITInterface.cpp:279)
==21788== by 0x4C05384: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (dll_jit_intf.h:86)
==21788== by 0x4BFC8D6: compile_do_compilation_jit(Method*, JIT*) (compile.cpp:657)
==21788== by 0x4BADDBE: vm_compile_method (C_Interface.cpp:2492)
==21788== by 0x5B56F66: DrlEMImpl::methodProfileIsReady(MethodProfile*) (DrlEMImpl.cpp:772)
==21788== by 0x5B6086E: EBProfileCollector::syncModeJitCallback(MethodProfile*) (EBProfileCollector.cpp:191)
==21788== by 0x5B5FBF5: eb_profiler_sync_mode_callback(void*) (EBProfileCollector.cpp:91)
==21788== by 0x4441039: ???
==21788==
3)
==21788== Conditional jump or move depends on uninitialised value(s)
==21788== at 0x5EB7F65: Jitrino::Ia32::SessionAction::run() (Ia32IRManager.cpp:2272)
==21788== by 0x5F3DAA4: Jitrino::runPipeline(Jitrino::CompilationContext*) (Jitrino.cpp:227)
==21788== by 0x5F3DC26: Jitrino::compileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:262)
==21788== by 0x5F3DD3E: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:287)
==21788== by 0x5E2D144: JIT_compile_method_with_params (DrlJITInterface.cpp:279)
==21788== by 0x4C05384: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (dll_jit_intf.h:86)
==21788== by 0x4BFC8D6: compile_do_compilation_jit(Method*, JIT*) (compile.cpp:657)
==21788== by 0x4BADDBE: vm_compile_method (C_Interface.cpp:2492)
==21788== by 0x5B56F66: DrlEMImpl::methodProfileIsReady(MethodProfile*) (DrlEMImpl.cpp:772)
==21788== by 0x5B6086E: EBProfileCollector::syncModeJitCallback(MethodProfile*) (EBProfileCollector.cpp:191)
==21788== by 0x5B5FBF5: eb_profiler_sync_mode_callback(void*) (EBProfileCollector.cpp:91)
==21788== by 0x4441039: ???
4)
==22293== Conditional jump or move depends on uninitialised value(s)
==22293== at 0x5F0243C: Jitrino::Ia32::StackLayouter::createProlog() (Ia32StackLayout.cpp:332)
==22293== by 0x5F01E10: Jitrino::Ia32::StackLayouter::runImpl() (Ia32StackLayout.cpp:181)
==22293== by 0x5EB7F49: Jitrino::Ia32::SessionAction::run() (Ia32IRManager.cpp:2269)
==22293== by 0x5F3DAAC: Jitrino::runPipeline(Jitrino::CompilationContext*) (Jitrino.cpp:227)
==22293== by 0x5F3DC2E: Jitrino::compileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:262)
==22293== by 0x5F3DD46: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (Jitrino.cpp:287)
==22293== by 0x5E2D144: JIT_compile_method_with_params (DrlJITInterface.cpp:279)
==22293== by 0x4C0538C: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (dll_jit_intf.h:86)
==22293== by 0x4BFC8D6: compile_do_compilation_jit(Method*, JIT*) (compile.cpp:657)
==22293== by 0x4BADDBE: vm_compile_method (C_Interface.cpp:2492)
==22293== by 0x5B56F66: DrlEMImpl::methodProfileIsReady(MethodProfile*) (DrlEMImpl.cpp:772)
==22293== by 0x5B6086E: EBProfileCollector::syncModeJitCallback(MethodProfile*) (EBProfileCollector.cpp:191)
==22293==
5)
==22293== Conditional jump or move depends on uninitialised value(s)
==22293== at 0x4BD22EA: Class::assign_offsets_to_methods(Global_Env*) (Prepare.cpp:833)
==22293== by 0x4BD3BBD: Class::prepare(Global_Env*) (Prepare.cpp:1223)
==22293== by 0x4BEEC56: ClassLoader::LoadVerifyAndPrepareClass(Global_Env*, String const*) (classloader.cpp:366)
==22293== by 0x4BCB98E: Global_Env::LoadCoreClass(String const*) (Environment.cpp:280)
==22293== by 0x4CBCB5E: preload_class(Global_Env*, String*) (vm_init.cpp:72)
==22293== by 0x4CBD856: bootstrap_initial_java_classes(Global_Env*) (vm_init.cpp:308)
==22293== by 0x4CBDAAC: preload_classes(Global_Env*) (vm_init.cpp:342)
==22293== by 0x4CBF097: vm_init1(JavaVM_Internal*, JavaVMInitArgs*) (vm_init.cpp:713)
==22293== by 0x4C29F54: JNI_CreateJavaVM (jni.cpp:499)
==22293== by 0x80499BC: invocation (main.c:658)
==22293== by 0x80490AF: gpProtectedMain (main.c:379)
==22293== by 0x804B506: main (cmain.c:147)
6)
==22293== Conditional jump or move depends on uninitialised value(s)
==22293== at 0x4BDC368: String_Pool::hash_it(char const*, unsigned*, unsigned*) (String_Pool.cpp:110)
==22293== by 0x4BDC7F9: String_Pool::lookup(char const*) (String_Pool.cpp:263)
==22293== by 0x4BEEDB1: ClassLoader::ReportFailedClass(char const*, char const*, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >&) (classloader.cpp:398)
==22293== by 0x4BF7D7E: BootstrapClassLoader::ReportFailedClass(char const*, char const*, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >&) (classloader.h:352)
==22293== by 0x4BF3F22: BootstrapClassLoader::LoadFromFile(String const*) (classloader.cpp:1659)
==22293== by 0x4BF2FE6: BootstrapClassLoader::DoLoadClass(Global_Env*, String const*) (classloader.cpp:1435)
==22293== by 0x4BF2D68: ClassLoader::LoadClass(Global_Env*, String const*) (classloader.cpp:1390)
==22293== by 0x4BEEC15: ClassLoader::LoadVerifyAndPrepareClass(Global_Env*, String const*) (classloader.cpp:363)
==22293== by 0x4BC8D9E: class_load_verify_prepare_from_jni(Global_Env*, String const*) (Class_File_Loader.cpp:3642)
==22293== by 0x4BAA582: class_find_class_from_loader (C_Interface.cpp:1036)
==22293== by 0x4C114DA: Java_java_lang_VMClassRegistry_loadBootstrapClass (java_lang_VMClassRegistry.cpp:82)
==22293== by 0x786AE35: ???
7)
==22293== Invalid read of size 4
==22293== at 0x4BDC350: String_Pool::hash_it(char const*, unsigned*, unsigned*) (String_Pool.cpp:109)
==22293== by 0x4BDC7F9: String_Pool::lookup(char const*) (String_Pool.cpp:263)
==22293== by 0x4C2A5FD: FindClass(JNIEnv_External*, char const*) (jni.cpp:637)
==22293== by 0x804AA95: main_runJavaMain (main.c:1232)
==22293== by 0x8049AF0: invocation (main.c:730)
==22293== by 0x80490AF: gpProtectedMain (main.c:379)
==22293== by 0x804B506: main (cmain.c:147)
8)
==22293== Address 0x70CCE14 is 4 bytes inside a block of size 6 alloc'd
==22293== at 0x401B85E: malloc (vg_replace_malloc.c:149)
==22293== by 0x4CC83B5: string_get_utf8_chars(ManagedObject*) (vm_strings.cpp:478)
==22293== by 0x4CC84D1: string_get_utf8_chars_h(_jobject*) (vm_strings.cpp:492)
==22293== by 0x4C2D3E7: GetStringUTFChars(JNIEnv_External*, _jobject*, unsigned char*) (jni.cpp:1179)
==22293== by 0x804AA39: main_runJavaMain (main.c:1222)
==22293== by 0x8049AF0: invocation (main.c:730)
==22293== by 0x80490AF: gpProtectedMain (main.c:379)
==22293== by 0x804B506: main (cmain.c:147)
================================================
To reproduce the results you use these files:
Empty.java:
public class Empty {
public static void main(String[] args)
static native void nat();
}
Empty.c:
#include <jni.h>
#include "stdlib.h"
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT void JNICALL Java_Empty_nat (JNIEnv *p1, jclass p2) {
int a;
if( a == 4 ) a = 3;
}
#ifdef __cplusplus
}
#endif