JuliaImages / JuliaImages/ImageFiltering.jl
Test failure if run with multiple threads
Open
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 104
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Description
Split off from #86:
$ JULIA_NUM_THREADS=2 julia runtests.jl
Skipping Base.active_repl
Skipping Base.active_repl_backend
Skipping Base.active_repl
Skipping Base.active_repl_backend
Test Summary: | Pass Total
Border | 102 102
[ Info: Two warnings are expected
┌ Warning: Likely overflow or conversion error detected. Consider specifying the output type, e.g., `imfilter(UInt16, img, kernel, ...)`
└ @ ImageFiltering ~/.julia/dev/ImageFiltering/src/imfilter.jl:625
Test Summary: | Pass Total
1d | 60 60
┌ Warning: Likely overflow or conversion error detected. Consider specifying the output type, e.g., `imfilter(Int32, img, kernel, ...)`
└ @ ImageFiltering ~/.julia/dev/ImageFiltering/src/imfilter.jl:625
Test Summary: | Pass Total
2d widening | 3 3
Test Summary: | Pass Total
3d | 18 18
Test Summary: | Pass Total
tiling | 10 10
Test Summary: | Pass Total
FIR/FFT | 1191 1191
Error thrown in threaded loop on thread 0: Base.DimensionMismatch(msg="requested indices (1:8, 0:9) and kernel indices (Base.Slice(-1:1), Base.Slice(0:0)) do not agree with indices of padded input, (Base.Slice(0:9), Base.Slice(1:8))")Borders (issue #85): Test Failed at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:335
Expression: imfilter(A, Kernel.gaussian((1, 1), (3, 3)), Fill(0, (1, 0)))
Expected: DimensionMismatch("requested indices (1:8, 0:9) and kernel indices (Base.Slice(-1:1), Base.Slice(0:0)) do not agree with indices of padded input, (Base.Slice(0:9), Base.Slice(1:8))")
No exception thrown
Stacktrace:
[1] macro expansion at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:335 [inlined]
[2] macro expansion at /usr/local/julia/julia-1.0/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[3] top-level scope at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:239
Error thrown in threaded loop on thread 0: Base.DimensionMismatch(msg="requested indices (1:8, 0:9) and kernel indices (Base.Slice(-1:1), Base.Slice(0:0)) do not agree with indices of padded input, (Base.Slice(1:8), Base.Slice(0:9))")Borders (issue #85): Test Failed at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:336
Expression: imfilter(A, Kernel.gaussian((1, 1), (3, 3)), Fill(0, (0, 1)))
Expected: DimensionMismatch
No exception thrown
Stacktrace:
[1] macro expansion at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:336 [inlined]
[2] macro expansion at /usr/local/julia/julia-1.0/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[3] top-level scope at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:239
Error thrown in threaded loop on thread 0: Base.DimensionMismatch(msg="requested indices (1:8, 0:9) and kernel indices (Base.Slice(-1:1), Base.Slice(0:0)) do not agree with indices of padded input, (Base.Slice(1:8), Base.Slice(1:8))")Borders (issue #85): Test Failed at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:337
Expression: imfilter(A, Kernel.gaussian((1, 1), (3, 3)), Fill(0, (0, 0)))
Expected: DimensionMismatch
No exception thrown
Stacktrace:
[1] macro expansion at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:337 [inlined]
[2] macro expansion at /usr/local/julia/julia-1.0/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[3] top-level scope at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:239
Test Summary: | Pass Fail Total
Borders (issue #85) | 35 3 38
ERROR: LoadError: LoadError: Some tests did not pass: 35 passed, 3 failed, 0 errored, 0 broken.
in expression starting at /home/tim/.julia/dev/ImageFiltering/test/2d.jl:238
in expression starting at /home/tim/.julia/dev/ImageFiltering/test/runtests.jl:12
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run JULIA_NUM_THREADS=2 julia runtests.jl and start with the failing cases in test/2d.jl:335-337, reached through test/runtests.jl. Compare the threaded behavior with the expected DimensionMismatch results and inspect the imfilter call path shown in the failure. Done means the Borders tests pass when running with multiple threads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100