Long string problem in td 4.1.0 ptf1

Report bugs and possible workarounds for ANSI TD versions
RogerArmstrong

Long string problem in td 4.1.0 ptf1

Post by RogerArmstrong » 01 Aug 2007, 04:22

In some of my modules I seem to have a problem with long strings . These modules build long string fields by concatenating string fields .
When I do this in runtime or as a compiled version of the module I don't have any problem on my pc and can end up with 300Kb of data . When I then try the same transactions but execute on our server , there appears to be a 32 KB limit on the size of the accumulated string.
I then tried other peoples modules which perform ( similar string accumulations ) on my machine and they work BUT again those modules don't work on our server. It appears that our server has something that causes strings to be limited to 32KB. ( NOTE this is independent of database etc and is purely a memory thing in the module. Once the field gets to 32Kb it stays that size ) The same effect is seen at one of our customer - which is why how I became aware of the problem - but not at another customer. I then compared all team dev dlls with my pc and our server and they are the same. !

I am running Win XP profession Service Pack 2. Our server is windows 2003 service pack 2.

Any ideas what i can do next ??

Jean-Marc Gemperle

Re: Long string problem in td 4.1.0 ptf1

Post by Jean-Marc Gemperle » 06 Aug 2007, 09:05

Hi ,

It is weird especially if you compared the version of the DLL in memory between a working and non working machine and there is apparently no differences... I'm not sure which tool you used for that, but tools from http://www.sysinternals.com are great to troubleshoot environment problem, with process explorer you can check the modules loaded for a particular process and thus it is more easy to compare, besides there are other tools like process monitor that allow you to see what access to files and registry a process is doing. If you believe you have an environment problem then I would recommend those tools. The profiler of dependency walker https://www.dependencywalker.com/ might also help.

About the issue you mention that this is independent to Database access, if so did you try to make a simple TD application that just concatenate a long string from a data field in a loop, basically are you able to reproduce the problem on the faulty machine with the most simplest testcase?

Also it there any error GPF or what ever when this is failing? If you can reproduce the problem with a simple testcase then I would do the following

1) This normally should not be required, but try to set the buffer on that long string using SalStrSetBufferLength() before concatenating in it.
2) Process Explorer / Process monitor log of that simple application on working and non working machine and compare.

Hope this helps for the trouble shooting

Let us know
Jean-Marc

Return to “Bug Reports (TD 4.2 and older)”

Who is online

Users browsing this forum: [Ccbot] and 0 guests