View unanswered posts | View active topics It is currently March 31st, 2017, 11:21 am



Reply to topic  [ 6 posts ] 
 Access violation at address 10001C40 in module 'TBBMM.DLL' 
Author Message

Joined: January 4th, 2011, 11:44 pm
Posts: 6
Post Access violation at address 10001C40 in module 'TBBMM.DLL'
Hello Zach Saw,

We are using your TBBMM memory manager with great success in our massive multithreaded applications. The speed improvement over NexusMM, which we used before, is dramatic. So first a big THANK YOU for providing this useful piece of software. Maybe you should think about a donate button (paypal) or something like this, we would be happy to participate !

However, we have run into serious troubles lately. After moving our application from Win2003 x86 to Win2008 x64 servers, we are randomly experiencing access violations looking like this:

Access violation at address 10001C40 in module 'TBBMM.DLL'. Read of address 5D6F4000

where the "at" address is always 10001C40 and the read address differs.

Since we cannot debug the TBBMM.dll, we have no idea, where and/or why the access violations are happening. Double freeing of memory ? Wrong pointers ? Out of memory ?

EDIT TO ADD: This is happening in WOW64 since we are running on Win2008 x64 servers, so is the GetThreadContext() OS bug affecting us here ??

Do you have any ideas how to track this problem down ?

Any help from your side is greatly appreciated !

May thanks
Martin


January 4th, 2011, 11:51 pm
Profile
Site Admin

Joined: July 4th, 2008, 2:56 pm
Posts: 226
Post Re: Access violation at address 10001C40 in module 'TBBMM.DL
Hi,

TBBMM.dll is compiled from Intel's TBB (Threading Building Blocks) allocator and I only provide the adapter for Delphi/C++ Builder apps to use TBBMM.dll via Borlndmm.dll. I don't know much about how Intel's TBB work.

That said however, here's my opinion on your problem.

1) I'm 100% sure it has nothing to do with the WOW64 bug I reported to Microsoft.
2) I'm guessing it's your app misbehaving -
a) double-free
b) corrupting memory via buffer overruns, writing to stray pointers which can corrupt the allocator, etc.
3) Is your x64 the same physical machine as your x86? If not, how many processors have you got on the new machine vs the old? Is there any threading issues that eluded you when running on an older machine with less cores?

If you want further information, you could grab Intel's TBB allocator source from Intel's TBB Website, but if I were you, I'd start by looking at my own code.


January 10th, 2011, 12:17 pm
Profile

Joined: January 4th, 2011, 11:44 pm
Posts: 6
Post Re: Access violation at address 10001C40 in module 'TBBMM.DL
Hi again,

Thank you very much for replying.

After a lot of research we found a very old piece of code overwriting shared memory which was the problem. However, the funny thing is, that on x86 systems, the app never crashed but it does on x64 systems.

Another question: Would you suggest to use your latest V3 based TBMM, does it have some bugs fixed ? Or is the old one based on V2 just good enough ?


January 19th, 2011, 1:04 am
Profile
Site Admin

Joined: July 4th, 2008, 2:56 pm
Posts: 226
Post Re: Access violation at address 10001C40 in module 'TBBMM.DL
Hi Martin,

V2 is faster if you are happy with the memory usage (VM size under task manager). However, V3 does have a few fixes that allows the app to return memory to the OS when it is not in use, as well as bugs that caused memory fragmentation.


January 19th, 2011, 10:30 am
Profile

Joined: January 4th, 2011, 11:44 pm
Posts: 6
Post Re: Access violation at address 10001C40 in module 'TBBMM.DL
Memory Usage is not a problem for us as these are server applications, speed is what matters.

Fragmentation on the other side is a problem we are facing all the time of course but I think when you want speed (say per-thread pooling of memory blocks) you will suffer fragmentation, right ? Or did they actually fix bugs not design principals that caused fragmentation ?

Is there a V2+ that incorporates this fragmentation bugs without the penalty of returning memory to the OS and therefore be slower than the original V2 ?

Many thanks for your support
Martin


January 19th, 2011, 8:08 pm
Profile
Site Admin

Joined: July 4th, 2008, 2:56 pm
Posts: 226
Post Re: Access violation at address 10001C40 in module 'TBBMM.DL
Not that I'm aware of.


January 19th, 2011, 11:45 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB.