UltraStar-Deluxe / USDX

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™
https://usdx.eu
GNU General Public License v2.0
847 stars 161 forks source link

v2017.8.0 crashing under MacOS High Sierra 10.13 Beta (17A362a) #337

Closed dennis-eisen closed 6 years ago

dennis-eisen commented 6 years ago

I have just downloaded the newest version of USDX

from GitHub and tried to start it.

It is not even starting under the newest MacOS High Sierra 10.13 Beta (17A362a)... I didn't get any error message or something simular. Neither in the console log or anywhere else. I only see the icon blinking for about a second in the Dock and then it's gone.

Any ideas?

prusayn commented 6 years ago

I can confirm this issue. There is a log. System: macOS High Sierra 10.13.2

com.apple.xpc.launchd[1] (com.apple.xpc.launchd.oneshot.0x1000000f.ultrastardx[15542]): Service exited due to signal: Killed: 9 sent by CoreServicesUIAgent[15524]

com.apple.xpc.launchd[1] (com.apple.xpc.launchd.oneshot.0x10000010.ultrastardx[15553]): Service exited with abnormal code: 217

com.apple.xpc.launchd[1] (org.ultrastardeluxe.ultrastardeluxe.3744[15564]): Service exited with abnormal code: 217
m0nkeye commented 6 years ago

If you compile it yourself with the instructions on the README.md it works perfect.

ePirat commented 6 years ago

Please try with this build and let me know if that works better.

EmDee commented 6 years ago

Haven't tried building it myself, but @ePirat's build works fine for me on 10.13.4

ePirat commented 6 years ago

Thanks for testing.

mithrendal commented 6 years ago

@ePirat build does not run. Exits immediately as @dennis-eisen wrote.

macOS 10.13.6

BTW: the old 32 bit ultrastar1.1 is still working fine on that same machine

ePirat commented 6 years ago

Please provide a crashlog, if it crashes.

mithrendal commented 6 years ago

Hi @ePirat

I would have attached the crashlog, but I can't find any log for Version1.3.

/Users/%user%/Library/Logs/UltraStarDeluxe/Error.log only contains the log of UltraStar1.1

I did take a look in the console app, but I can't find anything which points to the crash of Ultrastar1.3.

The app crashes immediately without opening any window. (App icon jumps 1 second or so and exit)

Where should I look for it?

Thank you.

mithrendal commented 6 years ago

@ePirat if I call it directly the only information it gives me is

mymac:Downloads userAccount$ UltraStarDeluxe 2.app/Contents/MacOS/ultrastardx An unhandled exception occurred at $00007FFF75F8434C: EAccessViolation: Access violation $00007FFF75F8434C $000000010006551D

ePirat commented 6 years ago

Please open another ticket for this. This is about a build issue that would cause release builds to not use the correct library versions compiled for the correct target.

Your issue looks like a crash of USDX itself, not one caused during the library loading process.

mithrendal commented 6 years ago

@ePirat my question is how can it be that your usdx binary runs on some macs for example on @EmDee his mac but it does this segmentation fault on mine?

ePirat commented 6 years ago

Because of bugs in USDX code itself, unrelated to the way it is built.

ePirat commented 6 years ago

Please open an issue with the information mentioned in this comment.

s09bQ5 commented 6 years ago

$000000010006551D is directly after a call to TLog.LogConsole... I hate those minimal information crash logs. The SIGSEGV signal handler gets a list of all registers and has access to the complete process memory and all we get is two code addresses. I want crash logs that show me the full stack contents, all registers, and the bytes surrounding the offending instruction. In this case a list of all loaded dynamic libraries and their base addresses would also be nice since $00007FFF75F8434C is clearly outside the ultrastardx binary.

ePirat commented 6 years ago

@s09bQ5

$000000010006551D is directly after a call to TLog.LogConsole...

How can you figure that out? USDX crashlogs are completely useless to me as I have no clue how to make sense of them…

s09bQ5 commented 6 years ago

I have the gut feeling that _ConsoleWriteLn should check if Log <> nil before calling Log.LogConsole.

If there is an exception before Main assigns an object to Log, the exception is caught by ultrastardx.dpr, which then tries to call ShowMessage, which eventually leads to _ConsoleWriteLn being called in another thread.

s09bQ5 commented 6 years ago

How can you figure that out? USDX crashlogs are completely useless to me as I have no clue how to make sense of them…

x86_64-apple-darwin16.6.0-objdump -d ultrastardx | grep -B1 10006551d

mithrendal commented 6 years ago

Is there anything I can do? How can I provide real crashlogs ? Could you point me to them? Should I still open a new issue ?

basisbit commented 6 years ago

This issue here seems quite useless by now and probably contains two separate problems (one fixed already). Please open a new issue. I'd guess that some dependency is still not satisfied / missing or has an incompatible version