HuberRegressor failed with ABNORMAL_TERMINATION_IN_LNSRCH on simple dataset

### Describe the bug

sklearn linear_model HuberRegressor fails with a very simple dataset. 

The code below fails with ValueError: HuberRegressor convergence failed: l-BFGS-b solver terminated with ABNORMAL_TERMINATION_IN_LNSRCH



### Steps/Code to Reproduce

```python
import numpy as np
import sklearn
from sklearn.linear_model import HuberRegressor

X = np.array([10, 11, 28]).reshape(-1, 1)
y = np.log(np.array([5000., 5000., 5000.]))
sample_weights = np.array([2., 2., 2.])
h = HuberRegressor().fit(X, y, sample_weights)
```

### Expected Results

no ValueError thrown

### Actual Results

```pytb
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[2], line 10
      8 y = np.log(np.array([5000., 5000., 5000.]))
      9 sample_weights = np.array([2., 2., 2.])
---> 10 h = HuberRegressor().fit(X, y, sample_weights)

File ~\Anaconda3\lib\site-packages\sklearn\base.py:1151, in _fit_context.<locals>.decorator.<locals>.wrapper(estimator, *args, **kwargs)
   1144     estimator._validate_params()
   1146 with config_context(
   1147     skip_parameter_validation=(
   1148         prefer_skip_nested_validation or global_skip_validation
   1149     )
   1150 ):
-> 1151     return fit_method(estimator, *args, **kwargs)

File ~\Anaconda3\lib\site-packages\sklearn\linear_model\_huber.py:338, in HuberRegressor.fit(self, X, y, sample_weight)
    335 parameters = opt_res.x
    337 if opt_res.status == 2:
--> 338     raise ValueError(
    339         "HuberRegressor convergence failed: l-BFGS-b solver terminated with %s"
    340         % opt_res.message
    341     )
    342 self.n_iter_ = _check_optimize_result("lbfgs", opt_res, self.max_iter)
    343 self.scale_ = parameters[-1]

ValueError: HuberRegressor convergence failed: l-BFGS-b solver terminated with ABNORMAL_TERMINATION_IN_LNSRCH
```

### Versions

```shell
System:
    python: 3.9.18 (main, Sep 11 2023, 13:30:38) [MSC v.1916 64 bit (AMD64)]
executable: C:\Users\[username]\Anaconda3\python.exe
   machine: Windows-10-10.0.19044-SP0

Python dependencies:
      sklearn: 1.3.0
          pip: 23.3
   setuptools: 68.0.0
        numpy: 1.24.3
        scipy: 1.11.3
       Cython: None
       pandas: 2.1.1
   matplotlib: 3.8.0
       joblib: 1.2.0
threadpoolctl: 2.2.0

Built with OpenMP: True

threadpoolctl info:
       filepath: C:\Users\[username]\Anaconda3\Library\bin\mkl_rt.2.dll
         prefix: mkl_rt
       user_api: blas
   internal_api: mkl
        version: 2023.1-Product
    num_threads: 4
threading_layer: intel

       filepath: C:\Users\[username]\Anaconda3\vcomp140.dll
         prefix: vcomp
       user_api: openmp
   internal_api: openmp
        version: None
    num_threads: 8
```

COMMENT:
I would like to help resolving this issue, but am pretty new to sklearn development. From scipy, my experience was that it was often a good idea to align with maintainers before drafting a PR.

Finetuning L-BFGS-B parameters sounds difficult to me as it would need to be tested with many different datasets. Raising a warning instead of an error would be easy to do probably. Are there are other instances of such a warning in sklearn so that the warning could be adapted?

Labels: help wanted