keepass-diff icon indicating copy to clipboard operation
keepass-diff copied to clipboard

Error { pos: 85298:1, kind: Syntax("Unexpected characters outside the root element:

Open chrestomanci opened this issue 2 years ago • 2 comments

I can't get this to work on two versions of my Keepass file created and edited using KeepassXC

I get the same error message when running on Linux on a 64 bit arm CPU, or on Windows 11 on 64bit Intel.

$ keepass-diff ~/.ssh/*.kdbx --same-password
Password for both files:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { pos: 85298:1, kind: Syntax("Unexpected characters outside the root element: \u{1}") }', /home/david/.cargo/registry/src/github.com-1ecc6299db9ec823/keepass-0.4.10/src/xml_parse.rs:54:17
stack backtrace:
   0:     0xaaaab7277ee8 - std::backtrace_rs::backtrace::libunwind::trace::h4094424764928517
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0xaaaab7277ee8 - std::backtrace_rs::backtrace::trace_unsynchronized::h66a4d558a047d429
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0xaaaab7277ee8 - std::sys_common::backtrace::_print_fmt::he501a9dfcbc65602
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/sys_common/backtrace.rs:65:5
   3:     0xaaaab7277ee8 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h500c865c023970a8
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/sys_common/backtrace.rs:44:22
   4:     0xaaaab72921dc - core::fmt::write::h746b6837467f52c4
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/fmt/mod.rs:1208:17
   5:     0xaaaab7275ac4 - std::io::Write::write_fmt::h9c3773c135795f84
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/io/mod.rs:1682:15
   6:     0xaaaab7277cf4 - std::sys_common::backtrace::_print::haf80eda742d20a82
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/sys_common/backtrace.rs:47:5
   7:     0xaaaab7277cf4 - std::sys_common::backtrace::print::h1af712ffba8f7735
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/sys_common/backtrace.rs:34:9
   8:     0xaaaab72793e4 - std::panicking::default_hook::{{closure}}::hd82c56e3724f8bd8
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:267:22
   9:     0xaaaab7279128 - std::panicking::default_hook::h1f2a94f3a1c1c1aa
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:286:9
  10:     0xaaaab7279a64 - std::panicking::rust_panic_with_hook::h01eb01a06bf17753
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:688:13
  11:     0xaaaab7279844 - std::panicking::begin_panic_handler::{{closure}}::h657c9d34bb6d0855
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:579:13
  12:     0xaaaab7278378 - std::sys_common::backtrace::__rust_end_short_backtrace::h0b2d3ba55b6e5445
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/sys_common/backtrace.rs:137:18
  13:     0xaaaab7279590 - rust_begin_unwind
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:575:5
  14:     0xaaaab71c5498 - core::panicking::panic_fmt::h29641d0c529764f0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/panicking.rs:64:14
  15:     0xaaaab71c5728 - core::result::unwrap_failed::h058c9a1e58c62fd7
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1791:5
  16:     0xaaaab71ec984 - keepass::xml_parse::parse_xml_block::hcc1fbcf41f489893
  17:     0xaaaab71f0dd0 - keepass::parse::kdbx4::parse::hdcc3cbaa1efa1bcc
  18:     0xaaaab71dc584 - keepass::db::Database::open::hc57ca1f53a0adaad
  19:     0xaaaab71d5f70 - keepass_diff::kdbx_to_group::h9c53e1763e235a04
  20:     0xaaaab71d56ac - keepass_diff::main::h8c48b81085a86049
  21:     0xaaaab71c93ec - std::sys_common::backtrace::__rust_begin_short_backtrace::h85ff37207db34830
  22:     0xaaaab71d93b4 - std::rt::lang_start::{{closure}}::ha8b08f5921ef54cd
  23:     0xaaaab7271540 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h529a25abf285dbab
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/ops/function.rs:606:13
  24:     0xaaaab7271540 - std::panicking::try::do_call::h660335bd09680bb9
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:483:40
  25:     0xaaaab7271540 - std::panicking::try::h94641ffd91114cda
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:447:19
  26:     0xaaaab7271540 - std::panic::catch_unwind::hb02f598a6506eb1a
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panic.rs:137:14
  27:     0xaaaab7271540 - std::rt::lang_start_internal::{{closure}}::h2bafc04d50d16864
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/rt.rs:148:48
  28:     0xaaaab7271540 - std::panicking::try::do_call::he27a0671832dd909
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:483:40
  29:     0xaaaab7271540 - std::panicking::try::h517b21015b9f6abd
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:447:19
  30:     0xaaaab7271540 - std::panic::catch_unwind::hc734f97b8d8dbcc6
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panic.rs:137:14
  31:     0xaaaab7271540 - std::rt::lang_start_internal::h3fd169391cc4081c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/rt.rs:148:20
  32:     0xaaaab71d850c - main
  33:     0xffff88ba6e18 - __libc_start_main
  34:     0xaaaab71c5874 - <unknown>

chrestomanci avatar Feb 11 '23 18:02 chrestomanci

Sorry for the late reply @chrestomanci - I think it would be best to update the keepass dependency first, publish a new version and then check with that whether your error still occurs. If you have a reproducer (two smaller .kdbx files without your actual passwords in them that show the same issue), we can check and further debug this issue.

Narigo avatar Mar 22 '23 16:03 Narigo

@chrestomanci I have released a newer version (v1.2.0) that includes lots of updates of the underlying keepass dependency. Do you have a chance to test whether your problem still exists with the latest version if you can't provide a reproducer?

Thanks a lot!

Narigo avatar Nov 06 '23 02:11 Narigo