Giter Club home page Giter Club logo

scalemm's People

Contributors

andremussche avatar jpluimers avatar sivv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scalemm's Issues

Interthread memory fail

As long as the problem exists with interthreaded memory, ScaleMM can not be 
used in a productive environment. That is a big problem for me, because from 
the viewpoint of speed ScaleMM is really convincing. 

I made a test based on the simple thread demo of scaleMM3 with additional 
creating some interfacedobject (with reference counter). When sharing the 
interface pointer to another thread and free the object in context of this 
thread then ScaleMM fail with an exception (tested with ScaleMM2 and ScaleMM3). 
The same programm executing with the Delphi memory manager or with FastMM4 runs 
without problems.

Please clean up the code and made it threadsafe in case of interthreaded memory 
usage.

If you need more informations or an example then give me an feedback.

Regards
Maxx (DE)

Original issue reported on code.google.com by [email protected] on 26 Feb 2012 at 9:08

memory is growing

Hello,

I want to understand a problem of memory growing. i m not sure if it's a bug of scalemm or not

We use scaleMM inside an ISAPI DLL (IIS 7), so we are not responsible of creating thread, nor closing them.

in this dll, we create some objects in the calling thread and after move them to another thread who is responsible to "recycle" them (clean memory, string, etc). so when another calling thread ask again to create an object, we first look in the "recycled queue" if their is no object available, if yes gave it to him, else let the calling thread create the object.

you understand, here lot of interthread memory

1/ what's happen if IIS close one thread? when the memory of the object (actually in the recycled queue ) created by this thread will be free ? when other thread will free the object ?
2/ why under scalemm the memory grow much more faster than on fastmm ?
3/ is their something like memory fragmentation that could explain why memory grow so fast? or it's simply a bad idea to recycle used object ? because cleaning properties of the object can cause memory fragmentation ?

XE4 Update

Hello!

ScaleMM3.pas will not compile under XE4 Update1..

[dcc32 Warning] ScaleMM3.pas(1439): W1036 Variable 'iFree' might not have been 
initialized
[dcc32 Error] ScaleMM3.pas(1844): E2010 Incompatible types: 'NativeInt' and 
'NativeUInt'
[dcc32 Fatal Error] Project1.dpr(4): F2063 Could not compile used unit 
'Scalemm3.pas'

Original issue reported on code.google.com by [email protected] on 19 Aug 2013 at 5:28

ScaleMM2 doesn't work with Intraweb projects

What steps will reproduce the problem?
1.Create a new empty Intraweb project using default options
2.Include ScaleMM2 as the first unit in your .DPR file
3.Build and run the application

There will be an Assert error:

Debugger Exception Notification
Project Project1.exe raised exception class EAssertionFailed with message 
'Assertion failure (...\smmGlobal.pas, line 264)'.

Extracted from smmGlobal.pas:

procedure TGlobalMemManager.FreeMediumBlockMemory(
  aBlockMem: PMediumBlockMemory);
var
  firstmem: PMediumHeader;
begin
  //keep max 10 blocks in buffer
  //if FFreeBlockCount >= 10 then
  begin
    firstmem := PMediumHeader( NativeUInt(aBlockMem) + SizeOf(TMediumBlockMemory));
    //is free mem?
    //if NativeUInt(firstmem.NextMem) > NativeUInt(1 shl 31) then
    if firstmem.Size and 1 <> 0 then
    begin
      //fully free mem? we can only release fully free mem (duh...)
      if PMediumHeaderExt(firstmem).ArrayPosition = 16 then
      begin
        //RELEASE TO WINDOWS
        VirtualFree(aBlockMem, 0 {all}, MEM_RELEASE);
        //exit!
        Exit;
      end;
    end;
    Assert(False);  <--- ERROR HERE
  end;

Using latest version from ScaleMM2 + BDS2006 + IW10 under WindowsXP SP3

Original issue reported on code.google.com by [email protected] on 6 Oct 2011 at 1:47

Loading more than 20Gb of RAM

What steps will reproduce the problem?
1. Open a new console application
2. Define Mat: Array of Array of Double;
3. SetLength(Mat, 100000000, 20)

What is the expected output? What do you see instead?
Program should load a little over 20Gb of RAM memory. It takes a couple seconds 
to load more than 20Gb on other MM. However, on ScaleMM, after reaching around 
20Gb, loading additional memory becomes incredibly slow (~1 additional Mb per 
second).

What version of the product are you using? On what operating system?
2.2

Please provide any additional information below.
I am running Delphi XE2, Win64, on a Dell Workstation (Intel Xeon, 12 cores, 
128Gb internal RAM).

Original issue reported on code.google.com by [email protected] on 17 Oct 2013 at 9:16

ScaleMM does not work on XE2 64bits

What steps will reproduce the problem?
1. In XE2 64bits, create a new console application
2. Add ScaleMM2 to the top of the uses list
3. Add "WriteLn('test')" command (or anything else)

What is the expected output? What do you see instead?
The application should start and execute the command. Instead, it reports an 
exception short after initialization: "c0000005 ACCESS-VIOLATION"

What version of the product are you using? On what operating system?
Version 2.05 (19 March 2011)

Slightly modified to allow 64bits compilation. The following functions were 
modified:

Unit ScaleMM2:
- Integer/Cardinal parameters in Scale_GetMem, Scale_AllocMem and 
Scale_ReallocMem functions were replaced by NativeInt

Unit smmFunctions:
- replaced "dword" from CAS32 function to NativeUInt

ScaleMM2 works beautifully in XE2 32bits

Original issue reported on code.google.com by [email protected] on 13 Feb 2012 at 2:02

Memory leaking due to fragmentation?

I am running Delphi XE2 x32 application under Windows 7 x64 Ultimate. It uses a 
lot of multithreading and is quite CPU/RAM intensive. When it runs for an 
extended period of time, I notice that it slowly consumes more and more RAM. 
This does not happen when I use native Delphi memory manager, so I assume I 
don't have any own leaks (like created, but not deleted objects, etc.). It 
happens only when I use ScaleMM 2.4.1. I am fighting with this issue already 
for some time, I tried different solutions. Firstly, I thought that if I delete 
and recreate my threads from time to time (normally I create them only once and 
then use a pool of threads) it would help, because when the tread is destroyed, 
it will delete all its objects and free the memory. It didn't help, though, the 
memory is still leaking. Is there any method that can prove that this leakage 
is caused by ScaleMM, especially by fragmentation? Is there any way to to a 
"defragmentation"? Is there anything at all that can be done? Honestly, I don't 
want to go back to the default Delphi memory manager since with ScaleMM my 
application runs 4-5 times faster.

Thank you!


Original issue reported on code.google.com by [email protected] on 23 Feb 2014 at 1:51

ScaleMM2 fails on MS application verifier TLS-test (Win32)

Testing a simple empty application with ScaleMM2 fails with MS application 
verifier. 
MS application verifier is important for Windows compability check and logo 
program.

Failure message is:

VERIFIER STOP 0000000000000013: pid 0x4D0: first chance access violation for 
current stack trace 

    000000007F688CF8 : Invalid address being accessed
    00000000004120AC : Code performing invalid access
    000000000008E9F0 : Exception record. Use .exr to display it.
    000000000008E500 : Context record. Use .cxr to display it.


program fails on line in ScalemMM2.pas:

function GetThreadMemManager: PThreadMemManager;
asm
{$IFDEF SCALE_INJECT_OFFSET}
  mov eax,123456789        // dummy value: calc once and inject at runtime
{$ELSE}
  mov eax,GOwnTlsOffset    // 2% slower, so we default use injected offset
{$ENDIF}
  mov ecx,fs:[$00000018]
  mov eax,[ecx+eax]      // +++ Fails here +++
  or eax,eax
  jz CreateMemoryManager
end;

Steps to reproduce:

Create empty Win32 Delphi application. Insert ScaleMM2 in first line of dpr.
Add program in Application verifier and choose basic tests (TLS test seems to 
be the test which fails) See screen shots

Best regards
Dirk


Original issue reported on code.google.com by [email protected] on 8 Dec 2014 at 9:08

Attachments:

smmGlobal.implementation uses SysUtils which forces SysUtils to initialize before scalemm, resulting in memory leaks

How to reproduce:
ScaleMM_v212.zip
Delphi 2010, scalemm.pas is the first unit in the application. Run the program, 
close it. Observe runtime error 216.

More details:
SysUtils has a class destructor for TEncoding, which kills any encodings 
created during the application run. Since they are created on first access, 
their memory resides in scalemm.
Class destructors run with the same priority finalization runs, and if ScaleMM 
relies on SysUtils then SysUtils is initialized before, and finalized after 
ScaleMM.

Suggested fix:
Just comment out SysUtils in smmGlobal.pas, nothing uses it anyway it seems.

Original issue reported on code.google.com by [email protected] on 16 Dec 2012 at 3:15

Optimize.Move very slow used on AMD processors with SSE/SSE2/SSE3

Hi. 

I'm a Delphi programmer.
I use Windows XP x86 + Delphi 7 and Windows 7 x86 + Delphi XE5.
CPU: AMD Athlon(tm) II x2 3.2 GHz (x86, x86-64, MMX, 3DNow!, SSE, SSE2, SSE3)
Optimize.Move version: from ScaleMM 2.41

I recently found out about Optimize.Move and I liked it right away. It's so 
fast...
But later I found situations when it is a lot slower than the classic Move (on 
my processor).

For example:

var
   s: AnsiString; 
   ab: array of Byte; 

implementation 

procedure Test; 
var 
   i: Integer; 
   t: TTime; 
begin 
   SetLength(s, 10485780); 
   SetLength(ab, 1048578); 
   t := Now; 
   for i := 1 to 500 do 
   begin 
      Move(s[11], s[1], 10485760); 
      Move(ab[2], ab[1], 1048576); 
   end; 
   t := Now - t; 
   ShowMessage(FormatDateTime('ss.zzz', t)); 
end;

On Intel processors this code is only 1.08x faster when using Optimize.Move 
than the classic Move. 
On my processor I get ~10 sec with Optimize.Move and ~2.27 sec with classic 
Move. 
This kind of memory operations I use a lot in my code when deleting/resizing 
items from a custom string array. I could show you the code if you want. 

The original discussion about Optimize.Move and the problem: 
http://www.delphipages.com/forum/showthread.php?t=216340 

I hope these informations will help you track the problem easily. But, if you 
need more, I'm glad to help. 

Regards, 
David

Original issue reported on code.google.com by [email protected] on 8 Apr 2014 at 7:29

Int16 not defined for Delphi 2007 (and below)

What steps will reproduce the problem?
1. Try to compile scalemm2.12 on delphi 2007 :)

  Int16 = Smallint;
should be added to smmTypes for older delphi versions
or edit TSplitRecord in smmSmallMemory to not use Int16

Original issue reported on code.google.com by [email protected] on 25 Mar 2012 at 11:41

memory is growing until the thread is close :(

i create an application with 10 threads, each thread doing in loop some database queries (and the memory allocation need to handle the response), and after 1 or 2 min i have out of memory :(

if i stop the loop and close all thread before the out of memory error then the memory go down to it's starting level (around 12mb)

Error compiling new 2.16 version under Delphi 7

What steps will reproduce the problem?
1. Try using the latest version (2.16) with Borland Delphi 7


What is the expected output? What do you see instead?

The compiler gives error : undeclared identifier : 'UIntPtr' on UINT_PTR  = 
System.UIntPtr;  // NativeUInt;

What version of the product are you using? On what operating system?

2.16

Please provide any additional information below.

I had to change the two files in the attachment to meke it works under delphi7. 
If you give me access to the repository I could push the commit ...



Original issue reported on code.google.com by [email protected] on 27 Mar 2013 at 10:58

Attachments:

Linux compatibility

Hi Andre,
just a quick note. An average delphimvcframework switching from FastMM to ScaleMM2 get a 383% (yes 383%) spped improvement. Congratulation!!

Told that, do you plan to make it compatible with Linux? Such improvement would be great on the such "serverside" platform.

64 bit bug

When creating TThread on 64 bit. I get exception at lock cmpxchg16b [r8] in

//either 8-byte or 16-byte CAS, depending on the platform; destination must be 
propely aligned (8- or 16-byte)
function CAS(const oldData: pointer; oldReference: NativeInt; newData: pointer;
  newReference: NativeInt; var destination): boolean; overload;

I thought ScaleMM2 was 64 bit ready?

Original issue reported on code.google.com by [email protected] on 25 Jul 2014 at 12:16

Could not compile used unit 'ScaleMM2' in Delphi7

What steps will reproduce the problem?
1. Install the library in the Delphi 7 IDE (Add source folder to environment 
variables of the IDE)
2. Try to use the Unit in a project written in Delphi/CLX

What is the expected output? What do you see instead?

The program should compile, while actually it doesn't compile giving could not 
compile unit ScaleMM2 unit .


What version of the product are you using? On what operating system?

Version : ScaleMM 2.15 
OS : Windows XP

Please provide any additional information below.

See the attached image for a screenshot of the error.

Original issue reported on code.google.com by [email protected] on 14 Jan 2013 at 1:17

Attachments:

Shutdown and uninstall MM fail

Compiler: Delphi XE2 + Upd3 (German version)
ScaleMM2: V2.13 SVN Rev 94

If I use the ScaleMM2 in EXE and (dynamical loaded) DLL I get an exception 
inside FreeLibraray. The order of shutdown the DLL seems to be wrong. I have 
the following order:
- EXE call FreeLibraray
- in DLL: DLL_PROCESS_DETACH - OK
- in DLL: Unit System calls "procedure FinalizeUnits;" - OK
  - FinalizeUnits call: unit ScaleMM2->finalization->ScaleMMUninstall;
  - FinalizeUnits call at last: unit System->finalization;
  - System->finalization call:
    {$IFDEF MSWINDOWS}
      FinalizeLocaleDate;
      if PreferredLanguagesOverride <> nil then
          FreeMem(PreferredLanguagesOverride);  -> EXCEPTION here!!!
    {Uninitialize the default memory manager, and free all memory allocated by this memory manager.}
      FinalizeMemoryManager;
    {$ENDIF MSWINDOWS}

I thing ScaleMM should shutdown inside FinalizeMemoryManager call.


Original issue reported on code.google.com by [email protected] on 14 May 2012 at 1:53

[solved] madExcept compatibility

I heard good things recently about ScaleMM and I went compile and run the FastcodeMMChallenge_ScaleMM2 project with XE4, and upon starting the program madExcept caught an error, not sure if the issue is coming from madExcept or scaleMM?

The related source lines:

  if GetHeapStatus.TotalAllocated <> 0 then
    Error(reAssertionFailed);  //Memory has been already been allocated with the RTL MM

The simplified madExcept callstack:
operating system : Windows 7 x64 Service Pack 1 build 7601
program up time : 194 milliseconds
processors : 4x Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
physical memory : 2939/7888 MB (free/total)
allocated memory : 21.50 MB
largest free block : 1.39 GB
executable : FastcodeMMChallenge_ScaleMM2.exe
exec. date/time : 2018-08-22 12:39
version : 1.0.0.0
compiled with : Delphi XE4
madExcept version : 4.0.19
callstack crc : $cf603a98, $68a0bb76, $68a0bb76
exception number : 1
exception class : EAssertionFailed
exception message : Assertion failed.

main thread ($2c2c):
004a98ca +32 FastcodeMMChallenge_ScaleMM2.exe ScaleMM2 1165 +9 ScaleMMInstall
007327d5 +09 FastcodeMMChallenge_ScaleMM2.exe ScaleMM2 1231 +1 initialization
00409a7e +42 FastcodeMMChallenge_ScaleMM2.exe System 20618 +18 InitUnits
00409ae7 +3f FastcodeMMChallenge_ScaleMM2.exe System 20690 +14 @startexe
0040f0ee +42 FastcodeMMChallenge_ScaleMM2.exe SysInit 1160 +11 @initexe
00733c83 +0b FastcodeMMChallenge_ScaleMM2.exe FastcodeMMChallenge_ScaleMM2 54 +0 initialization
7570343b +10 kernel32.dll BaseThreadInitThunk

cpu registers:
eax = 01732740
ebx = 004a98cf
ecx = 00000000
edx = 015561b8
esi = 004a98cf
edi = 000000f7
eip = 004a98cf
esp = 0018fec0
ebp = 0018ff08

stack dump:
0018fec0 cf 98 4a 00 de fa ed 0e - 01 00 00 00 07 00 00 00 ..J.............
0018fed0 d4 fe 18 00 cf 98 4a 00 - 40 27 73 01 cf 98 4a 00 ......J.@'s...J.
0018fee0 cf 98 4a 00 f7 00 00 00 - 08 ff 18 00 f0 fe 18 00 ..J.............
0018fef0 15 00 00 00 e4 6a 40 00 - cc 27 73 00 3e 00 00 00 .....j@..'s.>...
0018ff00 27 6b 40 00 f8 0a 74 15 - 64 ff 18 00 cf 98 4a 00 '[email protected].
0018ff10 00 00 14 00 00 00 00 00 - 00 00 14 00 64 14 00 00 ............d...
0018ff20 30 e9 13 00 20 a9 06 00 - 20 b3 02 00 f0 8c 0a 00 0... ... .......
0018ff30 6c 02 00 00 00 00 00 00 - f7 00 00 00 cc 27 73 00 l............'s.
0018ff40 da 27 73 00 80 9a 40 00 - 78 ff 18 00 fb 97 40 00 .'[email protected].....@.
0018ff50 64 ff 18 00 00 00 00 00 - 00 00 00 00 90 a1 72 00 d.............r.
0018ff60 a8 a1 72 00 88 ff 18 00 - ec 9a 40 00 f3 f0 40 00 ..r.......@...@.
0018ff70 00 e0 fd 7e 88 3c 73 00 - c4 ff 18 00 ec 98 40 00 ....<s.......@.
0018ff80 88 ff 18 00 00 00 00 00 - 94 ff 18 00 3d 34 70 75 ............=4pu
0018ff90 00 e0 fd 7e d4 ff 18 00 - 32 98 ce 77 00 e0 fd 7e ...
....2..w...~
0018ffa0 83 56 30 6e 00 00 00 00 - 00 00 00 00 00 e0 fd 7e .V0n...........~
0018ffb0 00 00 00 00 df 7a b2 77 - 00 00 00 00 a0 ff 18 00 .....z.w........
0018ffc0 00 00 00 00 ff ff ff ff - cd 4d d2 77 17 6f e5 19 .........M.w.o..
0018ffd0 00 00 00 00 ec ff 18 00 - 05 98 ce 77 78 3c 73 00 ...........wx<s.
0018ffe0 00 e0 fd 7e 00 00 00 00 - 00 00 00 00 00 00 00 00 ...............
0018fff0 00 00 00 00 78 3c 73 00 - 00 e0 fd 7e 00 00 00 00 ....x<s....
....

NativeUInt under D2009 broken

NativeUInt is broken in Delphi 2009 (see: 
http://qc.embarcadero.com/wc/qcmain.aspx?d=71292)

I'm getting internal error:
[DCC Fatal Error] ScaleMM.pas(903): F2084 Internal Error: C12079

To fix it change ScaleMM.pas(110) to:
{$if CompilerVersion <= 20}
  type // from Delphi 6 up to Delphi 2007. Also for Delphi 2009 because of bug http://qc.embarcadero.com/wc/qcmain.aspx?d=71292
    NativeUInt = Cardinal;
    NativeInt  = Integer;
{$ifend}

Original issue reported on code.google.com by [email protected] on 5 Dec 2010 at 11:24

XE4 AllocMem proto differs

ScaleMM3.pas cannot be compiled in XE4 because of 

TMemoryManagerEx
...
    AllocMem: function(Size: NativeInt): Pointer;
...
end;

size is NativeInt (signed)

I've attached simple patch, but I'm not sure it's proper, though it works for 
me.

Original issue reported on code.google.com by [email protected] on 11 Jun 2013 at 12:27

Attachments:

Int16 is not declared on Delphi 2007

How to reproduce:
- Try to compile scalemm on Delphi 2007.
[DCC Error] smmSmallMemory.pas(75): E2003 Undeclared identifier: 'Int16'

Suggested fix:
Add "Int16 = shortint;" after "NativeInt  = Integer;" in smmTypes.pas

Original issue reported on code.google.com by [email protected] on 16 Dec 2012 at 3:37

  • Merged into: #5

W1023 Comparing signed and unsigned types - widened both operands (Delphi)

on xe4, when i try to use scalemm2 i have this warning

W1023 Comparing signed and unsigned types - widened both operands (Delphi)

here:

procedure WriteNativeUIntToHexBuf(hFile: THandle; ANum: NativeUInt; aDigits: Integer = 8);
..
var
LCount: Cardinal;
..
while LCount < aDigits do

thanks by advance
stéphane

Critical Access_Violation in XE2 64bits when #Threads >=8

What steps will reproduce the problem?
1. Set console application with 64-bit Windows compiler on Delphi XE2
2. Create an array with 8 or more threads of same type
3. Set the threads into an infinite loop (While True do)
4. Run!

What is the expected output? What do you see instead?
XE2 64bits there is a crash when the number of threads is equal to or higher 
than 8. In particularly, the Debugger notify the exception:
"C0000005 ACCESS_VIOLATION", and point line 231 of smmFunctions.pas (lock 
cmpxchg16b [r8])

The expected output, which is observed with Win32bit/ScaleMM or 
Win64bit/No-ScaleMM, is all processors running at full speed.


What version of the product are you using? On what operating system?
Windows 7 Ultimate, 64bit
Delphi XE2
ScaleMM_v215

Please provide any additional information below.
I am guessing it is something really stupid from my side, as I do not believe 
that a critical bug like that would not have been detected before. Anyway, I 
have been stuck with this bug for days now...

I would appreciate any help!

My system is a Dell Precision R5500, equipped with dual six-core Xeon 
processors, 64GB RAM.

Original issue reported on code.google.com by [email protected] on 5 Mar 2013 at 6:18

Attachments:

Debugger information lost with ScaleMM and 64-bit project.

What steps will reproduce the problem?
1. Just include ScaleMM2 first in "uses" list.

What is the expected output? What do you see instead?
For 64bit project with ScaleMM2, Debugging info lost in IDE (blue dots 
disappear), so breakpoints do not work. Also information on used variables, 
classes etc. lost, ANY information on source code didnt show.
Also, debug information isnt shown, when attaching to running 64bit project 
compiled with scalemm2.

What version of the product are you using? On what operating system?
Delphi XE2, only 64 bit version project. 
For 32-bit same project all works fine with ScaleMM2




Original issue reported on code.google.com by [email protected] on 4 Jul 2013 at 5:47

XE6+FastMM

Sorry but scaleMM2 is in real application slower than xe6-fastmm

Out of system resources, memory isn't freed

What steps will reproduce the problem?
1. In a ISAPI library under IIS, for each web request make some memory 
consuming task like create TBitmap make some adjustment on it the send back in 
the response.
2. Load test it with JMeter
3. Allocated memory become more and more
4. after a while Out of system resources exception raised, and IIS recycle the 
app pool

What is the expected output? What do you see instead?
Expected to free all allocated memory.

What version of the product are you using? On what operating system?
I'm using 2.14 now, but I've checked with 2.05, 2.12 and with 3.0 also.

Please provide any additional information below.
I've checked my code with FastMM for memory leaks, and it didn't report any. 
I'm using Delphi XE2, and a multicore system.
Sometimes instead of "Out of system resources" I get "Cannot recieve data from 
font" or "Canvas does not allow drawing" messages as well. In the attachment 
you can find the cpu/mem usage in case of 35 concurrent users (WTM.jpg) and 
with 5 concurrent users (WTM2.jpg) and here's a stack trace of the error:

0198c49f ReportService.dll Vcl.Graphics                  OutOfResources
0198c542 ReportService.dll Vcl.Graphics                  GDIError
0198c573 ReportService.dll Vcl.Graphics                  GDICheck
01990cf3 ReportService.dll Vcl.Graphics                  CopyBitmap
019916d7 ReportService.dll Vcl.Graphics                  TBitmap.CopyImage
0199375f ReportService.dll Vcl.Graphics                  TBitmap.SetSize
01992fbf ReportService.dll Vcl.Graphics                  TBitmap.SetHeight

and 

0198c53b ReportService.dll Vcl.Graphics                  GDIError
0198c573 ReportService.dll Vcl.Graphics                  GDICheck
01990eab ReportService.dll Vcl.Graphics                  CopyBitmap
019916d7 ReportService.dll Vcl.Graphics                  TBitmap.CopyImage
01993245 ReportService.dll Vcl.Graphics                  TBitmap.SetPixelFormat

and


01a9ba28 ReportService.dll llpdfttfcodes                 TTTFData.TTFException
01a9a041 ReportService.dll llpdfttfcodes                 TTTFData.LoadTables
01a9a69f ReportService.dll llpdfttfcodes                 TTTFData.Create
01a9fbee ReportService.dll llPDFFont                     
TPDFTrueTypeUnicodeFont.Create
01aa14de ReportService.dll llPDFFont                     
TPDFFonts.GetUnicodeFont
01aa11f4 ReportService.dll llPDFFont                     TPDFFonts.GetFontByInfo
01ac44e9 ReportService.dll llPDFCanvas                   TPDFCanvas.ReceiveFont
01ac521d ReportService.dll llPDFCanvas                   
TPDFCanvas.SetCurrentFont
01ac76cc ReportService.dll llPDFCanvas                   
TPDFCanvas.UnicodeTextShow
01ac44ad ReportService.dll llPDFCanvas                   
TPDFCanvas.RawUnicodeTextOut
01ac6c87 ReportService.dll llPDFCanvas                   
TPDFCanvas.UnicodeTextOut
01ac7d23 ReportService.dll llPDFCanvas                   TPDFCanvas.TextOut

Original issue reported on code.google.com by [email protected] on 2 Aug 2012 at 7:12

Attachments:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.