Skip to content

typing_extensions >= 4.6.0 causes pip unit test failure #60687

Closed
@elfringham

Description

@elfringham
Click to expand!

Issue Type

Bug

Have you reproduced the bug with TF nightly?

Yes

Source

source

Tensorflow Version

git HEAD

Custom Code

No

OS Platform and Distribution

Ubuntu 20.04

Mobile device

n/a

Python version

3.10

Bazel version

5.3.0

GCC/Compiler version

10.2.1

CUDA/cuDNN version

n/a

GPU model and memory

n/a

Current Behaviour?

//bazel_pip/tensorflow/python/trackable:data_structures_test will fail with typing_extensions >= 4.6.0 installed when run as a pip test against an installed TensorFlow wheel.

Standalone code to reproduce the issue

bazel test --build_tests_only --cache_test_results=no --config=mkl_aarch64_threadpool --copt=-flax-vector-conversions --jobs=75 --test_env=TF_ENABLE_ONEDNN_OPTS=1 --test_env=TF2_BEHAVIOR=1 --define=no_tensorflow_py_deps=true --test_lang_filters=py --test_size_filters=small,medium --test_output=errors --verbose_failures=true //bazel_pip/tensorflow/python/trackable:data_structures_test

Relevant log output

======================================================================
ERROR: testFunctionCaching (__main__.MappingTests)
MappingTests.testFunctionCaching
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/bin/bazel_pip/tensorflow/python/trackable/data_structures_test.runfiles/org_tensorflow/bazel_pip/tensorflow/python/trackable/data_structures_test.py", line 507, in testFunctionCaching
    second_trace = f.get_concrete_function(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py", line 1198, in get_concrete_function
    concrete = self._get_concrete_function_garbage_collected(*args, **kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py", line 1189, in _get_concrete_function_garbage_collected
    concrete = self._variable_creation_fn.get_concrete_function(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 197, in get_concrete_function
    concrete_function, _ = self._maybe_define_concrete_function(args, kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 172, in _maybe_define_concrete_function
    return self._maybe_define_function(args, kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 294, in _maybe_define_function
    function_type_utils.make_canonicalized_monomorphic_type(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/function_type_utils.py", line 378, in make_canonicalized_monomorphic_type
    function_type_lib.canonicalize_to_monomorphic(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/polymorphism/function_type.py", line 481, in canonicalize_to_monomorphic
    _make_validated_mono_param(name, arg, poly_parameter.kind,
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/polymorphism/function_type.py", line 421, in _make_validated_mono_param
    mono_type = trace_type.from_value(value, type_context)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/trace_type/trace_type_builder.py", line 142, in from_value
    elif isinstance(value, trace.SupportsTracingProtocol):
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/typing_extensions.py", line 605, in __instancecheck__
    val = inspect.getattr_static(instance, attr)
  File "/usr/lib/python3.8/inspect.py", line 1596, in getattr_static
    instance_result = _check_instance(obj, attr)
  File "/usr/lib/python3.8/inspect.py", line 1543, in _check_instance
    instance_dict = object.__getattribute__(obj, "__dict__")
TypeError: this __dict__ descriptor does not support '_DictWrapper' objects

======================================================================
ERROR: testFunctionCaching (__main__.TupleTests)
TupleTests.testFunctionCaching
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/org_tensorflow/bazel-out/aarch64-opt/bin/bazel_pip/tensorflow/python/trackable/data_structures_test.runfiles/org_tensorflow/bazel_pip/tensorflow/python/trackable/data_structures_test.py", line 716, in testFunctionCaching
    second_trace = f.get_concrete_function(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py", line 1198, in get_concrete_function
    concrete = self._get_concrete_function_garbage_collected(*args, **kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py", line 1189, in _get_concrete_function_garbage_collected
    concrete = self._variable_creation_fn.get_concrete_function(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 197, in get_concrete_function
    concrete_function, _ = self._maybe_define_concrete_function(args, kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 172, in _maybe_define_concrete_function
    return self._maybe_define_function(args, kwargs)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 294, in _maybe_define_function
    function_type_utils.make_canonicalized_monomorphic_type(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/python/eager/polymorphic_function/function_type_utils.py", line 378, in make_canonicalized_monomorphic_type
    function_type_lib.canonicalize_to_monomorphic(
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/polymorphism/function_type.py", line 481, in canonicalize_to_monomorphic
    _make_validated_mono_param(name, arg, poly_parameter.kind,
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/polymorphism/function_type.py", line 421, in _make_validated_mono_param
    mono_type = trace_type.from_value(value, type_context)
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/tensorflow/core/function/trace_type/trace_type_builder.py", line 142, in from_value
    elif isinstance(value, trace.SupportsTracingProtocol):
  File "/workspace/pip_test/venv_clean/lib/python3.8/site-packages/typing_extensions.py", line 605, in __instancecheck__
    val = inspect.getattr_static(instance, attr)
  File "/usr/lib/python3.8/inspect.py", line 1596, in getattr_static
    instance_result = _check_instance(obj, attr)
  File "/usr/lib/python3.8/inspect.py", line 1543, in _check_instance
    instance_dict = object.__getattribute__(obj, "__dict__")
TypeError: this __dict__ descriptor does not support '_TupleWrapper' objects

----------------------------------------------------------------------
Ran 74 tests in 1.021s

FAILED (errors=2, skipped=4)
================================================================================

Metadata

Metadata

Assignees

Labels

staleThis label marks the issue/pr stale - to be closed automatically if no activitystat:awaiting responseStatus - Awaiting response from authortype:bugBugtype:supportSupport issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions