Author Topic: bass comflict with vld  (Read 386 times)

wjx0912

  • Guest
bass comflict with vld
« on: 6 Jun '17 - 07:14 »
hi,
the vld is a popular memroy leak detect tool, website: http://vld.codeplex.com/

when i create an empty mfc dialog project, and integrate vld and bass both, and run(without add any code), the program failed?

does it a bug?

wjx0912

  • Guest
Re: bass comflict with vld
« Reply #1 on: 6 Jun '17 - 09:29 »
hi,
the vld is a popular memroy leak detect tool, website: http://vld.codeplex.com/

when i create an empty mfc dialog project, and integrate vld and bass both, and run(without add any code), the program failed?

does it a bug?


it maybe vld problem, the bass.dll add shell 'yoda's Protector v1.02' so vld get error, can you release an original dll, thanks

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: bass comflict with vld
« Reply #2 on: 6 Jun '17 - 17:17 »
Does VLD support 32-bit and 64-bit executables? If so, are you having the problem with both? Also, is there some error message shown to tell what the problem is?

yongjian

  • Guest
Re: bass comflict with vld
« Reply #3 on: 7 Jun '17 - 02:21 »
Does VLD support 32-bit and 64-bit executables? If so, are you having the problem with both? Also, is there some error message shown to tell what the problem is?

hi Ian,
thank you very much.
i'm track the source code of vld, the crash reason is: when dll add shell such as 'yoda's Protector v1.02', the vld failed to pach the malloc() and free() function.

so maybe two way to fix it:
(1)vld add exclude function, filter special dll, but it not support currently, i submit a issue at : https://github.com/KindDragon/vld/issues/31
(2)bass.dll release original dll, so vld can load it normally

thanks!

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: bass comflict with vld
« Reply #4 on: 7 Jun '17 - 16:08 »
Is VLD having a problem with BASS.DLL because it is compressed? If so, perhaps you can try the 64-bit BASS.DLL? That isn't compressed.

wjx0912

  • Guest
Re: bass comflict with vld
« Reply #5 on: 8 Jun '17 - 03:27 »
Is VLD having a problem with BASS.DLL because it is compressed? If so, perhaps you can try the 64-bit BASS.DLL? That isn't compressed.

hi, Ian,
i try load 64bit BASS.DLL with  vld, it's normal.
so the 32bit dll crash reason is compressed, the vld can't patch function(malloc and free) of compressed dll.

can you send me an uncompressed 32bit bass.dll(weiqiba@foxmail.com), thanks

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: bass comflict with vld
« Reply #6 on: 8 Jun '17 - 16:55 »
Could you just run the VLD tests with a 64-bit version of your app, or is that not possible, eg. the app is using other libraries that don't support 64-bit?

wjx0912

  • Guest
Re: bass comflict with vld
« Reply #7 on: 8 Jun '17 - 17:37 »
Could you just run the VLD tests with a 64-bit version of your app, or is that not possible, eg. the app is using other libraries that don't support 64-bit?

hi, Ian,
my env is vs2013, here is test result:

64-bit :mfc empty dialog project + vld                                                        -----> test ok
64-bit :mfc empty dialog project + vld  + bass-64.dll                                    -----> test ok
64-bit :mfc empty dialog project + vld  + other dll compile myself                  -----> test ok

32-bit :mfc empty dialog project + vld                                                        -----> test ok
32-bit :mfc empty dialog project + vld  + bass-32.dll                                    -----> test failed
32-bit :mfc empty dialog project + vld  + other dll compile myself                  -----> test ok

i aslo test another 3rd library (htmlayout: http://www.terrainformatica.com/htmlayout/), it's compress by upx, and conflict with vld also.
after uncompress it(use 'upx -d htmlayout.dll'), the program run normal.

so it should be compress problem, i track the vld source, it hook 'LoadLibrary' and patch function malloc/free, when compress the vld can't patch normally and crashed.

thank you.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: bass comflict with vld
« Reply #8 on: 9 Jun '17 - 17:32 »
I meant that if your app has a 64-bit version, perhaps you could just run the VLD memory leak tests on that version? I presume the code is the same in both the 32-bit and 64-bit versions, so any issues would be present in both?

wjx0912

  • Guest
Re: bass comflict with vld
« Reply #9 on: 12 Jun '17 - 16:06 »
I meant that if your app has a 64-bit version, perhaps you could just run the VLD memory leak tests on that version? I presume the code is the same in both the 32-bit and 64-bit versions, so any issues would be present in both?

hi, iann,
i test on 64-bit system, but release only on 32 system.
can you release an uncompress 32bit bass.dll?
thanks.