Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sometimes wurst built an unrunnable map. #1071

Closed
cloudfox2 opened this issue Dec 5, 2022 · 6 comments
Closed

Sometimes wurst built an unrunnable map. #1071

cloudfox2 opened this issue Dec 5, 2022 · 6 comments

Comments

@cloudfox2
Copy link

Sometimes wurst built an unrunnable map (It crashes at loading), but sometimes it built successful with the same code. Reboot VSCode or computer won't change the situation.

Seem the jass part has some issues, if I replace the jass file to a runnable version, the map can run too. I can't find the specific issue, the jass can pass the syntax check.
It should not be any specific wurst code issue, since sometimes it can success.

I never met the issue before, it appeared these weeks. Seem success rate becomes lower and lower while my code becomes bigger, and it is down to zero now. If I checkout my code to some old version, it can success everytime. I really don't know what's the problem.

@Frotty
Copy link
Member

Frotty commented Dec 5, 2022

Seems related to #1072 can u check for that

@Frotty Frotty closed this as completed Dec 5, 2022
@Frotty Frotty reopened this Dec 5, 2022
@cloudfox2
Copy link
Author

cloudfox2 commented Dec 6, 2022

My longest function in jass has 24 params:

function dispatch_LinkedList_LinkedList_LinkedList_add_23 takes integer this_1, integer elems_0, integer elems_1, integer elems_2, integer elems_3, integer elems_4, integer elems_5, integer elems_6, integer elems_7, integer elems_8, integer elems_9, integer elems_10, integer elems_11, integer elems_12, integer elems_13, integer elems_14, integer elems_15, integer elems_16, integer elems_17, integer elems_18, integer elems_19, integer elems_20, integer elems_21, integer elems_22 returns nothing

@cloudfox2
Copy link
Author

Seems it is due to a big recursive function. It has 6000+ lines in jass. I made some adjustment to cut it to 4000+ lines and it can run now.

@Frotty
Copy link
Member

Frotty commented Dec 7, 2022

sounds like oplimit then? Usually shouldn't crash unless it's executed at map start or so. Should probably avoid recursion in most cases.

@cloudfox2
Copy link
Author

I don't have such a big function in my code and I can't really understand that jass function, is wurst compiling override functions into one function? Its name is cyc_xxx.

@Frotty
Copy link
Member

Frotty commented Oct 17, 2023

To follow up: Yes, to resolve cyclic functions, wurst puts them in one big function. Consider resolving your cycles to avoid this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants