nicohman / wyvern

A simple CLI client for installing and maintaining linux GOG games
GNU General Public License v3.0
87 stars 5 forks source link

Update fails at "Fetching installer data." with certain games #16

Open MikeMaximus opened 5 years ago

MikeMaximus commented 5 years ago

I've ran into an issue when updating certain games, different from #15. So far i've encountered this when updating BattleTech, Tower of Time and SOMA.

mike@bigrig:~/GOG Games/BATTLETECH$ RUST_BACKTRACE=1 wyvern -vvvv update
 INFO 2019-03-19T19:17:27Z: wyvern: Path not specified. Using current dir
 INFO 2019-03-19T19:17:27Z: wyvern: Updating game
 INFO 2019-03-19T19:17:27Z: wyvern::games::update: Reading in gameinfo file
 INFO 2019-03-19T19:17:27Z: wyvern::games::update: Parsing gameinfo
 INFO 2019-03-19T19:17:27Z: wyvern::config: Getting name from gameinfo
 INFO 2019-03-19T19:17:27Z: wyvern::config: Getting version string from gameinfo
 INFO 2019-03-19T19:17:27Z: wyvern::games::update: Searching GOG products for BATTLETECH
 INFO 2019-03-19T19:17:28Z: wyvern::games::update: Fetching the GameDetails for first result of search
 INFO 2019-03-19T19:17:29Z: wyvern::games::update: Getting game's linux downloads
 INFO 2019-03-19T19:17:29Z: wyvern::games::update: Fetching installer data.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: UnexpectedEof, error: StringError("failed to fill whole buffer") }', src/libcore/result.rs:997:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
   1: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:70
   2: std::panicking::default_hook::{{closure}}
             at src/libstd/sys_common/backtrace.rs:58
             at src/libstd/panicking.rs:200
   3: std::panicking::default_hook
             at src/libstd/panicking.rs:215
   4: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:478
   5: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:385
   6: rust_begin_unwind
             at src/libstd/panicking.rs:312
   7: core::panicking::panic_fmt
             at src/libcore/panicking.rs:85
   8: core::result::unwrap_failed
             at /rustc/2aa4c46cfdd726e97360c2734835aa3515e8c858/src/libcore/macros.rs:16
   9: <core::result::Result<T, E>>::unwrap
             at /rustc/2aa4c46cfdd726e97360c2734835aa3515e8c858/src/libcore/result.rs:798
  10: gog::extract::CDEntry::from_reader
             at /home/mike/.cargo/git/checkouts/gog-rs-3c06ac510bb5cd16/0d2a926/src/extract.rs:175
  11: gog::Gog::extract_data
             at /home/mike/.cargo/git/checkouts/gog-rs-3c06ac510bb5cd16/0d2a926/src/lib.rs:752
  12: wyvern::games::update::update
             at src/games.rs:38
  13: wyvern::parse_args
             at src/main.rs:397
  14: wyvern::main
             at src/main.rs:89
  15: std::rt::lang_start::{{closure}}
             at /rustc/2aa4c46cfdd726e97360c2734835aa3515e8c858/src/libstd/rt.rs:64
  16: std::panicking::try::do_call
             at src/libstd/rt.rs:49
             at src/libstd/panicking.rs:297
  17: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:92
  18: std::rt::lang_start_internal
             at src/libstd/panicking.rs:276
             at src/libstd/panic.rs:388
             at src/libstd/rt.rs:48
  19: std::rt::lang_start
             at /rustc/2aa4c46cfdd726e97360c2734835aa3515e8c858/src/libstd/rt.rs:64
  20: main
  21: __libc_start_main
  22: _start
nicohman commented 5 years ago

Tested this out on my machine and got the same error. It looks like these installers are somehow different from the standard mojosetup installers. I'll investigate more later. Thanks for the report!