Skip to content
Snippets Groups Projects

main/mc: re-enable tests and remove outdated option

Merged Yury Zaytsev requested to merge zaytsev/aports:zaytsev-master-patch-24522 into master
All threads resolved!

Hi there,

We removed support for mmap a couple of releases ago. Also in the latest release tests on musl are ought to be fixed, so I would like to re-enable them if possible.

All the best, Yury

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • **** assigned to @ncopa

    assigned to @ncopa

  • Yury Zaytsev added 1 commit

    added 1 commit

    • b42a5e98 - main/mc: repair `make check` by adding `checkdepends` on `check`

    Compare with previous version

  • Yury Zaytsev added 1 commit

    added 1 commit

    • 53edfbbc - main/mc: repair `make check` by adding `makedepends` on `check`

    Compare with previous version

    • Author Contributor
      Resolved by Yury Zaytsev

      Okay, folks, I'm at a loss here:

      checking for check >= 0.9.10... no
      configure: WARNING: 'Check' testing framework not found. Check your environment

      First, I figured that check wasn't declared as a dependency at all. So make check would run, but not actually do anything.

      Then I added it to checkdepends, but that didn't help. I thought that was because it was too late and I needed check at the ./configure stage, but moving it to makedepends didn't help either.

      Any ideas? If I install check locally, it's found no problem.

      Many thanks!

      /cc @Celeste

  • Yury Zaytsev marked this merge request as draft

    marked this merge request as draft

  • Yury Zaytsev added 1 commit

    added 1 commit

    • 9da44ff5 - main/mc: repair `make check` by adding `checkdepends` on `check-dev`

    Compare with previous version

  • Yury Zaytsev added 1 commit

    added 1 commit

    • 9f5ad0e8 - WIP: trying to debug s390x failure

    Compare with previous version

    • Resolved by Yury Zaytsev

      Looks like it’s all green now?

      EDIT: no, it didn’t. It segfaults.

      Testing /builds/zaytsev/aports/main/mc/src/mc-4.8.33/tests/src/vfs/extfs/helpers-list/data/u7z.simple.input
      Segmentation fault (core dumped)
      ERROR: Parsing of the output of the helper 'u7z' has failed.
      This means that u7z has produced output that MC won't be able to parse.
      Edited by Natanael Copa
  • This is not a bug in musl. The application code has a buffer overflow in whatever object happened to be right below the group containing the object being freed. You can see this in meta = 0x70786d6c00000000. A pointer has been overwritten with 4 null bytes followed by the ASCII text "lmxp". Hopefully this helps identify what object the buffer overflow is in.

    • Resolved by Yury Zaytsev

      Actually there's another, perhaps more likely explanation: it looks like the byte below the start of the memory it's trying to free has been clobbered with a 0, so that base is miscomputed and meta is looked up at the wrong location. So maybe there's some code designed to zero the last byte of a buffer (e.g. removing a newline), but not handling the case of buffer length 0, thereby writing a 0 before the start?

      FYI: All of what you see musl doing here is intentional consistency checking, designed so that, on any corruption (via UB) from the application, the metadata block will fail to be found the the code in get_meta will intentionally crash - either the loaded address meta will be invalid and fault on access, or it will fail to have a matching return pointer (line 141 of meta.h) or cryptographic entropy secret (line 146).

  • Specifically, index=10 is not consistent with offset=0. An index of 10 would have a minimum offset of 10 for the smallest possible size class. Thus I think offset (right below the pointer passed to free) is probably corrupted.

  • Yury Zaytsev added 1 commit

    added 1 commit

    • 5ebc48da - mc/main: add patch to fix failure exposed by debug s390x

    Compare with previous version

  • Yury Zaytsev added 174 commits

    added 174 commits

    • 5ebc48da...e7fddce8 - 171 commits from branch alpine:master
    • eedf9423 - main/mc: re-enable tests and remove outdated option
    • 06e91364 - main/mc: repair `make check` by adding `checkdepends` on `check-dev`
    • 99ddc7de - mc/main: add patch to fix failure exposed on s390x

    Compare with previous version

  • Yury Zaytsev marked this merge request as ready

    marked this merge request as ready

  • Yury Zaytsev resolved all threads

    resolved all threads

  • Good catch! Thank you both!

  • Natanael Copa added 56 commits

    added 56 commits

    • 99ddc7de...aaeadb8c - 53 commits from branch alpine:master
    • ee4631cb - main/mc: re-enable tests and remove outdated option
    • d5bcd2ec - main/mc: repair `make check` by adding `checkdepends` on `check-dev`
    • 0907fdde - mc/main: add patch to fix failure exposed on s390x

    Compare with previous version

  • merged

Please register or sign in to reply
Loading