Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Run time error 28


Murdoc
 Share

Recommended Posts

So im making maps with eo2.0, and things are going smoothly. then suddenly when I go to click send on map properties I get runtime error 28 "out of stack space".. i didnt touch the code before this so im stumped.. anyway, it points to this code in the client moddatabase:

>! Public Sub HandleError(ByVal procName As String, ByVal contName As String, ByVal erNumber, ByVal erDesc, ByVal erSource, ByVal erHelpContext)
Dim fileName As String
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
>!     fileName = App.Path & "\data files\logs\errors.txt"
    Open fileName For Append As #1
        Print #1, "The following error occured at '" & procName & "' in '" & contName & "'."
        Print #1, "Run-time error '" & erNumber & "': " & erDesc & "."
        Print #1, ""
    Close #1

    ' Error handler
    Exit Sub
errorhandler:
    HandleError "HandleError", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

If i remove it the error goes away, and everything still seems to be saving on the maps. Anyone know why this might be happening? And, will removing this bit of code cause any major problems?
Link to comment
Share on other sites

you ran out of space in the system stack. When you put heavy taxation on your RAM the tasks are "stacked" up and executed with the last one received first. However if the tasks are to many then, well, stuff blows up. restart your computer and keep other programs to a minimum when making larger maps. The larger the map the more RAM and stack space needed to save it.

I hope this helps, its just a basic explanation.

This error can happen to anyone at any time, there is no standard way to look at the system stack in a computer, it is just something that is handled internally. But looking at windows task manager, and keeping an eye on your ram usage is a good way to do it.
Link to comment
Share on other sites

@Ryoku:

> you ran out of space in the system stack. When you put heavy taxation on your RAM the tasks are "stacked" up and executed with the last one received first. However if the tasks are to many then, well, stuff blows up. restart your computer and keep other programs to a minimum when making larger maps. The larger the map the more RAM and stack space needed to save it.
>
> I hope this helps, its just a basic explanation.
>
> This error can happen to anyone at any time, there is no standard way to look at the system stack in a computer, it is just something that is handled internally. But looking at windows task manager, and keeping an eye on your ram usage is a good way to do it.

That does help, thanks. Just for curiosity sake, is it a bad idea to remove this bit of code, seeing as it seems to stop this error from happening?
Link to comment
Share on other sites

@Ryoku:

> you ran out of space in the system stack. When you put heavy taxation on your RAM the tasks are "stacked" up and executed with the last one received first. However if the tasks are to many then, well, stuff blows up. restart your computer and keep other programs to a minimum when making larger maps. The larger the map the more RAM and stack space needed to save it.
>
> I hope this helps, its just a basic explanation.
>
> This error can happen to anyone at any time, there is no standard way to look at the system stack in a computer, it is just something that is handled internally. But looking at windows task manager, and keeping an eye on your ram usage is a good way to do it.

Jesus Christ. Last warning. Next time you make a post about something you didn't even bother to Google I will mute you. You have no idea what this error even means.

If there's one thing I hate more than people not bothering to do research it's people who don't bother to do research and then pretend they know what they're talking about.

@Murdock:

> If i remove it the error goes away, and everything still seems to be saving on the maps. Anyone know why this might be happening? And, will removing this bit of code cause any major problems?

You get this error when you try and make a subroutine call itself in an infinite loop. In this case the error handler has it's own error handler which is being called, meaning that 'HandleError' is being called within 'HandleError'.

The error handler in general is a pain in the arse. I added it in for the people with live servers but it's caused more problems than anything else. Personally I removed it from Crystalshire and just fixed any problems live.
Link to comment
Share on other sites

Maybe you should look up how the system stack actually works. It's a "stack" of machine language commands that are executed in the reverse order received. And of course and infinite loop can cause this stack to overflow, this is a basic principle. But you can also cause it from over taxing the stack by exceeding the amount of machine language commands that can bee stored, this does not necessarily mean an infinite loop caused it every single time. It is well within reason that the stack has a set number and of course and infinite loop will ALWAYS exceed that, but it is possible to exceed it without one. The system stack also handles the commands from other programs at the same time, thus why its a good idea to lower your use of other programs when doing something that stacks a shit load, like saving maps.

Apparently you could learn a few things from taking a basic course.
Link to comment
Share on other sites

@Ryoku:

> -snip-

You can lecture me about computer specifications all day. The simple fact is that the error means a very specific thing. In fact, if you'd even bothered to just Google 'out of stack space' you'd get this page: [http://msdn.microsoft.com/en-us/library/0ctsw64a%28v=vs.80%29.aspx](http://msdn.microsoft.com/en-us/library/0ctsw64a%28v=vs.80%29.aspx)

Top result. Check the second fix. Hurr durr.

Drop the attitude, Ryoku. I can handle experienced people having a bit of a personality, but every single time I've caught you trying to talk down to people with this shit you've been wrong.

If you don't have enough experience with the language or engine to fix people's problems then I don't want you helping me out. You just lead people on a goose chase until I come along and fix the bloody thing.

Final warning. Stop pretending you know how to program when you obviously don't. What you're doing is having a detrimental effect on the people you're trying to help.

What people need is an actual answer that they can trust. "restart your computer and keep other programs to a minimum" is pretty far from the actual answer of "make sure your recursive procedure is actually meant to be a recursive procedure and you know what one is".
Link to comment
Share on other sites

"The stack is a working area of memory that grows and shrinks dynamically with the demands of your executing program. Its limits have been exceeded."

>.> that is the system stack. READ THE TEXT! This is what I have been saying. And im sorry if you do not know how the stack works. But now you do.

The page you gave me only solidifies that I do in fact know what I'm talking about. But I go into more detail on how the bloody thing actually works.

That page lacks LOTS of in-depth detail that can further help people understand the root nature of the problem.

It might be hard to accept but someone knows more than you do on a specific topic.
Link to comment
Share on other sites

@Ryoku:

> "The stack is a working area of memory that grows and shrinks dynamically with the demands of your executing program. Its limits have been exceeded."
>
> >.> that is the system stack. READ THE TEXT! This is what I have been saying. And im sorry if you do not know how the stack works. But now you do.
>
> The page you gave me only solidifies that I do in fact know what I'm talking about. But I go into more detail on how the bloody thing actually works.
>
> That page lacks LOTS of in-depth detail that can further help people understand the root nature of the problem.

**Computer theory means nothing if you don't know how to use it in your answers.**

Again, you can lecture people all day about this shit but you simply didn't know what the problem was and just threw out a load of random shit in the hopes that you could luck on a possible solution.

If you don't even know how to spot a bloody recursive procedure error then you've never done enough bloody programming to even be in the Q&A section trying to help other people. If you came across this problem yourself you wouldn't be able to fix it, what makes you think you're good enough to help other people?

Stop trying to save your ego and just admit that what you posted meant fuck all. If I catch you giving dodgy help in the future I'll just take away your posting privileges.
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
 Share

×
×
  • Create New...