Jump to content

System GDI resources limit and support droppping for 9x


Sfor

Recommended Posts

Recently, a new update to the complex integrated management system made in Clarion 6.3 brought a problem. Some of the reports are causing Windows 98 to hang or go unstable.

After an investigation, it appeared the system GDI resources get depleted, and Windows 98 goes nuts. In the same time the same functions were seeming to work correctly on Windows 2000 (as it does not have the GDI resources limited). We have sent a report to the application manufacturer, about the problem. The answer was, they are unable to make it work with 98. So, they officialy dropped support for 9x as the answer.

But, the problem still exists. The functions are working in Windows 2000, but they do have a memory leak. After each event of running the faulty report creator, the application locks more and more RAM. So, the application creator went the easy way to shut up complaining clients, leaving a bug in the code.

This is just one of many reasons, why software creators are leaving Windows 98 behind. If they make a bad code it will be working on newer systems somehow. Unfortunatelly Windows 98 does not forgive bad and careless programming.

I will send another bug report. But, it will be focussed on the memory leak, this time. With some luck, it will let the application to work correctly on 98, again.

Edited by Sfor
Link to comment
Share on other sites


The functions are working in Windows 2000, but they do have a memory leak. After each event of running the faulty report creator, the application locks more and more RAM.
A memory management utility like Fast Defrag Pro from http://www.amsn.ro/ may help. Earlier versions of eMule also seemed to have a memory leakage problem, and Fast Defrag Pro improved their uptime.

Another workaround would be to increase physical RAM to the max. of 1150GB with 2x1GB under Win98SE, but Fast Defrag Pro doesn't work on my desktop with 2x1GB RAM inserted.

Please post if you find a utility which works for you, an initial list is maybe at http://finaldownload.com/software/free_ram.html

Link to comment
Share on other sites

Using "free-ram" programs to solve resource problems is like drinking urine to heal cancer. Bulls***.
Any other suggestions to heal the computer's brain cancer? :thumbup

Fast Defrag Pro does seem to help a little under Win98 on my 9-year-old 700MHz laptop with 512MB RAM in extending the time until certain apps slow down the system. But maybe it's just the placebo effect and only wishful thinkung; the only surely effective step is to reboot when the system gets slow. I don't run Fast Defrag Pro from Startup, only on demand when the system starts to get slow and becomes not very responsive, and only under Win98, not under WinXP.

Another measure to tackle the memory leakage problem might be to replace some Win98SE dlls with WinME dlls - any suggestions?

BTW, when I used an ethernet cable connection on an old lousy WLAN router, instead of a wireless connection, eMule uptime increased dramatically. But with a newer WLAN router there is no difference.

Edited by Multibooter
Link to comment
Share on other sites

Using "free-ram" programs to solve resource problems is like drinking urine to heal cancer...

Exactly...

A resource leak and a memory leak are two different beasts...

and "free-ram" apps just shunt off the data in your RAM into your swap-file...

which, in turn, actually slows down your computer...

Link to comment
Share on other sites

and "free-ram" apps just shunt off the data in your RAM into your swap-file... which, in turn, actually slows down your computer...
Fast Defrag supposedly defrags RAM to improve performance; after running it, it displays more free physical memory AND more free virtual memory. I use it maybe 3 times a week because it does seem to do something positive.

Windows is a black box with a million bugs inside. Himemx, for example, together with Xrayers io.sys patch, seems to work miracles, it lets Win98 work with 2GB of memory installed, and if I remember correctly, for reasons that were not fully understood. Main thing it works... until the next bug comes out of the black box.

I have not noticed any slowdown of the computer due to Fast Defrag since I am using it when things start to get slow anyway.

Link to comment
Share on other sites

In my case, the faulty application does have the GDI resources leak along with memory leak. Just the memory leak would not kill Windows 98. Unfortunatelly, the bad applications can take 70% of the GDI resources in just a few seconds. The end result is, the Windows becomes unstable until rebooted.

Probably the programmer forgot to take care of releasing memory after using some GDI elements (like dialogs or icons). The more data were processed the more memory gets locked. The most probable cause is a faulty progress bar update code, I think.

It should be possible to improve the performance on Windows NT based systems, as they will survive the GDI resources leak. The Windows 98 does not stand a chance in such a situation, I believe.

Still, I'm curious if the Clarion 6.3 can be blamed for some of the Windows 98 related problems. As, everything was working fine when an older Clarion version was in use.

Link to comment
Share on other sites

indeed, i remember encountering certain apps that do have silly resource leaks, ugly situations, from that point i can't run any program without provoking the infamous blue-screen... (system is dangerously on low resources, please close the applications, blah,blah,blah...)

is there such thing as system wide garbage collector for GDI/System resources for win98SE?

i'm under impression that such gc mechanism exist on winXP system.

Link to comment
Share on other sites

here comes another chapter of the story...

The newest update solved the problem with resources and memory leaks. Everything works fine on Windows 98 systems. On the other hand, on some Windows 2000 and XP systems running the problematic function is causing the system to shut down the application. According to the log some sort of access rights violation happens.

Funny thing is the Windows 98 does not have access rights, so everything is working fine, here. Apparently some faulty applications can work on Windows 98, when causing problems on the newer systems.

Link to comment
Share on other sites

This is just one of many reasons, why software creators are leaving Windows 98 behind.

Have you noticed that Windows 98 never "calls home" at start, before the firewall is installed? That is its exclusive advantage against all NT present OS. You are the real owner of your computer.

But remember that "what is good for the hare is not good for the hound".

There are almost no technical difficulties in most of the cases, but excuses to impose you almost by force the backdoors, and this way they make users go wherever they want. Every new OS and most of shareware use the calling home procedure in their own interests, not yours. Some "freeware" is in fact paid, in a different way not always told to the user.

I wonder who is the pirate nowadays.

BTW I am writing this using Windows 98 and Maxthon 2.1.0.1878 installed normally a year ago. If I try to reinstall it using the same Maxthon 2.1.0.1878 install program that I keep on my HD it is impossible now, because it calls home before the install process is ended and the program "maxthon.exe" is killed by Maxthon. If I don't reinstall it but use a copy of the previously installed program preserved in a .rar file instead, it works normally.

The articially limited Windows 98 SE is today a privilege, even more if you doubleboot.

Well, there's always the Linux solution, but until now this is almost a monopoly.

Link to comment
Share on other sites

i was working as a SW developer - we were creating a game. my colleague told me that our product will never work on my old machine. therefore i tried it. the game ran flawlessly without any problem, althought my colleague was sure that Win XP is better SW developing environment because of its supreme stability...

what shall i say... he didnt know what he said.

in most cases the software developed by best SW companies are running flawlessly on both systems, games which were always buggy are crashing on both systems - but in some cases more on win98se...

thats fact, but it is really not a problem of OS, but of app.

Link to comment
Share on other sites

i tried it. the game ran flawlessly without any problem

A program is always a sequential collection of algorithms, and being a programmer you know that only the most complex ones need an amount of resources not available under Windows 98, which in itself is an excellent OS with a lot of undeveloped possibilities.

But business is business...

Link to comment
Share on other sites

It's not about resources, it's about functions and APIs present or not. A single call to UpdateLayeredWindow is enough for an application not to load in Win9x. And since all recent applications seem to fancy transparency and layered windows, you do the math.

There are also a lot of old functions, also available in Win2000+, that have improved counterparts, usually with the Ex suffix, but the latter are only present in Win2000+. They basically do the same thing, with few (often unused or unnecessary) extra items as they usually return a structure. Any call to such functions will fail since they don't exist in win9x libraries hence the runtime errors and/or other crashes.

Moreover, there are function pairs that get called differently at runtime. They have a generic name (function_name) which at runtime - depending on operating system version - will automatically expand to call either function_nameA or function_nameW. In certain cases, both A and W versions of a function exist in Win9x, but the W (Unicode-aware) version may be buggy or incomplete, resulting in misbehavior and/or application/system crash.

Things are even deeper, one considering different IDE versions that automatically produce executables and libraries dynamically linked to newer runtime libraries that may not be compatible with Win9x (i.e. Visual C 2008 runtime libraries), auto-correction facilities that are not found in older IDEs such as VC6 (open gate to sloppy programming, IMO) and many other issues I won't get into detail now.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...