weixin_39817347 2020-11-30 06:25
浏览 0

UNINIT ERROR from MSVCP120D.dll!_FXp_getw

From zhao....com on March 11, 2014 18:39:14

$ ~/Workspace/DrMemory/builds/build_x86_drm_dbg.git/bin/drmemory.exe -pause_at_error -debug -suppress ./tools/valgrind/drmemory/suppressions.txt -suppress ./tools/valgrind/drmemory/suppressions_full.txt -no_count_leaks -callstack_max_frames 40 -- ./out/Debug/content_unittests.exe --ui-test-action-timeout=400000 --ui-test-action-max-timeout=800000 --gtest_filter=RenderWidgetHostViewAuraTest.FullscreenResize

[==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from RenderWidgetHostViewAuraTest [ RUN ] RenderWidgetHostViewAuraTest.FullscreenResize ~~172824~~ ~~172824~~ Error #1: UNINITIALIZED READ: reading 0x180f9dcc-0x180f9dd0 4 byte(s) ~~172824~~ # 0 MSVCP120D.dll!_FXp_getw [f:\dd\vctools\crt\crtw32\stdcpp\xxxprec.h:57] ~~172824~~ # 1 MSVCP120D.dll!_FDtento [f:\dd\vctools\crt\crtw32\stdcpp\xxxdtent.h:97] ~~172824~~ # 2 MSVCP120D.dll!_Stofx [f:\dd\vctools\crt\crtw32\stdcpp\xxstod.h:45] ~~172824~~ # 3 MSVCP120D.dll!std::num_get<>::do_get [f:\dd\vctools\crt\crtw32\stdhpp\xlocnum:559] ~~172824~~ # 4 MSVCP120D.dll!std::num_get<>::get [f:\dd\vctools\crt\crtw32\stdhpp\xlocnum:360] ~~172824~~ # 5 MSVCP120D.dll!std::basic_istream<>::operator>> [f:\dd\vctools\crt\crtw32\stdhpp\istream:422] ~~172824~~ # 6 translator.dll!pp::numeric_lex_float<> [d:\src\chrome\src\third_party\angle\src\compiler\preprocessor\numeric_lex.h:56] ~~172824~~ # 7 translator.dll!atof_clamp [d:\src\chrome\src\third_party\angle\src\compiler\translator\util.cpp:15] ~~172824~~ # 8 translator.dll!float_constant [d:\src\chrome\src\out\debug\glslang_lex.cpp:2924] ~~172824~~ # 9 translator.dll!yylex [d:\src\chrome\src\out\debug\glslang_lex.cpp:1525] ~~172824~~ #10 translator.dll!yyparse [d:\src\chrome\src\third_party\angle\src\compiler\translator\glslang_tab.cpp:2168] ~~172824~~ #11 translator.dll!glslang_parse [d:\src\chrome\src\third_party\angle\src\compiler\translator\glslang_tab.cpp:4881] ~~172824~~ #12 translator.dll!PaParseStrings [d:\src\chrome\src\third_party\angle\src\compiler\translator\parsecontext.cpp:1594] ~~172824~~ #13 translator.dll!TCompiler::compile [d:\src\chrome\src\third_party\angle\src\compiler\translator\compiler.cpp:161] ~~172824~~ #14 translator.dll!ShCompile [d:\src\chrome\src\third_party\angle\src\compiler\translator\shaderlang.cpp:158] ~~172824~~ #15 gpu.dll!gpu::gles2::ShaderTranslator::Translate [d:\src\chrome\src\gpu\command_buffer\service\shader_translator.cc:177] ~~172824~~ #16 gpu.dll!gpu::gles2::ProgramManager::DoCompileShader [d:\src\chrome\src\gpu\command_buffer\service\program_manager.cc:472] ~~172824~~ #17 gpu.dll!gpu::gles2::GLES2DecoderImpl::DoCompileShader [d:\src\chrome\src\gpu\command_buffer\service\gles2_cmd_decoder.cc:6653] ~~172824~~ #18 gpu.dll!gpu::gles2::GLES2DecoderImpl::HandleCompileShader [d:\src\chrome\src\gpu\command_buffer\service\gles2_cmd_decoder_autogen.h:321] ~~172824~~ #19 gpu.dll!gpu::gles2::GLES2DecoderImpl::DoCommand [d:\src\chrome\src\gpu\command_buffer\service\gles2_cmd_decoder.cc:3569] ~~172824~~ #20 gpu.dll!gpu::CommandParser::ProcessCommand [d:\src\chrome\src\gpu\command_buffer\service\cmd_parser.cc:67] ~~172824~~ #21 gpu.dll!gpu::GpuScheduler::PutChanged [d:\src\chrome\src\gpu\command_buffer\service\gpu_scheduler.cc:81] ~~172824~~ #22 gpu.dll!gpu::InProcessCommandBuffer::PumpCommands [d:\src\chrome\src\gpu\command_buffer\service\in_process_command_buffer.cc:243] ~~172824~~ #23 gpu.dll!base::internal::RunnableAdapter<>::Run [d:\src\chrome\src\base\bind_internal.h:134] ~~172824~~ #24 gpu.dll!base::internal::InvokeHelper<>::MakeItSo [d:\src\chrome\src\base\bind_internal.h:882] ~~172824~~ #25 gpu.dll!base::internal::Invoker<>::Run [d:\src\chrome\src\base\bind_internal.h:1169] ~~172824~~ #26 gpu.dll!base::Callback<>::Run [d:\src\chrome\src\base\callback.h:401] ~~172824~~ #27 gpu.dll!gpu::CommandBufferService::Flush [d:\src\chrome\src\gpu\command_buffer\service\command_buffer_service.cc:92] ~~172824~~ #28 gpu.dll!gpu::InProcessCommandBuffer::FlushOnGpuThread [d:\src\chrome\src\gpu\command_buffer\service\in_process_command_buffer.cc:497] ~~172824~~ #29 gpu.dll!base::internal::RunnableAdapter<>::Run [d:\src\chrome\src\base\bind_internal.h:190] ~~172824~~ #30 gpu.dll!base::internal::InvokeHelper<>::MakeItSo [d:\src\chrome\src\base\bind_internal.h:909] ~~172824~~ #31 gpu.dll!base::internal::Invoker<>::Run [d:\src\chrome\src\base\bind_internal.h:1253] ~~172824~~ #32 base.dll!base::Callback<>::Run [d:\src\chrome\src\base\callback.h:401] ~~172824~~ #33 base.dll!base::MessageLoop::RunTask [d:\src\chrome\src\base\message_loop\message_loop.cc:449] ~~172824~~ #34 base.dll!base::MessageLoop::DeferOrRunPendingTask [d:\src\chrome\src\base\message_loop\message_loop.cc:461] ~~172824~~ #35 base.dll!base::MessageLoop::DoWork [d:\src\chrome\src\base\message_loop\message_loop.cc:575] ~~172824~~ #36 base.dll!base::MessagePumpDefault::Run [d:\src\chrome\src\base\message_loop\message_pump_default.cc:32] ~~172824~~ #37 base.dll!base::MessageLoop::RunHandler [d:\src\chrome\src\base\message_loop\message_loop.cc:399] ~~172824~~ #38 base.dll!base::RunLoop::Run [d:\src\chrome\src\base\run_loop.cc:49] ~~172824~~ #39 base.dll!base::MessageLoop::Run [d:\src\chrome\src\base\message_loop\message_loop.cc:292] ~~172824~~ Note: :02:28.732 in thread 172824 ~~172824~~ Note: instruction: fld (%eax,%edx,1) -> %st0

Original issue: http://code.google.com/p/drmemory/issues/detail?id=1474

该提问来源于开源项目:DynamoRIO/drmemory

  • 写回答

10条回答 默认 最新

  • weixin_39817347 2020-11-30 06:25
    关注

    From zhao....com on March 11, 2014 15:43:41

    675ffc91 b904000000 mov ecx,0x4 675ffc96 6bd103 imul edx,ecx,0x3 675ffc99 8b4508 mov eax,[ebp+0x8] 675ffc9c d90410 fld dword ptr [eax+edx] <== UNINIT 675ffc9f d9ee fldz 675ffca1 dae9 fucompp 675ffca3 dfe0 fstsw 675ffca5 f6c444 test ah,0x44

    0:002> dt mc Local var @ 0x27a8ed30 Type _dr_mcontext_t* 0x27a8ed60 +0x000 size : 0x148 +0x004 flags : 3 (No matching name) +0x008 xdi : 0x180fb28c +0x008 edi : 0x180fb28c +0x00c xsi : 0x180fa168 +0x00c esi : 0x180fa168 +0x010 xbp : 0x180f9cd8 +0x010 ebp : 0x180f9cd8 +0x014 xsp : 0x180f9cc0 +0x014 esp : 0x180f9cc0 +0x018 xbx : 0 +0x018 ebx : 0 +0x01c xdx : 0xc +0x01c edx : 0xc +0x020 xcx : 4 +0x020 ecx : 4 +0x024 xax : 0x180f9dc0 +0x024 eax : 0x180f9dc0 +0x028 xflags : 0x286 +0x028 eflags : 0x286 +0x02c xip : (null) +0x02c pc : (null) +0x02c eip : (null) +0x030 padding : [24] "???" +0x048 ymm : [8] _dr_ymm_t

    0:002> dd 0x180f9dc0 180f9dc0 3e7ff000 387ff000 327f3800 ffffffff <== memory read 180f9dd0 180f9e48 675b8e84 94a3889c 180f9e48 180f9de0 675b8e95 180f9e08 180f9df8 00000000

    translator.dll!pp::numeric_lex_float seems fine: template bool numeric_lex_float(const std::string& str, FloatType* value) { std::istringstream stream(str); // Force "C" locale so that decimal character is always '.', and // not dependent on the current locale. stream.imbue(std::locale::classic());

    
    stream >> (*value);
    return !stream.fail();
    

    }

    180f9cd8 675ff520 0x1a14003a 180f9d20 675ec25c MSVCP120D!_FDtento(float * xpx = 0x180f9dc0, long n = 3, int * perr = 0x00000000)+0xe0 [f:\dd\vctools\crt\crtw32\stdcpp\xxxdtent.h @ 97] 180f9ddc 675b8e95 MSVCP120D!_Stofx(char * s = 0x180f9e08 "0.25", char ** endptr = 0x180f9df8, long pten = 0, int * perr = 0x180f9dfc)+0x16c [f:\dd\vctools\crt\crtw32\stdcpp\xxstod.h @ 45] 180f9e48 675c2cb4 MSVCP120D!std::num_get > >::do_get(class std::istreambuf_iterator > _First = class std::istreambuf_iterator >, class std::istreambuf_iterator > _Last = class std::istreambuf_iterator >, class std::ios_base * _Iosbase = 0x180f9f70, int * _State = 0x180f9ee4, float * _Val = 0x180fa134)+0x75 [f:\dd\vctools\crt\crtw32\stdhpp\xlocnum @ 559] 180f9e74 675a3b8c MSVCP120D!std::num_get > >::get(class std::istreambuf_iterator > _First = class std::istreambuf_iterator >, class std::istreambuf_iterator > _Last = class std::istreambuf_iterator >, class std::ios_base * _Iosbase = 0x180f9f70, int * _State = 0x180f9ee4, float * _Val = 0x180fa134)+0x34 [f:\dd\vctools\crt\crtw32\stdhpp\xlocnum @ 360] 180f9f00 051dc70b MSVCP120D!std::basic_istream >::operator>>(float * _Val = 0x180fa134)+0x10c [f:\dd\vctools\crt\crtw32\stdhpp\istream @ 422] 180f9fd0 051dcc18 translator!pp::numeric_lex_float(class std::basic_string,std::allocator\ > * str = 0x180f9fe8, float * value = 0x180fa134)+0x7b [d:\src\chrome\src\third_party\angle\src\compiler\preprocessor\numeric_lex.h @ 57] 180fa010 051c531d translator!atof_clamp(char * str = 0x2d2de2f9 "0.25", float * value = 0x180fa134)+0x48 [d:\src\chrome\src\third_party\angle\src\compiler\translator\util.cpp @ 15]

    So it might be a real unint bug from msvc?

    评论

报告相同问题?