Error { pos: 85298:1, kind: Syntax("Unexpected characters outside the root element:
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>
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.
@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!