You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
works fine until there are more than 2000 strings in the list. If more than 2000 strings, the program (PyFerret in his case) crashes.
In examining possible causes, I noticed a suspicious comment in fer/utl/store_sys_strings.f
old_len = cx_hi_ss(cx, x_dim)
! note: the "2000" in this line matches the same in COUNT_NUMBER_LIST.F
cx_hi_ss(cx, x_dim) = cx_hi_ss(cx, x_dim) + nlines - 2000
cx_hi_ww(x_dim, cx) = cx_hi_ss(cx, x_dim)
And in fer/utl/count_number_list.F
n = n + 2000 - 1 ! allow default memory for 2000 strings
It appears there is a limit of 2000 strings per string variable. Or maybe the mechanism to expand the number of strings in a string variable is not working properly. (Is it trying to save more string pointers before the number of strings are expanded? Or is there no mechanism to expand the number of strings?)
With dynamic memory allocation there should not be any limitations as long as memory limitations are satisfied. (There should also be no need to provide a huge default number of string pointers for each string variable.) If there has to be a limit for some reason, then this limit should be expanded and proper error handling added.
The text was updated successfully, but these errors were encountered:
Martin Schmidt reported on the users list that
works fine until there are more than 2000 strings in the list. If more than 2000 strings, the program (PyFerret in his case) crashes.
In examining possible causes, I noticed a suspicious comment in fer/utl/store_sys_strings.f
And in fer/utl/count_number_list.F
It appears there is a limit of 2000 strings per string variable. Or maybe the mechanism to expand the number of strings in a string variable is not working properly. (Is it trying to save more string pointers before the number of strings are expanded? Or is there no mechanism to expand the number of strings?)
With dynamic memory allocation there should not be any limitations as long as memory limitations are satisfied. (There should also be no need to provide a huge default number of string pointers for each string variable.) If there has to be a limit for some reason, then this limit should be expanded and proper error handling added.
The text was updated successfully, but these errors were encountered: