cancel
Showing results for 
Search instead for 
Did you mean: 

"stack guard size" Default value

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

What's the default value of "stack guard size"

According to ASE doc the "stack guard size" default value is 4096.

In Windows NT ASE 15,7 SPS 122  sp_configure shows the dafalt value of 20480.

In another Widows installation ASE 15.7 SPS 130 it is 19456 with the message "19456 modified to 20480 be the verifaction routine".

Any ideas on this ?

Best

Annie

Accepted Solutions (1)

Accepted Solutions (1)

former_member182259
Contributor
0 Kudos

Stack guard size varies by platform and version (docs are likely old - missed in review)....but 20480 likely is a good value to start with

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

OK, Thank you. We are getting error 3626, while running sp_sysmon (?!) Msg 3626, Level 17, State 4: Server 'xxxx', Procedure 'sp_exec_SQL', Line 49: The transaction was aborted because it used too much stack space. So, I thought it could be because of that default value 19456 (?!) which is actually not a multiple of 2K. I'll increase it and try again.

former_member182259
Contributor
0 Kudos

There is a diff between stack guard size and stack size ....check your stack size - on my Windows ASE:

Parameter Name                 Default     Memory Used Config Value     

------------------------------ ----------- ----------- ------------------

esp execution stacksize              65536           0        65536     

stack guard size                     19456       #4340        20480     

stack size                           94208      #19964        94208    

In my .cfg, I have:

stack size = DEFAULT

stack guard size = 20480

esp execution stacksize = DEFAULT

....obviously, you are not using a extended stored proc, so the last one makes no diff....but, likely someone set an explicit value for stack size and it now is too low.

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

Is the version you have 15.7 SPS 130? Because your config looks like our customer's config.

The same "stack size" 94298(default) and the same "stack guard size".

I guess in the errorlog you have that message "stack guard size' has been modified from '19456' to '20480' by the verification routine."

On my laptop (ASE 15.7 SPS 122) I have

------------------------------ -------------------- -----------

esp execution stacksize              65536  0    65536              

stack guard size                    19456  #1340 20480             

stack size                          73728  #4824 73728  

and not a single word in the errorlog that it was "modified from '19456' to '20480'" or at least I couldn't found it.

Anyway, I'll be at customer tomorrow and want to increase "stack size" and check if this will help.

I just thought that as per ASE doc the default value is 4096 then 20480 is a bit to much and they can easily get that "stack overflow kpid ....." when running sp with txt as a param and even (maybe) sp_sysmon.... but if the doc is old when just need to increase the "stack size" and hope and pray ( ) that it will help

former_member182259
Contributor
0 Kudos

Try the following settings (tested on sp132):

Parameter Name                 Default     Memory Used Config Value 

------------------------------ ----------- ----------- --------------

esp execution stacksize              65536           0        65536 

stack guard size                     19456       #4340        20480 

stack size                           94208      #28644       135168

  

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Jeff, Looks like we have another problem here: I've changed "nummber of open partitions" with SC and it was OK

Then ran that problem quiery, got stack overflow and tryed to increase "stack size" (via SC) and that's the last thing I managed to do as SA.

ASE created servername.142 and that's all.There is no servername.cfg file, we cannot run an "ordinary" dbcc traceon, not even dbcc printlog, all kill hang, but not "sa" taks, e.g. update a user table etc. works, we cannot access server via SC (i think cause SC uses sql.ini), though isql works, application using ODBC are OK, oledb is not. In short something is wrong here. I think something went wrog during installation/uppgrade. I'm trying to figure out what.

former_member182259
Contributor
0 Kudos

SC = Sybase Central????   If so, *DO NOT* use Sybase Central with ASE 15.7 sp100+ (in fact probably anything higher than ESD 4.   It doesn't work, no long supported, etc etc.

To make the change, use isql, dbIsql or SAP Control Center

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

It's not me, It's our customer. I thought that, too but after it was a bit to late. 😞

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

Jon Egerton-Kemp advised to run sqlsrv -X -Pquine , but that does not work either. "getting servername.krg is not there" (though its' there).

It connot find servers under C:\Sybase thought everything is there. I thing something else is here.

Don't think SC could cause that much demage.

I have "generated by storage access violation" in the error log and secerely hope that all this because of that message.

former_member182259
Contributor
0 Kudos

SC didn't likely do the damage...something else.....   OLEDB connections may be hitting stack overflow due to sp's called on connection (e.g. sp_mda).     Look in master..sysdevices for where the device physical paths are and make sure they are there.   If so, try sp_who and see if someone in log suspend (kills will hang if log suspend as it will attempt to rollback).    If it created  SERVERNAME.142, then SERVERNAME.cfg is there - or you can force it to write a new one with sp_configure - haven't done it in a while, so forget the syntax, but doc shows syntax of:

sp_configure "configuration file", 0, {"write" | "read" | "verify" | "restore"}, "file_name"

WRT to attaching with shared memory - the files *should* be in %SYBASE%/ASE-15_0 - should be SERVERNAME.krg and one or more SERVERNAME.sr#  where # is a number from 0-n

former_member188958
Active Contributor
0 Kudos


Try using the "catalog" command, passing it the directory where the .krg file is.  This is usually the ASE-15_x subdirectory under $SYBASE

former_member188958
Active Contributor
0 Kudos

'catalog" is a command within the sybmon (sqlserver -X) tool, in case that isn't clear.

Answers (2)

Answers (2)

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Jeff, Hi Bret, Thank you for your help. I've set "stack size" to 135168 and also increased "heap memory per user". Everything is fine now ./annie

annieM
Product and Topic Expert
Product and Topic Expert
0 Kudos

We rebooted the Windows server.

Ase is back and accessible - we've changed "stack size" with isql and was OK.

Will restart ASE now.

Will see it this will help with "stack overflow".

We were getting that "stack overflow" directly after server's up,

directly after Master device size ........

Kernel Symbolic stack trace information is successfully loaded......

kernel stack overflow.......

Seems that its could be something else than "stack size"..

Will see....