swupdate icon indicating copy to clipboard operation
swupdate copied to clipboard

fix: error when using fseek on 32-bit system

Open rty813 opened this issue 10 months ago • 1 comments

When running on an armhf system, if the basefile size exceeds the maximum value of uin32, the program will report an error: Error seeking rdiff base file: Invalid argument

full log:

[TRACE] : SWUPDATE running :  [rdiff_log] : swupdate: (rs_patch_s_copying) copy 2048 bytes from basis at offset 2343264256
[ERROR] : SWUPDATE failed [0] ERROR rdiff_handler.c : base_file_read_cb : 75 : Error seeking rdiff base file: Invalid argument
[ERROR] : SWUPDATE running :  [rdiff_log] : swupdate: ERROR: (rs_job_complete) patch job failed: IO error
[ERROR] : SWUPDATE failed [0] ERROR rdiff_handler.c : apply_rdiff_chunk_cb : 202 : Error processing rdiff chunk: IO error
[ERROR] : SWUPDATE failed [0] ERROR rdiff_handler.c : apply_rdiff_patch : 353 : Error -28 running rdiff job, aborting.
[TRACE] : SWUPDATE running :  [install_single_image] : Installer for rdiff_image not successful !
[ERROR] : SWUPDATE failed [1] Installation failed !

rty813 avatar Apr 26 '24 11:04 rty813

Contributing to SWUpdate

Contributions are welcome ! Please follow the following guideline for contributions.

Contribution Checklist

These are mostly general recommendations and are common practice in a lot of FOSS projects.

  • use git to manage your changes [recomended]

  • follow as much as possible kernel codestyle [recomended] Nevertheless, some rules are not so strict as in kernel. The maximum line length can be extended over 80 chars if this increase code readability.

  • add the required copyright header to each new file introduced [required]

    • add signed-off to all patches [required]

      • to certify the "Developer's Certificate of Origin", see below
      • check with your employer when not working on your own!
    • add version number for your patches if follow-up versions are requested [recomended]

      • Add a "Change from Vx" description under the commit message to take track of the history of the patch.
      • It is suggested to use excellent "patman" tool to manage patches series. This is part of U-Boot's project (tools/patman), but it can be used in other projects, too.
  • check that your patches do not break build [required]

    • There is a set of configuration files in the configs/ directory. Please run a build for all files in the directory to ensure that SWUpdate is still buildable from configurations different as yours.
    • post patches to mailing list [required]

      • use git format-patch to generate your patches.
      • use git send-email if possible. This avoid corruptions due to the mailers
      • add a prefix [meta-swupdate] if patches are intended to the Yocto's meta layer.
      • send patches inline, do not append them
      • no HTML emails!
  • do not use github Pull Request. github facilities are not used for this project. The review is done in a single place : the Mailing List. PR from github are ignored.

Patches are tracked by patchwork (see http://jk.ozlabs.org/projects/patchwork/). You can see the status of your patches at http://patchwork.ozlabs.org/project/swupdate/list.

Developer's Certificate of Origin 1.1

When signing-off a patch for this project like this

Signed-off-by: Random J Developer <[email protected]>

using your real name (no pseudonyms or anonymous contributions), you declare the following:

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
  3. The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
  4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

github-actions[bot] avatar Apr 26 '24 11:04 github-actions[bot]