It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like:Chrome,Firefox,Internet Explorer orOpera

×
arrow-down2arrowcart2close4fat-arrow-leftfat-arrow-rightfeedbackfriends2happy-facelogo-gognotificationnotifications-emptyownedremove-menusad-facesearch2wishlist-menuwishlisted2own_thingsheartstartick
avatar
Sude: I would be interested in backtrace from debug build
lgogdownloader also crashes with --threads 1 if that helps:

terminate called after throwing an instance of 'std::runtime_error'
what(): Type is not convertible to string

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffeeb32700 (LWP 28272)]
0x00007ffff5129067 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) thread apply all bt

Thread 6 (Thread 0x7fffeeb32700 (LWP 28272)):
#0 0x00007ffff5129067 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff512a448 in __GI_abort () at abort.c:89
#2 0x00007ffff5a16b3d in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff5a14bb6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff5a14c01 in std::terminate() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff5a6ca01 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff5cc9064 in start_thread (arg=0x7fffeeb32700)
at pthread_create.c:309
#7 0x00007ffff51dc62d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7fb8740 (LWP 27659)):
#0 0x00007ffff5cd014d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1 0x000000000058dee8 in std::this_thread::sleep_for<long, std::ratio<1l, 1000l> > (__rtime=...) at /usr/include/c++/4.9/thread:282
#2 0x000000000056c5d6 in Downloader::getGameDetails (this=0x7fffffffd4d0)
at /data/mirror/lgogdownloader/src/downloader.cpp:469
#3 0x000000000057a158 in Downloader::updateCache (this=0x7fffffffd4d0)
at /data/mirror/lgogdownloader/src/downloader.cpp:2438
#4 0x000000000051576c in main (argc=4, argv=0x7fffffffe818)
at /data/mirror/lgogdownloader/main.cpp:727
avatar
eiii: ...
I still can't see anything in the backtrace that would help :(
std::runtime_error combined with "Type is not convertible to string" could indicate issue with some asString() call of jsoncpp

Apply this patch: https://sites.google.com/site/gogdownloader/eiii_update_cache_debug.diff
and then run
./lgogdownloader --update-cache --threads 1 --progress-interval 100

It is going to be slow because the patch adds 200ms wait after each asString() call
I'm interested in the messages which have [DEBUG] prefix
avatar
Sude: I'm interested in the messages which have [DEBUG] prefix
Only the lines with '[DEBUG]', right? I hope I haven't filtered out too much because of the ESC sequences in the messages. And I have limited the downloaded games to 10 in Website::getGames() to not always query my whole library from GOG. lgogdownloader still crashes before reaching the 10 games limit, so I hope this doesn't harm anything.

The forum does not let me post the log, probably because of the '[DEBUG]' strings, so it's here.
avatar
eiii: Only the lines with '[DEBUG]', right? I hope I haven't filtered out too much because of the ESC sequences in the messages. And I have limited the downloaded games to 10 in Website::getGames() to not always query my whole library from GOG. lgogdownloader still crashes before reaching the 10 games limit, so I hope this doesn't harm anything.

The forum does not let me post the log, probably because of the '[DEBUG]' strings, so it's here.
The log cuts off just before the file size for en1installer8 of "A New Beginning: Final Cut"
So it seems like it crashes at trying to get file size for it.

Does this cause a crash
./lgogdownloader --include i --language en --platform w --list-details --game a_new_beginning
avatar
Sude: The log cuts off just before the file size for en1installer8 of "A New Beginning: Final Cut"
So it seems like it crashes at trying to get file size for it.

Does this cause a crash
./lgogdownloader --include i --language en --platform w --list-details --game a_new_beginning
Yes. :) And not for the other games it downloads before this one.

Edit: And it crashes for all games with a large installer, perhaps for all installers or files larger than 2^31 bytes?

Edit 2: The old, pre-Galaxy lgogdownloader reports file sizes in KB. The current lgogdownloader reports file sizes in bytes. When these are the raw numbers from the API then the old API reports sizes in KB while the Galaxy API reports them in bytes (and thus lgogdownloader may hit a signed int limit for some files now). But why does it crash only for me?
Post edited October 11, 2017 by eiii
avatar
eiii: Yes. :) And not for the other games it downloads before this one.

Edit: And it crashes for all games with a large installer, perhaps for all installers or files larger than 2^31 bytes?

Edit 2: The old, pre-Galaxy lgogdownloader reports file sizes in KB. The current lgogdownloader reports file sizes in bytes. When these are the raw numbers from the API then the old API reports sizes in KB while the Galaxy API reports them in bytes (and thus lgogdownloader may hit a signed int limit for some files now). But why does it crash only for me?
Apply this patch
https://sites.google.com/site/gogdownloader/json_int_as_string.diff
and then run
./lgogdownloader --include i --language en --platform w --list-details --game a_new_beginning

The downloader shouldn't crash with this patch.
Does it report file size correctly for en1installer8? The size should be 3774873600.
Post edited October 11, 2017 by Sude
avatar
Sude: The downloader shouldn't crash with this patch.
Does it report file size correctly for en1installer8? The size should be 3774873600.
The downloader does not crash and it reports the correct file size with this patch. :) Thanks!
So the problem is a limitation in my jsoncpp library which your patch works around?

Working with the new lgogdownloader now I see that it uses GOG's default locale for my region (German), while the old, non-Galaxy downloader uses English. The new downloader e.g. reports "name: Handbuch (English)" or "name: Hintergrundbild" while the old one reports "name: manual (English)" and "name: wallpaper". Is there any way to set the locale for the new downloader back to English?

Edit: I've upgraded my jsoncpp library to a newer, backported version. And now lgogdownloader does not crash anymore and works as expected even without your patch. Obviously this limitation has been fixed in the newer jsoncpp library. A big sorry and thanks for your help to locate the problem! So you might not even have to change anything in lgogdownloader if nobody else has this problem.
Post edited October 11, 2017 by eiii
avatar
eiii: Working with the new lgogdownloader now I see that it uses GOG's default locale for my region (German), while the old, non-Galaxy downloader uses English. The new downloader e.g. reports "name: Handbuch (English)" or "name: Hintergrundbild" while the old one reports "name: manual (English)" and "name: wallpaper". Is there any way to set the locale for the new downloader back to English?
b0a90f6 Galaxy: Use en-US locale for product info

257946d Workaround for crash with older version of jsoncpp
avatar
Sude: b0a90f6 Galaxy: Use en-US locale for product info
Fast as always. :) Thank you!

PS: It's sad to see that the file sizes reported by the Galaxy API are not as exact as I thought. In the opposite, despite being reported in bytes, they are even more inaccurate than those reported by the old API. All of them seem to be a multiple of full megabytes...
Post edited October 12, 2017 by eiii
Can somebody confirm that lgogdownloader-3.2 works fine with rhash-1.3.5?
Using lgogdownloader 3.2.8191b9d with rhash 1.3.4 (on CentOS 7), seems to work fine.
avatar
sbolokanov: Can somebody confirm that lgogdownloader-3.2 works fine with rhash-1.3.5?
The changelog for 1.3.5 doesn't have any major changes to librhash so the update shouldn't affect anything that lgogdownloader uses it for.
I'm using rhash 1.3.5 on Arch and everything seems to be working fine.