Skip to content

thread '<unnamed>' panicked at 'assertion failed: output.len() <= c_int::max_value() as usize #65

Open
@thomas725

Description

@thomas725

I've used your tool for over a year to extract my signal backups, and it always worked perfectly, it even managed to extract incomplete copies of *.backup files that I ended up with from time to time.

But now I ran into a problem:

13:52:56 �[0m�[34m[INFO] �[0mOutput path: signal-2023-07-26-04-46-08
13:52:56 �[0m�[34m[INFO] �[0mInput file: Archives/signal-2023-07-26-04-46-08.backup
thread '' panicked at 'assertion failed: output.len() <= c_int::max_value() as usize', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.10.38/src/symm.rs:627:13
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

I've tried to do a fresh install using cargo install --git https://github.com/pajowu/signal-backup-decode signal-backup-decode since I thought maybe there was something broken with the openssl (since that was what caused the panic), but today's stable rust compiler version doesn't want to compile the version in this git repository:

error: custom inner attributes are unstable
 --> src/Backups.rs:9:4
  |
9 | #![rustfmt::skip]
  |    ^^^^^^^^^^^^^
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue #64266 <https://github.com/rust-lang/rust/issues/64266>
  = note: `#[deny(soft_unstable)]` on by default

warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
  --> src/message.rs:31:28
   |
31 |                 chrono::NaiveDateTime::from_timestamp(x / 1000, 0)
   |                                        ^^^^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
  --> src/message.rs:33:28
   |
33 |                 chrono::NaiveDateTime::from_timestamp(0, 0)
   |                                        ^^^^^^^^^^^^^^

warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
  --> src/message.rs:37:28
   |
37 |                 chrono::NaiveDateTime::from_timestamp(x / 1000, 0)
   |                                        ^^^^^^^^^^^^^^

warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
  --> src/message.rs:39:28
   |
39 |                 chrono::NaiveDateTime::from_timestamp(0, 0)
   |                                        ^^^^^^^^^^^^^^

warning: unused variable: `key_value`
   --> src/output_csv.rs:101:32
    |
101 |     fn write_key_value(&mut self, key_value: &crate::Backups::KeyValue) ->  Result<(), anyhow::Error>{
    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `key_value`
  --> src/output_none.rs:72:32
   |
72 |     fn write_key_value(&mut self, key_value: &crate::Backups::KeyValue) ->  Result<(), anyhow::Error>{
   |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`

warning: unused variable: `key_value`
   --> src/output_raw.rs:247:32
    |
247 |     fn write_key_value(&mut self, key_value: &crate::Backups::KeyValue) ->  Result<(), anyhow::Error>{
    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`

warning: `signal-backup-decode` (bin "signal-backup-decode") generated 7 warnings
error: could not compile `signal-backup-decode` due to previous error; 7 warnings emitted
error: failed to compile `signal-backup-decode v0.2.3 (https://github.com/pajowu/signal-backup-decode#31100a37)`, intermediate artifacts can be found at `/tmp/cargo-installwYaMz2`

Next I've had a look at https://github.com/pajowu/signal-backup-decode/network and found a fork with a branch that had a promising name: support-new-backup-version.

I managed to install that version using cargo install --git "https://github.com/pascalgn/signal-backup-decode" --branch support-new-backup-version which also gave a few warnings, but no errors.

Using that I was able to unpack my newer signal backups just fine again. Would be lovely if you could merge that change and publish a new version with it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions