-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ztest: buffer modified while frozen #1965
Labels
Component: Test Suite
Indicates an issue with the test framework or a test case
Milestone
Comments
An attempt at running it down by automated biesction returned 9759c60 as the guilty party. This may not be right (since there is luck involved in setting off the bug) but I'm putting this here in case anyone wants to use it as a starting point for further investigation. Valgrind told me nothing useful except valgrind doens't like |
DeHackEd
added a commit
to DeHackEd/zfs
that referenced
this issue
Apr 18, 2014
__BIG_ENDIAN__ is a kernel macro that is only defined when the CPU is big-endian, but when built in userspace it is always defined. Let's use different checks depending on whether we're building for user-space or kernel space. The "PowerPC" architecture checks were kept just because it's what Illumos does. Fixes openzfs#1964 Fixed openzfs#1965 Signed-off-by: DHE <git@dehacked.net>
DeHackEd
added a commit
to DeHackEd/zfs
that referenced
this issue
Apr 18, 2014
__BIG_ENDIAN__ is a kernel macro that is only defined when the CPU is big-endian, but when built in userspace it is always defined. Let's use different checks depending on whether we're building for user-space or kernel space. The "PowerPC" architecture checks were kept just because it's what Illumos does. Fixes openzfs#1964 Fixed openzfs#1965 Signed-off-by: DHE <git@dehacked.net>
nedbass
added a commit
to nedbass/zfs
that referenced
this issue
Apr 18, 2014
Endianness detection in LZ4 is broken in user-space builds. This bug corrupts compressed data and manifests itself in at least two obscure ztest failures. When LZ4 was originally ported to Illumos ZFS, the proper checks for Linux were stripped out. The Linux port then inherited the remaining detection code that works on Illumos but not on Linux. The current LZ4 endianness check misuses the condition defined(__BIG_ENDIAN) to indicate a big-endian system. On Linux __BIG_ENDIAN is defined in the user-space header /usr/include/endian.h, and the endianness of the system is indicated by its value, not whether it is defined. The kernel does not use this header, so only user-space builds are affected. While we could fix this by restoring the upstream LZ4 endianness detection code, reliable detection code already exists in libspl/include/sys/isa_defs.h. This change uses the libspl results to replace the word-size and endianness checks in LZ4, simplifying the code and reducing duplication. Fixes openzfs#1964 Fixes openzfs#1965 Signed-off-by: Ned Bass <bass6@llnl.gov>
nedbass
added a commit
to nedbass/zfs
that referenced
this issue
Apr 18, 2014
Endianness detection in LZ4 is broken in user-space builds. This bug corrupts compressed data and manifests itself in at least two obscure ztest failures. When LZ4 was originally ported to Illumos ZFS, the proper checks for Linux were stripped out. The Linux port then inherited the remaining detection code that works on Illumos but not on Linux. The current LZ4 endianness check misuses the condition defined(__BIG_ENDIAN) to indicate a big-endian system. On Linux __BIG_ENDIAN is defined uncondtionally in the user-space header /usr/include/endian.h, regardless of the endianness of the system. The kernel does not use this header, so only user-space builds are affected. While we could fix this by restoring the upstream LZ4 endianness detection code, reliable detection code already exists in libspl/include/sys/isa_defs.h. This change uses the libspl results to replace the word-size and endianness checks in LZ4, simplifying the code and reducing duplication. Fixes openzfs#1964 Fixes openzfs#1965 Signed-off-by: Ned Bass <bass6@llnl.gov>
nedbass
added a commit
to nedbass/zfs
that referenced
this issue
Apr 18, 2014
Endianness detection in LZ4 is broken in user-space builds. This bug corrupts compressed data and manifests itself in several ztest failures. When LZ4 was originally ported to Illumos ZFS, the proper checks for Linux were stripped out. The Linux port then inherited the remaining detection code that works on Illumos but not on Linux. The current LZ4 endianness check misuses the condition defined(__BIG_ENDIAN) to indicate a big-endian system. On Linux __BIG_ENDIAN is defined uncondtionally in the user-space header /usr/include/endian.h, regardless of the endianness of the system. The kernel does not use this header, so only user-space builds are affected. While we could fix this by restoring the upstream LZ4 endianness detection code, reliable checks already exist in libspl/include/sys/isa_defs.h. This change uses the libspl results to replace the word-size and endianness checks in LZ4, simplifying the code and reducing duplication. Fixes openzfs#1963 Fixes openzfs#1964 Fixes openzfs#1965 Signed-off-by: Ned Bass <bass6@llnl.gov>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The following error is periodically observed while running
ztest -V
.The text was updated successfully, but these errors were encountered: