Open captcha1 opened 3 years ago
Thanks for the report. This definitely sounds like a numba issue. I'm not sure how else we could fix this if it works for other versions of python but not 3.9. Have you had any luck tracking a bug report down for numba for a bug like this?
Mmmm... I haven't looked at any numba bug reports. I just wanted to get SIFT working again.
I upgraded to Fedora 33, which uses python 3.9, and I reinstalled numba 0.51.2 and uwsift 1.1.3. When I run SIFT, the numba.jit decorator on uwsift/view/tile_calculator.get_reference_points complains about numba/misc/quicksort.run_quicksort : unsupported opcode . Perhaps a numba bug, but I commented the decorator out and it SIFT works.
$ SIFT $PY/lib/python3.9/site-packages/uwsift/view/probes.py:22: MatplotlibDeprecationWarning: The matplotlib.backends.backend_qt4agg backend was deprecated in Matplotlib 3.3 and will be removed two minor releases later. from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas Traceback (most recent call last): File "$PY/bin/SIFT", line 33, in
sys.exit(load_entry_point('uwsift==1.1.3', 'console_scripts', 'SIFT')())
File "$PY/bin/SIFT", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib64/python3.9/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/usr/lib64/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 790, in exec_module
File "", line 228, in _call_with_frames_removed
File "$PY/lib/python3.9/site-packages/uwsift/main.py", line 54, in
from uwsift.view.scene_graph import SceneGraphManager
File "$PY/lib/python3.9/site-packages/uwsift/view/scene_graph.py", line 50, in
from uwsift.view.visuals import (NEShapefileLines, TiledGeolocatedImage, RGBCompositeLayer, PrecomputedIsocurve)
File "$PY/lib/python3.9/site-packages/uwsift/view/visuals.py", line 50, in
from uwsift.view.tile_calculator import TileCalculator, calc_pixel_size, get_reference_points
File "$PY/lib/python3.9/site-packages/uwsift/view/tile_calculator.py", line 39, in
def get_reference_points(img_cmesh, img_vbox):
File "$PY/lib/python3.9/site-packages/numba/core/decorators.py", line 218, in wrapper
disp.compile(sig)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_lock.py", line 32, in _acquire_compile_lock
return func(*args, kwargs)
File "$PY/lib/python3.9/site-packages/numba/core/dispatcher.py", line 819, in compile
cres = self._compiler.compile(args, return_type)
File "$PY/lib/python3.9/site-packages/numba/core/dispatcher.py", line 82, in compile
raise retval
File "$PY/lib/python3.9/site-packages/numba/core/dispatcher.py", line 92, in _compile_cached
retval = self._compile_core(args, return_type)
File "$PY/lib/python3.9/site-packages/numba/core/dispatcher.py", line 105, in _compile_core
cres = compiler.compile_extra(self.targetdescr.typing_context,
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 627, in compile_extra
return pipeline.compile_extra(func)
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 363, in compile_extra
return self._compile_bytecode()
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 425, in _compile_bytecode
return self._compile_core()
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 405, in _compile_core
raise e
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 396, in _compile_core
pm.run(self.state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 341, in run
raise patched_exception
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 332, in run
self._runPass(idx, pass_inst, state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_lock.py", line 32, in _acquire_compile_lock
return func(*args, *kwargs)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 291, in _runPass
mutated |= check(pss.run_pass, internal_state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 264, in check
mangled = func(compiler_state)
File "$PY/lib/python3.9/site-packages/numba/core/typed_passes.py", line 442, in run_pass
NativeLowering().run_pass(state)
File "$PY/lib/python3.9/site-packages/numba/core/typed_passes.py", line 370, in run_pass
lower.lower()
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 136, in lower
self.lower_normal_function(self.fndesc)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 190, in lower_normal_function
entry_block_tail = self.lower_function_body()
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 216, in lower_function_body
self.lower_block(block)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 230, in lower_block
self.lower_inst(inst)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 327, in lower_inst
val = self.lower_assign(ty, inst)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 502, in lower_assign
return self.lower_expr(ty, value)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 1027, in lower_expr
res = self.lower_call(resty, expr)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 764, in lower_call
res = self._lower_call_normal(fnty, expr, signature)
File "$PY/lib/python3.9/site-packages/numba/core/lowering.py", line 998, in _lower_call_normal
res = impl(self.builder, argvals, self.loc)
File "$PY/lib/python3.9/site-packages/numba/core/base.py", line 1164, in call
res = self._imp(self._context, builder, self._sig, args, loc=loc)
File "$PY/lib/python3.9/site-packages/numba/core/base.py", line 1194, in wrapper
return fn(args, kwargs)
File "$PY/lib/python3.9/site-packages/numba/np/arrayobj.py", line 5036, in array_argsort
return context.compile_internal(builder, array_argsort_impl,
File "$PY/lib/python3.9/site-packages/numba/core/base.py", line 884, in compile_internal
cres = self.compile_subroutine(builder, impl, sig, locals)
File "$PY/lib/python3.9/site-packages/numba/core/base.py", line 869, in compile_subroutine
cres = self._compile_subroutine_no_cache(builder, impl, sig,
File "$PY/lib/python3.9/site-packages/numba/core/base.py", line 840, in _compile_subroutine_no_cache
cres = compiler.compile_internal(self.typing_context, self,
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 701, in compile_internal
return pipeline.compile_extra(func)
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 363, in compile_extra
return self._compile_bytecode()
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 425, in _compile_bytecode
return self._compile_core()
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 405, in _compile_core
raise e
File "$PY/lib/python3.9/site-packages/numba/core/compiler.py", line 396, in _compile_core
pm.run(self.state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 341, in run
raise patched_exception
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 332, in run
self._runPass(idx, pass_inst, state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_lock.py", line 32, in _acquire_compile_lock
return func(*args, **kwargs)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 291, in _runPass
mutated |= check(pss.run_pass, internal_state)
File "$PY/lib/python3.9/site-packages/numba/core/compiler_machinery.py", line 264, in check
mangled = func(compiler_state)
File "$PY/lib/python3.9/site-packages/numba/core/typed_passes.py", line 92, in run_pass
typemap, return_type, calltypes = type_inference_stage(
File "$PY/lib/python3.9/site-packages/numba/core/typed_passes.py", line 70, in type_inference_stage
infer.propagate(raise_errors=raise_errors)
File "$PY/lib/python3.9/site-packages/numba/core/typeinfer.py", line 1071, in propagate
raise errors[0]
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython mode backend)
Failed in nopython mode pipeline (step: nopython frontend)
No implementation of function Function(<function make_quicksort_impl..run_quicksort at 0x7f5103ee90d0>) found for signature:
There are 2 candidate implementations:
Of which 2 did not match due to: Overload in function 'register_jitable..wrap..ov_wrap': File: numba/core/extending.py: Line 150.
With argument(s): '(array(float64, 1d, C))':
Rejected as the implementation raised a specific error:
UnsupportedError: Failed in nopython mode pipeline (step: analyzing bytecode)
Use of unsupported opcode (LOAD_ASSERTION_ERROR) found
File "$PY/lib/python3.9/site-packages/numba/misc/quicksort.py", line 180: def run_quicksort(A):
During: resolving callee type: Function(<function make_quicksort_impl..run_quicksort at 0x7f5103ee90d0>)
During: typing of call at $PY/lib/python3.9/site-packages/numba/np/arrayobj.py (5032)
File "$PY/lib/python3.9/site-packages/numba/np/arrayobj.py", line 5032: def array_argsort_impl(arr): return sort_func(arr) ^
During: lowering "$22call_method.10 = call $20load_method.9(func=$20load_method.9, args=[], kws=(), vararg=None)" at $PY/lib/python3.9/site-packages/uwsift/view/tile_calculator.py (56)