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

LGM crashes on startup (on Mac) trying to communicate with the library seems partially successful #1733

Open
time-killer-games opened this issue May 26, 2019 · 36 comments
Labels
Crash Fatal errors which may or may not include a message. Platforms Win32, Xlib, Cocoa, SDL and other target platforms.

Comments

@time-killer-games
Copy link
Contributor

time-killer-games commented May 26, 2019

terminal contents after crash:

https://pastebin.com/UNVUCZab

btw i successfully built emake and all the dylibs and everything including my java/jdk is 64-bit

The problem is that lateralgm is trying to communicate with make, not gmake. make on mac is deprecated and only supports 32-bit which since i am building for x64 that won't work. we need lgm on mac to communicate with 64-bit gmake

@RobertBColton
Copy link
Contributor

The Java version may be too new. LGM's minimum Java version is 1.7. It is also possible that you need to increase the maximum JVM heap size using the command line parameter. Other than that, this might not even be a LateralGM issue since I see JDI crapping out a bunch.

@time-killer-games
Copy link
Contributor Author

@RobertBColton i updated the issue with more details

@RobertBColton
Copy link
Contributor

You can alias make in the compiler eys:
https://github.com/enigma-dev/enigma-dev/blob/master/Compilers/MacOSX/gcc.ey

@time-killer-games
Copy link
Contributor Author

ok its giving me less stuff in the errors now but it still crashes

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 26, 2019

how do i set the default platform to sdl? right now its trying to use cocoa which might be the issue idk

@RobertBColton
Copy link
Contributor

Make Cocoa represents "None" I think or just delete the "Info" folder altogether.

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 26, 2019

ok after setting the default to SDL im getting this, still crashing:

https://pastebin.com/F7G1mQmg

@RobertBColton
Copy link
Contributor

RobertBColton commented May 26, 2019

You didn't increase the heap size. Again, the Java version may be too new. Otherwise look at any other tweaks fundies had in #1294.

@time-killer-games
Copy link
Contributor Author

ill try downgrading next, but the max and min heap size no longer appears to be located in settings.ey anymore i have no idea where you guys have moved it to

@RobertBColton
Copy link
Contributor

The min and max heap parameters are a command line parameter to Java.

@time-killer-games
Copy link
Contributor Author

anyways that used to be in the settings.ey and i think it should still be for convenience tbh

@RobertBColton
Copy link
Contributor

No, it was in settings.ini where it was added by me to the Portable ZIP.

@time-killer-games
Copy link
Contributor Author

ah. yeah well what min and max would you recommend? nothing seems to be working, only crash is getting slightly delayed. Is openjdk or oracle the one we need on mac?

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 27, 2019

i can't figure out how to downgrade without an oracle account and openjdk doesn't seem to have a downgrade option so ill just have to try that a different day

@RobertBColton
Copy link
Contributor

Oracle JDK is always recommended on every platform.
https://enigma-dev.org/docs/Wiki/Troubleshoot#OutOfMemoryError

@fundies
Copy link
Contributor

fundies commented May 27, 2019

whatever nonsense shell your using is missing a bunch of bash commands like which and mkdir. It's not going to work unless you're in a proper bash shell

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 27, 2019

@fundies I'm using the default Mac terminal, the same thing I used when you helped me get it working last year. mkdir seems to work for me last I tried it, or perhaps i remember wrong, Also, more people have complained about me on discord than you from what I can tell, YellowAfterlife even asked if he could block me recently because I was so annoying to him. I think I might go back to using just hangouts soon, if this continues, I think Josh really shouldn't have booted you out, even if it was meant to temporary afaik, I don't believe in god anymore so you don't have to worry about me getting offended by your humor now, at least when it comes to anything religious and i generally am learning to be less touchy. I won't say more on this.

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 27, 2019

@RobertBColton fucking apple replaced instances I typed gmake with make so anyway now that's corrected the original post on this issue now makes proper sense. We already fixed it when you told me how to alias in that file you mentioned. I'm just getting pissed by apple's autocorrect. It makes my macbook feel like a mobile device which i hate.

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 27, 2019

anyway I'm ready to work on this again. I'll do what robert suggested and look at that specific commit he mentioned to me on discord.

@fundies
Copy link
Contributor

fundies commented May 28, 2019

make[1]: which: Command not found
make[2]: uname: Command not found
make[2]: which: Command not found
make[2]: mkdir: No such file or directory

you need to solve that first

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 28, 2019

@fundies fixed it. I forgot to use gmake instead of make.

Now I'm getting this:

OptionsParser.cpp:215:28: error: out-of-line definition of 'APIyaml' does not
match any declaration in 'OptionsParser'
std::string OptionsParser::APIyaml()

While I'm waiting for a response from you or robert I'm in the process of doing a gmake clean and then gmake all to see if cleaning will fix that issue.

Edit: Nope, that didn't fix it.

@fundies
Copy link
Contributor

fundies commented May 28, 2019

im guessing you messed up that source file somehow. Or theres more to that error you're omitting

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 28, 2019

@fundies normally i would say your first statement is probably correct, but I've uninstalled enigma and started over several times now and this is one of multiple times i was stopped by this same error at this point in time, at least twice in a row now.

All I'm doing is installing enigma and adding some of the most recent changes from your branch.

I'll check to see what else is mentioned in the terminal later and pastebin the results to you.

@fundies
Copy link
Contributor

fundies commented May 29, 2019

std::string OptionsParser::APIyaml() takes an argument in the latest sources so either its edited or theres something more to that error that you arent showing

@time-killer-games
Copy link
Contributor Author

Yeah, that's what I'm saying. I don't really know for sure, but I think the issue lies somewhere else in the other contents printed to the terminal. In any case, I just ran gmake clean and gmake all again. I'll post the contents of the terminal once it reaches that error again along with the current contents of my copy of std::string OptionsParser::APIyaml() as separate pastebin's, and hopefully we'll get to the bottom of it.

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 29, 2019

Here's what the terminal printed for gmake all: https://pastebin.com/EG84BhSk
Here's the contents of my current copy of OptionsParser::APIyaml(): https://pastebin.com/9v92Br0Y
(I pasted the entire OptionsParser.cpp just in case)

@fundies
Copy link
Contributor

fundies commented May 29, 2019

and as i said https://github.com/enigma-dev/enigma-dev/blob/master/CommandLine/emake/OptionsParser.cpp#L216 your line 215 doesnt match at all. youre clearly on edited source

@time-killer-games
Copy link
Contributor Author

Thanks for that. I didn't realize i edited anything, or maybe i copied from a wrong commit. However it happened, that part should be fixed now. Thanks for the help!

@time-killer-games
Copy link
Contributor Author

Ok, so emake built it appears even though building the Cocoa test harness failed but i don't think that makes a difference because i don't think we ever got that working iirc.

now trying to build with emake gives me this:

Last login: Wed May 29 17:01:32 on ttys000 Owners-MacBook-Pro:~ owner$ cd /Users/owner/enigma-dev Owners-MacBook-Pro:enigma-dev owner$ ./emake "/Users/owner/Desktop/Key to Success.gmk" -x gcc -p SDL -c Precise -g OpenGL1 -a OpenAL -w None -e "Paths,Alarms" -o "/Users/owner/Desktop/Key to Success" -r [libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: options.proto [libprotobuf FATAL google/protobuf/descriptor.cc:1370] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): libc++abi.dylib: terminating with uncaught exception of type google::protobuf::FatalException: CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): Abort trap: 6 Owners-MacBook-Pro:enigma-dev owner$

@fundies
Copy link
Contributor

fundies commented May 29, 2019

looks like libprotocols or protobuf is being linked twice and google dont like it

@time-killer-games
Copy link
Contributor Author

time-killer-games commented May 30, 2019

what do you mean linked twice? As in the libProtocols.dylib? Do you have any idea how to correct this, or what file is most likely in need of changing? Is there any particular file you need a pastebin of?

@fundies
Copy link
Contributor

fundies commented May 30, 2019

you need to ensure the dylibs your building and linking are shared and not static

@fundies
Copy link
Contributor

fundies commented May 30, 2019

anyways, I'm done giving hints. I'll sell you my top secret mac formula for $200usd

@time-killer-games
Copy link
Contributor Author

@fundies thanks for the help you already provided though, I never would've made it this far without you. You're very appreciated by me, and I feel you aren't given enough credit by Josh. He said "fundies served as a good motivator for me and Robert, but other than that, he mostly just a pain in the ass". I find Josh's attitude towards you unrealistic, inaccurate, and absurd. You have always been one of the most helpful members we've ever had, and other than Robert, probably the biggest contributor to the project as well.

I'm sorry Josh let go of you like this, and I wish you the best on finding another project to work on that will be just as if not much more fulfilling for you, in a community that will be a lot more appreciative of you. It's been a rollercoaster working with you fundies, but it has been an honor all the same.

Thank you for your years of dedication and putting up with us.

@RobertBColton RobertBColton added Crash Fatal errors which may or may not include a message. Platforms Win32, Xlib, Cocoa, SDL and other target platforms. labels Jun 12, 2019
@RobertBColton
Copy link
Contributor

@time-killer-games If this has been resolved, please close it. You've been using ENIGMA on Mac so I suspect it's solved.

@time-killer-games
Copy link
Contributor Author

time-killer-games commented Jun 4, 2020

@RobertBColton I haven't been using enigma on Mac. My ENIGMA extensions were tested in Xcode projects with all unrelated code to the extension in enigma taken out. Mac is still broken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crash Fatal errors which may or may not include a message. Platforms Win32, Xlib, Cocoa, SDL and other target platforms.
Projects
None yet
Development

No branches or pull requests

3 participants