Your message dated Wed, 8 Feb 2023 10:18:44 +0100
with message-id <484420bd-723b-3c0e-5df6-11cac17c6...@web.de>
and subject line Closing: python3-pynndescent: "import pynndescent.sparse as 
sparse" results in error
has caused the Debian Bug report #1028908,
regarding python3-pynndescent: "import pynndescent.sparse as sparse" results in 
error
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1028908: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028908
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: python3-pynndescent
Version: 0.5.7-1
Severity: serious

Dear Debian Python Team,

in the python3 or ipython3 interpreter, the Python statement

   import pynndescent.sparse as sparse

fails and the output in ipython3 is
```
---------------------------------------------------------------------------
TypingError                               Traceback (most recent call last)
Cell In [1], line 1
----> 1 import pynndescent.sparse as sparse

File /usr/lib/python3/dist-packages/pynndescent/__init__.py:3
      1 import pkg_resources
      2 import numba
----> 3 from .pynndescent_ import NNDescent, PyNNDescentTransformer
      5 # Workaround: https://github.com/numba/numba/issues/3341
      6 if numba.config.THREADING_LAYER == "omp":

File /usr/lib/python3/dist-packages/pynndescent/pynndescent_.py:16
     12 from scipy.sparse import csr_matrix, coo_matrix, isspmatrix_csr, vstack
as sparse_vstack, issparse
     14 import heapq
---> 16 import pynndescent.sparse as sparse
     17 import pynndescent.sparse_nndescent as sparse_nnd
     18 import pynndescent.distances as pynnd_dist

File /usr/lib/python3/dist-packages/pynndescent/sparse.py:381
    377         result += aux_data[i] ** 2
    378     return np.sqrt(result)
--> 381 @numba.njit(
    382     [
    383         "f4(i4[::1],f4[::1],i4[::1],f4[::1])",
    384         numba.types.float32(
    385             numba.types.Array(numba.types.int32, 1, "C", readonly=True),
    386             numba.types.Array(numba.types.float32, 1, "C", 
readonly=True),
    387             numba.types.Array(numba.types.int32, 1, "C", readonly=True),
    388             numba.types.Array(numba.types.float32, 1, "C", 
readonly=True),
    389         ),
    390     ],
    391     fastmath=True,
    392     locals={
    393         "aux_data": numba.types.float32[::1],
    394         "result": numba.types.float32,
    395         "diff": numba.types.float32,
    396         "dim": numba.types.intp,
    397         "i": numba.types.uint16,
    398     },
    399 )
    400 def sparse_squared_euclidean(ind1, data1, ind2, data2):
    401     _, aux_data = sparse_diff(ind1, data1, ind2, data2)
    402     result = 0.0

File /usr/lib/python3/dist-packages/numba/core/decorators.py:219, in
_jit.<locals>.wrapper(func)
    217     with typeinfer.register_dispatcher(disp):
    218         for sig in sigs:
--> 219             disp.compile(sig)
    220         disp.disable_compile()
    221 return disp

File /usr/lib/python3/dist-packages/numba/core/dispatcher.py:965, in
Dispatcher.compile(self, sig)
    963 with ev.trigger_event("numba:compile", data=ev_details):
    964     try:
--> 965         cres = self._compiler.compile(args, return_type)
    966     except errors.ForceLiteralArg as e:
    967         def folded(args, kws):

File /usr/lib/python3/dist-packages/numba/core/dispatcher.py:129, in
_FunctionCompiler.compile(self, args, return_type)
    127     return retval
    128 else:
--> 129     raise retval

File /usr/lib/python3/dist-packages/numba/core/dispatcher.py:139, in
_FunctionCompiler._compile_cached(self, args, return_type)
    136     pass
    138 try:
--> 139     retval = self._compile_core(args, return_type)
    140 except errors.TypingError as e:
    141     self._failed_cache[key] = e

File /usr/lib/python3/dist-packages/numba/core/dispatcher.py:152, in
_FunctionCompiler._compile_core(self, args, return_type)
    149 flags = self._customize_flags(flags)
    151 impl = self._get_implementation(args, {})
--> 152 cres = compiler.compile_extra(self.targetdescr.typing_context,
    153                               self.targetdescr.target_context,
    154                               impl,
    155                               args=args, return_type=return_type,
    156                               flags=flags, locals=self.locals,
    157                               pipeline_class=self.pipeline_class)
    158 # Check typing error if object mode is used
    159 if cres.typing_error is not None and not flags.enable_pyobject:

File /usr/lib/python3/dist-packages/numba/core/compiler.py:716, in
compile_extra(typingctx, targetctx, func, args, return_type, flags, locals,
library, pipeline_class)
    692 """Compiler entry point
    693
    694 Parameter
   (...)
    712     compiler pipeline
    713 """
    714 pipeline = pipeline_class(typingctx, targetctx, library,
    715                           args, return_type, flags, locals)
--> 716 return pipeline.compile_extra(func)

File /usr/lib/python3/dist-packages/numba/core/compiler.py:452, in
CompilerBase.compile_extra(self, func)
    450 self.state.lifted = ()
    451 self.state.lifted_from = None
--> 452 return self._compile_bytecode()

File /usr/lib/python3/dist-packages/numba/core/compiler.py:520, in
CompilerBase._compile_bytecode(self)
    516 """
    517 Populate and run pipeline for bytecode input
    518 """
    519 assert self.state.func_ir is None
--> 520 return self._compile_core()

File /usr/lib/python3/dist-packages/numba/core/compiler.py:499, in
CompilerBase._compile_core(self)
    497         self.state.status.fail_reason = e
    498         if is_final_pipeline:
--> 499             raise e
    500 else:
    501     raise CompilerError("All available pipelines exhausted")

File /usr/lib/python3/dist-packages/numba/core/compiler.py:486, in
CompilerBase._compile_core(self)
    484 res = None
    485 try:
--> 486     pm.run(self.state)
    487     if self.state.cr is not None:
    488         break

File /usr/lib/python3/dist-packages/numba/core/compiler_machinery.py:368, in
PassManager.run(self, state)
    365 msg = "Failed in %s mode pipeline (step: %s)" % \
    366     (self.pipeline_name, pass_desc)
    367 patched_exception = self._patch_error(msg, e)
--> 368 raise patched_exception

File /usr/lib/python3/dist-packages/numba/core/compiler_machinery.py:356, in
PassManager.run(self, state)
    354 pass_inst = _pass_registry.get(pss).pass_inst
    355 if isinstance(pass_inst, CompilerPass):
--> 356     self._runPass(idx, pass_inst, state)
    357 else:
    358     raise BaseException("Legacy pass in use")

File /usr/lib/python3/dist-packages/numba/core/compiler_lock.py:35, in
_CompilerLock.__call__.<locals>._acquire_compile_lock(*args, **kwargs)
     32 @functools.wraps(func)
     33 def _acquire_compile_lock(*args, **kwargs):
     34     with self:
---> 35         return func(*args, **kwargs)

File /usr/lib/python3/dist-packages/numba/core/compiler_machinery.py:311, in
PassManager._runPass(self, index, pss, internal_state)
    309     mutated |= check(pss.run_initialization, internal_state)
    310 with SimpleTimer() as pass_time:
--> 311     mutated |= check(pss.run_pass, internal_state)
    312 with SimpleTimer() as finalize_time:
    313     mutated |= check(pss.run_finalizer, internal_state)

File /usr/lib/python3/dist-packages/numba/core/compiler_machinery.py:273, in
PassManager._runPass.<locals>.check(func, compiler_state)
    272 def check(func, compiler_state):
--> 273     mangled = func(compiler_state)
    274     if mangled not in (True, False):
    275         msg = ("CompilerPass implementations should return True/False. "
    276                "CompilerPass with name '%s' did not.")

File /usr/lib/python3/dist-packages/numba/core/typed_passes.py:105, in
BaseTypeInference.run_pass(self, state)
     99 """
    100 Type inference and legalization
    101 """
    102 with fallback_context(state, 'Function "%s" failed type inference'
    103                       % (state.func_id.func_name,)):
    104     # Type inference
--> 105     typemap, return_type, calltypes, errs = type_inference_stage(
    106         state.typingctx,
    107         state.targetctx,
    108         state.func_ir,
    109         state.args,
    110         state.return_type,
    111         state.locals,
    112         raise_errors=self._raise_errors)
    113     state.typemap = typemap
    114     # save errors in case of partial typing

File /usr/lib/python3/dist-packages/numba/core/typed_passes.py:83, in
type_inference_stage(typingctx, targetctx, interp, args, return_type, locals,
raise_errors)
     81     infer.build_constraint()
     82     # return errors in case of partial typing
---> 83     errs = infer.propagate(raise_errors=raise_errors)
     84     typemap, restype, calltypes = infer.unify(raise_errors=raise_errors)
     86 # Output all Numba warnings

File /usr/lib/python3/dist-packages/numba/core/typeinfer.py:1086, in
TypeInferer.propagate(self, raise_errors)
   1083 force_lit_args = [e for e in errors
   1084                   if isinstance(e, ForceLiteralArg)]
   1085 if not force_lit_args:
-> 1086     raise errors[0]
   1087 else:
   1088     raise reduce(operator.or_, force_lit_args)

TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Internal error at <numba.core.typeinfer.CallConstraint object at 
0x7fa880d3f550>.
Failed in nopython mode pipeline (step: native lowering)
AST node line range (200, 1) is not valid

File "../../usr/lib/python3/dist-packages/pynndescent/sparse.py", line 202:
def sparse_diff(ind1, data1, ind2, data2):
    return sparse_sum(ind1, data1, ind2, -data2)
    ^

During: lowering "$24unary_negative.6 = arrayexpr(expr=(<built-in function neg>,
[Var(data2, sparse.py:200)]), ty=array(float32, 1d, C))" at
/usr/lib/python3/dist-packages/pynndescent/sparse.py (202)
During: resolving callee type: type(CPUDispatcher(<function sparse_diff at
0x7fa881010680>))
During: typing of call at /usr/lib/python3/dist-packages/pynndescent/sparse.py 
(401)

Enable logging at debug level for details.

File "../../usr/lib/python3/dist-packages/pynndescent/sparse.py", line 401:
def sparse_squared_euclidean(ind1, data1, ind2, data2):
    _, aux_data = sparse_diff(ind1, data1, ind2, data2)
    ^
```

I'm not sure if the failure is due to this package or the package
python3-numba.
Or is this just a Python 3.11 transition outfall?

Any help appreciated.

Regards,
Jörg.


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (600, 'testing'), (500, 'unstable'), (5, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.4 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=C.utf8, LC_CTYPE=C.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages python3-pynndescent depends on:
ii  python3           3.11.1-1
ii  python3-joblib    1.2.0-4
ii  python3-llvmlite  0.39.1-2
ii  python3-numba     0.56.4+dfsg-1
ii  python3-scipy     1.8.1-20
ii  python3-sklearn   1.1.2+dfsg-92

python3-pynndescent recommends no packages.

python3-pynndescent suggests no packages.

-- no debconf information

--- End Message ---
--- Begin Message ---
Dear Debian Python Team,

with the upgrade of python3-numba to version 0.56.4+dfsg-2 this bug seems to be
gone. The Python statement

   import pynndescent.sparse as sparse

now works. For all I care, this bug report can be closed.

Regards,
Jörg.

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (600, 'testing'), (500, 'unstable'), (5, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.8 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=C.utf8, LC_CTYPE=C.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages python3-pynndescent depends on:
ii  python3           3.11.1-3
ii  python3-joblib    1.2.0-4
ii  python3-llvmlite  0.39.1-2
ii  python3-numba     0.56.4+dfsg-2
ii  python3-scipy     1.10.0-3
ii  python3-sklearn   1.2.1+dfsg-1

python3-pynndescent recommends no packages.

python3-pynndescent suggests no packages.

-- no debconf information

--- End Message ---

Reply via email to