sunqueen / vlc-2.1.4.32.subproject-2013-update2

vlc-2.1.4 subproject per module compile with VS2013 update 2
GNU General Public License v2.0
8 stars 11 forks source link

Runtime access violation in FreeLibrary() #2

Closed barbacot closed 9 years ago

barbacot commented 9 years ago

Hi, After compiling the solution (VS2013, update 4), when running winvlc project, I get

Unhandled exception at 0xFFD82E72 in winvlc.exe: 0xC0000005: Access violation executing location 0xFFD82E72.

when calling FreeLibrary() for some of the plugins, including, for example codec/libavcodec_plugin.dll. Here is the call stack:

libvlccore.dll!module_Unload(void * handle) Line 86 C
libvlccore.dll!AllocatePluginFile(module_bank * bank, const char * abspath, const char * relpath, const _stat64 * st) Line 540  C
libvlccore.dll!AllocatePluginDir(module_bank * bank, unsigned int maxdepth, const char * absdir, const char * reldir) Line 491  C
libvlccore.dll!AllocatePluginDir(module_bank * bank, unsigned int maxdepth, const char * absdir, const char * reldir) Line 495  C
libvlccore.dll!AllocatePluginPath(vlc_object_t * p_this, const char * path, cache_mode_t mode) Line 404 C
libvlccore.dll!AllocateAllPlugins(vlc_object_t * p_this) Line 331   C
libvlccore.dll!module_LoadPlugins(vlc_object_t * obj) Line 187  C
libvlccore.dll!libvlc_InternalInit(libvlc_int_t * p_libvlc, int i_argc, const char * * ppsz_argv) Line 159  C++
libvlc.dll!libvlc_new(int argc, const char * const * argv) Line 60  C
winvlc.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 176   C

Any ideas?

sunqueen commented 9 years ago

p {margin-top:0px;margin-bottom:0px;}

Hi.   Nice to meet you!!! I was test like you. But I can't to get log, like you. Please you give me, how can I get log, like you.   Bye...    --------- 원본 메일 ---------

보낸사람: barbacot notifications@github.com 받는사람 : "sunqueen/vlc-2.1.4.32.subproject-2013-update2" vlc-2.1.4.32.subproject-2013-update2@noreply.github.com 날짜: 2015년 2월 18일 수요일, 18시 44분 35초 +0900 제목: [vlc-2.1.4.32.subproject-2013-update2] Runtime access violation inFreeLibrary() (#2)

Hi, After compiling the solution (VS2013, update 4), when running winvlc project, I getUnhandled exception at 0xFFD82E72 in winvlc.exe: 0xC0000005: Access violation executing location 0xFFD82E72.

when calling FreeLibrary() for some of the plugins, including, for example codec/libavcodec_plugin.dll. Here is the call stack:libvlccore.dll!module_Unload(void * handle) Line 86 C libvlccore.dll!AllocatePluginFile(module_bank * bank, const char * abspath, const char * relpath, const _stat64 * st) Line 540 C libvlccore.dll!AllocatePluginDir(module_bank * bank, unsigned int maxdepth, const char * absdir, const char * reldir) Line 491 C libvlccore.dll!AllocatePluginDir(module_bank * bank, unsigned int maxdepth, const char * absdir, const char * reldir) Line 495 C libvlccore.dll!AllocatePluginPath(vlc_object_t * p_this, const char * path, cache_mode_t mode) Line 404 C libvlccore.dll!AllocateAllPlugins(vlc_object_t * p_this) Line 331 C libvlccore.dll!module_LoadPlugins(vlc_object_t * obj) Line 187 C libvlccore.dll!libvlc_InternalInit(libvlc_int_t * p_libvlc, int i_argc, const char * * ppsz_argv) Line 159 C++ libvlc.dll!libvlc_new(int argc, const char * const * argv) Line 60 C winvlc.exe!WinMain(HINSTANCE * hInstance, HINSTANCE * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 176 C

Any ideas? — Reply to this email directly or view it on GitHub.

p {font-size:10pt ! important;font-family:돋움,'굴림',gulim,tahoma,sans-serif ! important;}

Toxsch commented 9 years ago

Hi. I have the same problem on VS 2013 with update4, and it works fine on VS 2013 with update2.

sunqueen commented 9 years ago

Hi.

Can you tell more detail? Because, I have no idea about that. I was test like you, but I don't have same as you. Is it at first or last? If it was last, I don't have solution. Please tell me more explain. Have a nice day!!!

Toxsch commented 9 years ago

The exception happens When program unload some plugin at first call libvlc_new. In src\win32\plugin.c line 85, I am sure the handle is available when it call 'FreeLibrary(handle)', but the error occurred.

sunqueen commented 9 years ago

Hi.

I'm not sure, but try this.

\src\modules\entry.c

line 42.

module_t _vlc_module_create (module_t parent) { module_t module = malloc (sizeof (_module)); if (module == NULL) return NULL;

memset(module, '\0', sizeof(module)); <----------- add this.

/* TODO: replace module/submodules with plugin/modules */
if (parent == NULL)