Skip to content
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

rgbd: fix segmentation fault on Arm 32bit platform #2858

Merged
merged 1 commit into from
Feb 8, 2021

Conversation

tomoaki0705
Copy link
Contributor

@tomoaki0705 tomoaki0705 commented Feb 5, 2021

resolves #2857

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or other license that is incompatible with OpenCV
  • The PR is proposed to proper branch
  • There is reference to original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake
force_builders=Custom
build_image:Custom=ubuntu32:16.04
buildworker:Custom=linux-1,linux-4,linux-6

@tomoaki0705
Copy link
Contributor Author

I think I need a help for build failure on armv7
The message seems to be irrelevant from my fix

/build/precommit-contrib_armv7/opencv/modules/core/include/opencv2/core/cuda.hpp:456:15: error: function 'cv::cuda::GpuMatND& cv::cuda::GpuMatND::operator=(cv::cuda::GpuMatND&&)' defaulted on its first declaration with an exception-specification that differs from the implicit declaration 'cv::cuda::GpuMatND& cv::cuda::GpuMatND::operator=(cv::cuda::GpuMatND&&)'
     GpuMatND& operator=(GpuMatND&&) noexcept = default;

Yet, other machines are building fine, when just armv7 is failing.
I've gone wrong in my recent PRs, claiming "It's not my fault" when it was.
Can anyone advice me if it's my failure or is this known issue ?

@alalek
Copy link
Member

alalek commented Feb 5, 2021

Right, you can ignore that.
Relates: opencv/opencv#19259
I will prepare a hotfix tomorrow. Done: opencv/opencv#19466

Copy link
Contributor

@savuor savuor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The true mistake here is that a result of register comparison is float register, while it expected (by the author) to be integer register. So the result could be simply reinterpreted as (u)int32.
But this code is also correct, so 👍

@opencv-pushbot opencv-pushbot merged commit 0f46d02 into opencv:master Feb 8, 2021
@tomoaki0705 tomoaki0705 deleted the fixRgbdSegmentationFault branch February 8, 2021 11:01
@alalek alalek mentioned this pull request Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rgbd: segmentation fault on 32bit Arm platforms
4 participants