PaulCombal / SamRewritten

Steam Achievement Manager For Linux. Rewritten in C++.
GNU General Public License v3.0
334 stars 32 forks source link

Parkitect (453090) crashes SamRewritten on load #88

Open Sojiro84 opened 3 years ago

Sojiro84 commented 3 years ago

Log from the terminal:

[S_API] SteamAPI_Init(): Loaded '/home/sojiro/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 453090
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197973088869 [API loaded no]
failed to make json
failed to make json
parsing error (stat value float)
/usr/bin/samrewritten: line 10: 246311 Segmentation fault      (core dumped) ${SCRIPT_PATH}/samrewritten $@
wgpierce commented 3 years ago

Hey sorry for delay here.

The YAJL library fails to encode a float value. Are you launching with launch.sh? Could you compile in debug mode (make dev), and paste the output? That'll show what'a failing to encode. Even better, could you put gdb in the launch.sh to launch with gdb and breakpoint on all the "failed to make json", and print the value that fails to encode?

Sojiro84 commented 3 years ago

No problem. I got it installed from the AUR, but I'll see what I can do, so I can try your suggestions and give feedback.

Sojiro84 commented 3 years ago

When I try to compile with 'make dev' it terminates with the following error:

src/gui/AsyncGuiLoader.cpp:13:10: fatal error: valgrind/valgrind.h: No such file or directory
   13 | #include <valgrind/valgrind.h>
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I did clone the git repo.

PaulCombal commented 3 years ago

You're going to need to install Valgrind to compile in dev mode, it's a single package. If you're using arch, I think that should be in this package: https://archlinux.org/packages/extra/x86_64/valgrind/

Thanks again for the feedback!

Sojiro84 commented 3 years ago

Alright, this is what happens in the terminal with the compiled version:

https://gist.github.com/Sojiro84/59336ae7fe23f61f7b90e4d3fdae9d2d

It also say's core dumped, but don't know where.

wgpierce commented 3 years ago

It also say's core dumped, but don't know where.

If you have coredumpctl (comes with systemd in most modern distros), do coredumpctl debug then run backtrace in the gdb shell.

Here's the problematic encoding:

{"STAT_ID":"AVERAGE_INCOME","STAT_DISPLAY":"Average income","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":"STAT_INCREMENTONLY"}

I need to add more logging so I know what value it was trying to encode...

Sojiro84 commented 3 years ago

Alright, here is that info.

This is from 'coredumpctl debug': https://gist.github.com/Sojiro84/743774692987cb4f58376d4878e493d0

And this is from the gdb 'backtrace': https://gist.github.com/Sojiro84/b5b9bac830f92347d2b69b0b02876605