Open zhanjx1314 opened 9 years ago
it same as "sunqueen/vlc-2.1.4.32.subproject-2013-update2#2 Runtime access violation in FreeLibrary() #2 "
i was added ‘ memset(module, '\0', sizeof(module));“ in entry.c
but Still the same.
thanks !
p {margin-top:0px;margin-bottom:0px;}
Hi. I'm very sorry. As I was said, I don't have problem like that. So I have no idear, what is problem... 6^^;;;;; This is my system. Win 7 32 bits. VS2013 update 4. .Net 4.5 --------- 원본 메일 ---------
보낸사람: zhanjx1314 notifications@github.com 받는사람 : "sunqueen/vlc-2.2.1.32-2013.noasm" vlc-2.2.1.32-2013.noasm@noreply.github.com 날짜: 2015년 5월 14일 목요일, 14시 01분 08초 +0900 제목: Re: [vlc-2.2.1.32-2013.noasm] Crash problem (#1)
it same as "sunqueen/vlc-2.1.4.32.subproject-2013-update2#2 Runtime access violation in FreeLibrary() #2 " i was added ‘ memset(module, '\0', sizeof(module));“ in entry.c
but Still the same. thanks ! — Reply to this email directly or view it on GitHub.
p {font-size:10pt ! important;font-family:돋움,'굴림',gulim,tahoma,sans-serif ! important;}
Hi, I found something new. 1, The problem only occurs in Windows 8.1; 2, The plugins which have crashed have this code:
extern "C" void *_decode_pointer(void *ptr);
void *_decode_pointer(void *ptr)
{
return DecodePointer(ptr);
}
extern "C" void *_encode_pointer(void *ptr);
void *_encode_pointer(void *ptr)
{
return EncodePointer(ptr);
}
Hi Do you plan to make this available for VS2015 ? The above problem is still not resolved in VS2013 version.
Hi.
I'm very sorry. 6^^;;;;;;; My os is still win7...
Hi. I add libkernel32.lib I hope it works for your problem. ^^ Have a nice day!!!
to which project ?
I downloaded the latest code. Even after DECODE_POINTER and libkernel32.lib the crash occurs on plugins which have _decode_pointer
The crash occurs on module unload when _mingw_onexit calls into _decode_pointer
Ok, I remove the effectives of DecodePointer, by returning the original ptr, with the encode/decode, in dllmain.cpp
extern "C" void _decode_pointer(void ptr) { //return DecodePointer(ptr); return ptr; }
extern "C" void _encode_pointer(void ptr) { //return EncodePointer(ptr); return ptr; }
But the problem is not above. You still get access violation as there is some "heap corruption" , below as in libbluray.dll
ntdll.dll!_RtlValidateHeap@12() Unknown
KernelBase.dll!_HeapValidate@12() Unknown
msvcr120d.dll!CrtIsValidHeapPointer() Unknown msvcr120d.dll!msize_dbg() Unknown msvcr120d.dll!dllonexit() Unknown msvcr120d.dll!dllonexit() Unknown liblibbluray_plugin.dll!_mingw_onexit() Unknown
Hi. I still don't find to remove that... I'm very sorry. 6^^;
Hi. Please download again. ^^ I'm not test, but I remove decodepointer and encodepointer. I hope, it works. Have a nice day...
Thanks for the changes. As I was saying before, this is not where the bug is. There is a heap corruption some where else in the program. This happens when you load these specific modules and unload them.
I compiled the debug version, and then I ran winvlc.exe But it crashed.
breakpoint at Line 89 in plugin.c code: void module_Unload( module_handle_t handle ) { FreeLibrary( handle ); }
handle value :
handle = 0x77670000 {librtp_plugin.dll!_IMAGE_DOS_HEADER ImageBase} handle = 0x0f9b0000 {liblibbluray_plugin.dll!_IMAGE_DOS_HEADER ImageBase}
Call Stack:
thanks!