deathkiller / jazz2

🎮 · Jazz² Resurrection: Open-source reimplementation of Jazz Jackrabbit 2
https://deat.tk/jazz2/
GNU General Public License v3.0
495 stars 18 forks source link

Crash while unpacking source #125

Closed Ponywka closed 1 year ago

Ponywka commented 1 year ago

Device: Honor 9S OS: Android 10 Vendor environment: Magic UI 3.1.0.189(C10E3R2P2) Log: Jazz2.log J2R Version: 1.6.0 Stable and 5898487f4778f15772189028edd4ffb8a35096fa (Android ARM32 Debug) Used source: Old-Games.RU and GOG JJ2+

I got crash while unpacking source: https://youtu.be/dHAA8cSKWE0

deathkiller commented 1 year ago

I can't reproduce this, but I added more log messages to Android DEBUG build, so you can try it and send me log again. Also, you can try to delete Battle1.j2l file from Source directory.

Ponywka commented 1 year ago

Deleting the Battle1.j2l file didn't help. Jazz2.log Jazz2_without_Battle1.j2l.log

Ponywka commented 1 year ago

Also it didn't crash if delete all *.j2l files. Only then it doesn't make sense

Ponywka commented 1 year ago

I tried to "build" the cache files on another device (Xiaomi Redmi 4X, ARM64, but used ARMv7 build) and copied it to this device. After that, the game started without crashes. As I understand it, the crash occurs during the "rebuilding" of the level.

deathkiller commented 1 year ago

That's strange. Are you really using the DEBUG build? I see less messages than expected in the log. Also, there is no ARMv7 build, ARM version of the game is universal APK containing both ARMv7 and ARM64 binaries.

Ponywka commented 1 year ago

Are you really using the DEBUG build?

Yep

deathkiller commented 1 year ago

Can you try it again with the latest build? I added more debug messages.

Ponywka commented 1 year ago
[D] bool Jazz2::Compatibility::JJ2Level::Open(const Death::Containers::StringView &, bool) -> Reading compressed blocks...
[D] void Jazz2::Compatibility::JJ2Level::LoadMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level metadata...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata...
[D] void nCine::FrameTimer::addFrame() -> 296 frames in 5 seconds = 59.200001 FPS (16.892ms per frame)
[W] static void nCine::AndroidApplication::processCommand(struct android_app *, int32_t) -> APP_CMD_PAUSE event received
[I] void nCine::Application::suspend() -> IAppEventHandler::OnSuspend() invoked

Jazz2.log

deathkiller commented 1 year ago

I added debug message on every line almost. Can you try it again?

Ponywka commented 1 year ago
[I] void nCine::StandardFile::OpenStream(nCine::FileAccessMode) -> File "/storage/emulated/0/Android/data/jazz2.resurrection/files/Source/70's grove.j2l" opened
[D] bool Jazz2::Compatibility::JJ2Level::Open(const Death::Containers::StringView &, bool) -> Reading compressed blocks...
[D] void Jazz2::Compatibility::JJ2Level::LoadMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level metadata...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 02...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 03...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 04...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 05...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 06...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 07...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 08...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 09...
[D] void Jazz2::Compatibility::JJ2Level::LoadLayerMetadata(Jazz2::Compatibility::JJ2Block &, bool) -> Reading level layer metadata 10...
[W] static void nCine::AndroidApplication::processCommand(struct android_app *, int32_t) -> APP_CMD_PAUSE event received
[I] void nCine::Application::suspend() -> IAppEventHandler::OnSuspend() invoked

Jazz2.log

deathkiller commented 1 year ago

I made some changes, but I'm afraid it will not help, because it's crashing on line where there is no reason for any crash.

Ponywka commented 1 year ago

1) This changes is really works! 2) Now log file size has big size: Screenshot_20230207_132902

Thank you very much!

deathkiller commented 1 year ago

Great! Non-debug build should also work, but I still don't know why it was crashing before. I removed all added debug messages.