Aborted (core dumped) in `tf.raw_ops.FakeQuantWithMinMaxVarsPerChannelGradient`
@x0w3n,
Looks like there is another issue raised for the same API mentioning that it is also aborted. This is a duplicate of issue [#66759](https://github.com/tensorflow/tensorflow/issues/66759). Can you please check and close this issue, since it is already being tracked there? 

Thank you!
 I've noticed this. Thank you! Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/69215">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/69215">No</a>

### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

source

### TensorFlow version

tf 2.16

### Custom code

Yes

### OS platform and distribution

Linux Ubuntu 22.04.3 LTS (x86_64)

### Mobile device

_No response_

### Python version

3.9.13

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

A crash is triggered when input some boundary values to the gradients or inputs parameter of the tf.raw_ops.FakeQuantWithMinMaxVarsPerChannelGradient function. the affected APIs are listed below:

1. tf.raw_ops.FakeQuantWithMinMaxVarsPerChannel
2. tf.raw_ops.FakeQuantWithMinMaxVarsPerChannelGradient
3. tf.quantization.fake_quant_with_min_max_vars_per_channel
4. tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient

### Standalone code to reproduce the issue

```shell
import tensorflow as tf

min_data = tf.constant([0.0, 1.0, 2.0])
max_data = tf.constant([1.0, 2.0, 3.0])
input_data = tf.random.normal(shape=(),dtype=tf.float32)
# crash
tf.raw_ops.FakeQuantWithMinMaxVarsPerChannel(inputs=input_data, min=0, max=3)
# crash
# tf.raw_ops.FakeQuantWithMinMaxVarsPerChannelGradient(gradients=input_data, inputs=input_data, min=2, max=2, num_bits=8, narrow_range=False, name=None)
# crash
# tf.quantization.fake_quant_with_min_max_vars_per_channel(inputs=input_data, min=2, max=2, num_bits=8, narrow_range=False, name=None)
# crash
# tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient(gradients=input_data,inputs=input_data, min=2, max=2, num_bits=8, narrow_range=False, name=None)
```


### Relevant log output

```shell
2024-06-05 09:38:08.909464: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-06-05 09:38:09.950624: F tensorflow/core/framework/tensor_shape.cc:356] Check failed: d >= 0 (0 vs. -1)
Aborted (core dumped)
```
