Package: src:python-scrapy
Version: 2.12.0-1
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:311: python3.12 setup.py clean 
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build' (and everything 
under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.12' does not exist -- can't clean it
I: pybuild base:311: python3.13 setup.py clean 
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build' (and everything 
under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.13' does not exist -- can't clean it
   dh_autoreconf_clean -O--buildsystem=pybuild

[... snipped ...]

  File "/usr/lib/python3/dist-packages/botocore/client.py", line 569, in 
_api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 964, in 
_make_api_call
    api_params = self._emit_api_params(
        api_params=api_params,
        operation_model=operation_model,
        context=request_context,
    )
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 1083, in 
_emit_api_params
    self.meta.events.emit(
    ~~~~~~~~~~~~~~~~~~~~~^
        f'before-parameter-build.{service_id}.{operation_name}',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        context=context,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python3/dist-packages/botocore/stub.py", line 394, in 
_assert_expected_params
    raise StubAssertionError(
    ...<5 lines>...
    )
botocore.exceptions.StubAssertionError: Error getting response stub for 
operation PutObject: Expected parameters:
{'Body': <ANY>, 'Bucket': 'mybucket', 'Key': <ANY>},
but received:
{'Body': <s3transfer.utils.ReadFileChunk object at 0x7ff57a213a10>,
 'Bucket': 'mybucket',
 'ChecksumAlgorithm': 'CRC32',
 'Key': 'export.csv/1.json'}
DEBUG    scrapy.core.scraper:scraper.py:401 Scraped from <200 
http://127.0.0.1:36041/>
{'baz': 'quux2', 'egg': 'spam2', 'foo': 'bar2'}
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
creating-client-class.iot-data to creating-client-class.iot-data-plane
DEBUG    boto3.s3.transfer:transfer.py:202 Opting out of CRT Transfer Manager. 
Preferred client: auto, CRT available: False, Instance Optimized: False.
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-call.apigateway to before-call.api-gateway
DEBUG    boto3.s3.transfer:transfer.py:179 Using default client. pid: 12900, 
thread: 140691722204864
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
request-created.machinelearning.Predict to 
request-created.machine-learning.Predict
DEBUG    s3transfer.utils:utils.py:643 Acquiring 0
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.autoscaling.CreateLaunchConfiguration to 
before-parameter-build.auto-scaling.CreateLaunchConfiguration
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.route53 to before-parameter-build.route-53
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
request-created.cloudsearchdomain.Search to 
request-created.cloudsearch-domain.Search
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.autoscaling.CreateLaunchConfiguration.complete-section to 
docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.logs.CreateExportTask to 
before-parameter-build.cloudwatch-logs.CreateExportTask
DEBUG    s3transfer.tasks:tasks.py:201 UploadSubmissionTask(transfer_id=0, 
{'transfer_future': <s3transfer.futures.TransferFuture object at 
0x7ff581bdd310>}) about to wait for the following futures []
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.logs.CreateExportTask.complete-section to 
docs.*.cloudwatch-logs.CreateExportTask.complete-section
DEBUG    s3transfer.tasks:tasks.py:212 UploadSubmissionTask(transfer_id=0, 
{'transfer_future': <s3transfer.futures.TransferFuture object at 
0x7ff581bdd310>}) done waiting for dependent futures
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.cloudsearchdomain.Search to 
before-parameter-build.cloudsearch-domain.Search
DEBUG    s3transfer.tasks:tasks.py:156 Executing task 
UploadSubmissionTask(transfer_id=0, {'transfer_future': 
<s3transfer.futures.TransferFuture object at 0x7ff581bdd310>}) with kwargs 
{'client': <botocore.client.S3 object at 0x7ff558a71fd0>, 'config': 
<boto3.s3.transfer.TransferConfig object at 0x7ff58194d450>, 'osutil': 
<s3transfer.utils.OSUtils object at 0x7ff58194d1d0>, 'request_executor': 
<s3transfer.futures.BoundedExecutor object at 0x7ff55bd0d0f0>, 
'transfer_future': <s3transfer.futures.TransferFuture object at 0x7ff581bdd310>}
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.cloudsearchdomain.Search.complete-section to 
docs.*.cloudsearch-domain.Search.complete-section
DEBUG    s3transfer.futures:futures.py:316 Submitting task 
PutObjectTask(transfer_id=0, {'bucket': 'mybucket', 'key': 'export.csv/2.json', 
'extra_args': {'ChecksumAlgorithm': 'CRC32'}}) to executor 
<s3transfer.futures.BoundedExecutor object at 0x7ff55bd0d0f0> for transfer 
request: 0.
DEBUG    s3transfer.utils:utils.py:643 Acquiring 0
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/endpoints.json
DEBUG    s3transfer.tasks:tasks.py:201 PutObjectTask(transfer_id=0, {'bucket': 
'mybucket', 'key': 'export.csv/2.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}) about to wait for the following futures []
DEBUG    s3transfer.utils:utils.py:656 Releasing acquire 0/None
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/sdk-default-configuration.json
DEBUG    s3transfer.tasks:tasks.py:212 PutObjectTask(transfer_id=0, {'bucket': 
'mybucket', 'key': 'export.csv/2.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}) done waiting for dependent futures
DEBUG    botocore.hooks:hooks.py:238 Event choose-service-name: calling handler 
<function handle_service_name_alias at 0x7ff57a355a80>
DEBUG    s3transfer.tasks:tasks.py:156 Executing task 
PutObjectTask(transfer_id=0, {'bucket': 'mybucket', 'key': 'export.csv/2.json', 
'extra_args': {'ChecksumAlgorithm': 'CRC32'}}) with kwargs {'client': 
<botocore.client.S3 object at 0x7ff558a71fd0>, 'fileobj': 
<s3transfer.utils.ReadFileChunk object at 0x7ff581bdfed0>, 'bucket': 
'mybucket', 'key': 'export.csv/2.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}
DEBUG    botocore.hooks:hooks.py:238 Event before-parameter-build.s3.PutObject: 
calling handler <bound method Stubber._assert_expected_params of 
<botocore.stub.Stubber object at 0x7ff58194d810>>
DEBUG    s3transfer.tasks:tasks.py:168 Exception raised.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 135, in 
__call__
    return self._execute_main(kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 158, in 
_execute_main
    return_value = self._main(**kwargs)
  File "/usr/lib/python3/dist-packages/s3transfer/upload.py", line 796, in _main
    client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 569, in 
_api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 964, in 
_make_api_call
    api_params = self._emit_api_params(
        api_params=api_params,
        operation_model=operation_model,
        context=request_context,
    )
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 1083, in 
_emit_api_params
    self.meta.events.emit(
    ~~~~~~~~~~~~~~~~~~~~~^
        f'before-parameter-build.{service_id}.{operation_name}',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        context=context,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python3/dist-packages/botocore/stub.py", line 394, in 
_assert_expected_params
    raise StubAssertionError(
    ...<5 lines>...
    )
botocore.exceptions.StubAssertionError: Error getting response stub for 
operation PutObject: Expected parameters:
{'Body': <ANY>, 'Bucket': 'mybucket', 'Key': <ANY>},
but received:
{'Body': <s3transfer.utils.ReadFileChunk object at 0x7ff581bdfed0>,
 'Bucket': 'mybucket',
 'ChecksumAlgorithm': 'CRC32',
 'Key': 'export.csv/2.json'}
DEBUG    s3transfer.utils:utils.py:656 Releasing acquire 0/None
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/service-2.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/service-2.sdk-extras.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/partitions.json
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function add_generate_presigned_post at 0x7ff57a310ae0>
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function lazy_call.<locals>._handler at 0x7ff55b5fe5c0>
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function add_generate_presigned_url at 0x7ff57a310860>
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: environment_service
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: environment_global
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: config_service
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: config_global
DEBUG    botocore.configprovider:configprovider.py:993 No configured endpoint 
found.
DEBUG    botocore.endpoint:endpoint.py:414 Setting s3 timeout as (60, 60)
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/_retry.json
DEBUG    botocore.client:client.py:289 Registering retry handlers for service: 
s3
DEBUG    botocore.utils:utils.py:1718 Registering S3 region redirector handler
DEBUG    botocore.utils:utils.py:1666 Registering S3Express Identity Resolver
ERROR    scrapy.extensions.feedexport:feedexport.py:556 Error storing json feed 
(1 items) in: s3://mybucket/export.csv/2.json
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 269, 
in inContext
    result = inContext.theWork()  # type: ignore[attr-defined]
  File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 285, 
in <lambda>
    inContext.theWork = lambda: context.call(  # type: ignore[attr-defined]
                                ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        ctx, func, *args, **kw
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 117, in 
callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 82, in 
callWithContext
    return func(*args, **kw)
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py",
 line 270, in _store_in_thread
    self.s3_client.upload_fileobj(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        Bucket=self.bucketname, Key=self.keyname, Fileobj=file, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/boto3/s3/inject.py", line 642, in 
upload_fileobj
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/s3transfer/futures.py", line 103, in 
result
    return self._coordinator.result()
           ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/s3transfer/futures.py", line 264, in 
result
    raise self._exception
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 135, in 
__call__
    return self._execute_main(kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 158, in 
_execute_main
    return_value = self._main(**kwargs)
  File "/usr/lib/python3/dist-packages/s3transfer/upload.py", line 796, in _main
    client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 569, in 
_api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 964, in 
_make_api_call
    api_params = self._emit_api_params(
        api_params=api_params,
        operation_model=operation_model,
        context=request_context,
    )
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 1083, in 
_emit_api_params
    self.meta.events.emit(
    ~~~~~~~~~~~~~~~~~~~~~^
        f'before-parameter-build.{service_id}.{operation_name}',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        context=context,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python3/dist-packages/botocore/stub.py", line 394, in 
_assert_expected_params
    raise StubAssertionError(
    ...<5 lines>...
    )
botocore.exceptions.StubAssertionError: Error getting response stub for 
operation PutObject: Expected parameters:
{'Body': <ANY>, 'Bucket': 'mybucket', 'Key': <ANY>},
but received:
{'Body': <s3transfer.utils.ReadFileChunk object at 0x7ff581bdfed0>,
 'Bucket': 'mybucket',
 'ChecksumAlgorithm': 'CRC32',
 'Key': 'export.csv/2.json'}
DEBUG    scrapy.core.scraper:scraper.py:401 Scraped from <200 
http://127.0.0.1:36041/>
{'baz': 'quux3', 'foo': 'bar3'}
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
creating-client-class.iot-data to creating-client-class.iot-data-plane
DEBUG    boto3.s3.transfer:transfer.py:202 Opting out of CRT Transfer Manager. 
Preferred client: auto, CRT available: False, Instance Optimized: False.
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-call.apigateway to before-call.api-gateway
DEBUG    boto3.s3.transfer:transfer.py:179 Using default client. pid: 12900, 
thread: 140691722204864
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
request-created.machinelearning.Predict to 
request-created.machine-learning.Predict
DEBUG    s3transfer.utils:utils.py:643 Acquiring 0
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.autoscaling.CreateLaunchConfiguration to 
before-parameter-build.auto-scaling.CreateLaunchConfiguration
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.route53 to before-parameter-build.route-53
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
request-created.cloudsearchdomain.Search to 
request-created.cloudsearch-domain.Search
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.autoscaling.CreateLaunchConfiguration.complete-section to 
docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.logs.CreateExportTask to 
before-parameter-build.cloudwatch-logs.CreateExportTask
DEBUG    s3transfer.tasks:tasks.py:201 UploadSubmissionTask(transfer_id=0, 
{'transfer_future': <s3transfer.futures.TransferFuture object at 
0x7ff581c26710>}) about to wait for the following futures []
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.logs.CreateExportTask.complete-section to 
docs.*.cloudwatch-logs.CreateExportTask.complete-section
DEBUG    s3transfer.tasks:tasks.py:212 UploadSubmissionTask(transfer_id=0, 
{'transfer_future': <s3transfer.futures.TransferFuture object at 
0x7ff581c26710>}) done waiting for dependent futures
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
before-parameter-build.cloudsearchdomain.Search to 
before-parameter-build.cloudsearch-domain.Search
DEBUG    s3transfer.tasks:tasks.py:156 Executing task 
UploadSubmissionTask(transfer_id=0, {'transfer_future': 
<s3transfer.futures.TransferFuture object at 0x7ff581c26710>}) with kwargs 
{'client': <botocore.client.S3 object at 0x7ff57a2112b0>, 'config': 
<boto3.s3.transfer.TransferConfig object at 0x7ff581b37d90>, 'osutil': 
<s3transfer.utils.OSUtils object at 0x7ff581c26d50>, 'request_executor': 
<s3transfer.futures.BoundedExecutor object at 0x7ff55ac2ee00>, 
'transfer_future': <s3transfer.futures.TransferFuture object at 0x7ff581c26710>}
DEBUG    botocore.hooks:hooks.py:482 Changing event name from 
docs.*.cloudsearchdomain.Search.complete-section to 
docs.*.cloudsearch-domain.Search.complete-section
DEBUG    s3transfer.futures:futures.py:316 Submitting task 
PutObjectTask(transfer_id=0, {'bucket': 'mybucket', 'key': 'export.csv/3.json', 
'extra_args': {'ChecksumAlgorithm': 'CRC32'}}) to executor 
<s3transfer.futures.BoundedExecutor object at 0x7ff55ac2ee00> for transfer 
request: 0.
DEBUG    s3transfer.utils:utils.py:643 Acquiring 0
DEBUG    s3transfer.tasks:tasks.py:201 PutObjectTask(transfer_id=0, {'bucket': 
'mybucket', 'key': 'export.csv/3.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}) about to wait for the following futures []
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/endpoints.json
DEBUG    s3transfer.utils:utils.py:656 Releasing acquire 0/None
DEBUG    s3transfer.tasks:tasks.py:212 PutObjectTask(transfer_id=0, {'bucket': 
'mybucket', 'key': 'export.csv/3.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}) done waiting for dependent futures
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/sdk-default-configuration.json
DEBUG    s3transfer.tasks:tasks.py:156 Executing task 
PutObjectTask(transfer_id=0, {'bucket': 'mybucket', 'key': 'export.csv/3.json', 
'extra_args': {'ChecksumAlgorithm': 'CRC32'}}) with kwargs {'client': 
<botocore.client.S3 object at 0x7ff57a2112b0>, 'fileobj': 
<s3transfer.utils.ReadFileChunk object at 0x7ff581972d50>, 'bucket': 
'mybucket', 'key': 'export.csv/3.json', 'extra_args': {'ChecksumAlgorithm': 
'CRC32'}}
DEBUG    botocore.hooks:hooks.py:238 Event choose-service-name: calling handler 
<function handle_service_name_alias at 0x7ff57a355a80>
DEBUG    botocore.hooks:hooks.py:238 Event before-parameter-build.s3.PutObject: 
calling handler <bound method Stubber._assert_expected_params of 
<botocore.stub.Stubber object at 0x7ff581b37b10>>
DEBUG    s3transfer.tasks:tasks.py:168 Exception raised.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 135, in 
__call__
    return self._execute_main(kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 158, in 
_execute_main
    return_value = self._main(**kwargs)
  File "/usr/lib/python3/dist-packages/s3transfer/upload.py", line 796, in _main
    client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 569, in 
_api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 964, in 
_make_api_call
    api_params = self._emit_api_params(
        api_params=api_params,
        operation_model=operation_model,
        context=request_context,
    )
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 1083, in 
_emit_api_params
    self.meta.events.emit(
    ~~~~~~~~~~~~~~~~~~~~~^
        f'before-parameter-build.{service_id}.{operation_name}',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        context=context,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python3/dist-packages/botocore/stub.py", line 394, in 
_assert_expected_params
    raise StubAssertionError(
    ...<5 lines>...
    )
botocore.exceptions.StubAssertionError: Error getting response stub for 
operation PutObject: Expected parameters:
{'Body': <ANY>, 'Bucket': 'mybucket', 'Key': <ANY>},
but received:
{'Body': <s3transfer.utils.ReadFileChunk object at 0x7ff581972d50>,
 'Bucket': 'mybucket',
 'ChecksumAlgorithm': 'CRC32',
 'Key': 'export.csv/3.json'}
DEBUG    s3transfer.utils:utils.py:656 Releasing acquire 0/None
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/service-2.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/service-2.sdk-extras.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/partitions.json
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function add_generate_presigned_post at 0x7ff57a310ae0>
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function lazy_call.<locals>._handler at 0x7ff57a8bccc0>
DEBUG    botocore.hooks:hooks.py:238 Event creating-client-class.s3: calling 
handler <function add_generate_presigned_url at 0x7ff57a310860>
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: environment_service
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: environment_global
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: config_service
DEBUG    botocore.configprovider:configprovider.py:977 Looking for endpoint for 
s3 via: config_global
DEBUG    botocore.configprovider:configprovider.py:993 No configured endpoint 
found.
DEBUG    botocore.endpoint:endpoint.py:414 Setting s3 timeout as (60, 60)
DEBUG    botocore.loaders:loaders.py:181 Loading JSON file: 
/usr/lib/python3/dist-packages/botocore/data/_retry.json
DEBUG    botocore.client:client.py:289 Registering retry handlers for service: 
s3
DEBUG    botocore.utils:utils.py:1718 Registering S3 region redirector handler
DEBUG    botocore.utils:utils.py:1666 Registering S3Express Identity Resolver
ERROR    scrapy.extensions.feedexport:feedexport.py:556 Error storing json feed 
(1 items) in: s3://mybucket/export.csv/3.json
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 269, 
in inContext
    result = inContext.theWork()  # type: ignore[attr-defined]
  File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 285, 
in <lambda>
    inContext.theWork = lambda: context.call(  # type: ignore[attr-defined]
                                ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        ctx, func, *args, **kw
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 117, in 
callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 82, in 
callWithContext
    return func(*args, **kw)
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py",
 line 270, in _store_in_thread
    self.s3_client.upload_fileobj(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        Bucket=self.bucketname, Key=self.keyname, Fileobj=file, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/boto3/s3/inject.py", line 642, in 
upload_fileobj
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/s3transfer/futures.py", line 103, in 
result
    return self._coordinator.result()
           ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/s3transfer/futures.py", line 264, in 
result
    raise self._exception
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 135, in 
__call__
    return self._execute_main(kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3/dist-packages/s3transfer/tasks.py", line 158, in 
_execute_main
    return_value = self._main(**kwargs)
  File "/usr/lib/python3/dist-packages/s3transfer/upload.py", line 796, in _main
    client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 569, in 
_api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 964, in 
_make_api_call
    api_params = self._emit_api_params(
        api_params=api_params,
        operation_model=operation_model,
        context=request_context,
    )
  File "/usr/lib/python3/dist-packages/botocore/client.py", line 1083, in 
_emit_api_params
    self.meta.events.emit(
    ~~~~~~~~~~~~~~~~~~~~~^
        f'before-parameter-build.{service_id}.{operation_name}',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        context=context,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python3/dist-packages/botocore/stub.py", line 394, in 
_assert_expected_params
    raise StubAssertionError(
    ...<5 lines>...
    )
botocore.exceptions.StubAssertionError: Error getting response stub for 
operation PutObject: Expected parameters:
{'Body': <ANY>, 'Bucket': 'mybucket', 'Key': <ANY>},
but received:
{'Body': <s3transfer.utils.ReadFileChunk object at 0x7ff581972d50>,
 'Bucket': 'mybucket',
 'ChecksumAlgorithm': 'CRC32',
 'Key': 'export.csv/3.json'}
INFO     scrapy.core.engine:engine.py:435 Closing spider (finished)
INFO     scrapy.statscollectors:statscollectors.py:61 Dumping Scrapy stats:
{'downloader/request_bytes': 210,
 'downloader/request_count': 1,
 'downloader/request_method_count/GET': 1,
 'downloader/response_bytes': 153,
 'downloader/response_count': 1,
 'downloader/response_status_count/200': 1,
 'elapsed_time_seconds': 0.689103,
 'feedexport/failed_count/CustomS3FeedStorage': 3,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2025, 2, 21, 21, 28, 54, 522419, 
tzinfo=datetime.timezone.utc),
 'item_scraped_count': 3,
 'items_per_minute': None,
 'log_count/DEBUG': 204,
 'log_count/ERROR': 3,
 'log_count/INFO': 10,
 'memusage/max': 417243136,
 'memusage/startup': 417243136,
 'response_received_count': 1,
 'responses_per_minute': None,
 'scheduler/dequeued': 1,
 'scheduler/dequeued/memory': 1,
 'scheduler/enqueued': 1,
 'scheduler/enqueued/memory': 1,
 'start_time': datetime.datetime(2025, 2, 21, 21, 28, 53, 833316, 
tzinfo=datetime.timezone.utc)}
INFO     scrapy.core.engine:engine.py:476 Spider closed (finished)
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:35
  /usr/lib/python3/dist-packages/twisted/web/static.py:35: DeprecationWarning: 
twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 
22.10.0; please use Use twisted.web.pages.notFound instead, which properly 
escapes HTML. instead
    dangerousPathError = resource._UnsafeNoResource("Invalid request URL.")

../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:264
  /usr/lib/python3/dist-packages/twisted/web/static.py:264: DeprecationWarning: 
twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 
22.10.0; please use Use twisted.web.pages.notFound instead, which properly 
escapes HTML. instead
    childNotFound = resource._UnsafeNoResource("File not found.")

../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:265
  /usr/lib/python3/dist-packages/twisted/web/static.py:265: DeprecationWarning: 
twisted.web.resource._UnsafeForbiddenResource.__init__ was deprecated in 
Twisted 22.10.0; please use Use twisted.web.pages.forbidden instead, which 
properly escapes HTML. instead
    forbidden = resource._UnsafeForbiddenResource()

scrapy/core/downloader/webclient.py:10
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/core/downloader/webclient.py:10:
 DeprecationWarning: twisted.web.http.HTTPClient was deprecated in Twisted 
24.7.0: Use twisted.web.client.Agent instead.
    from twisted.web.http import HTTPClient

scrapy/spidermiddlewares/offsite.py:19
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/spidermiddlewares/offsite.py:19:
 ScrapyDeprecationWarning: The scrapy.spidermiddlewares.offsite module is 
deprecated, use scrapy.downloadermiddlewares.offsite instead.
    warnings.warn(

tests/test_command_parse.py: 19 warnings
  /usr/lib/python3/dist-packages/twisted/web/resource.py:190: 
DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was 
deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound 
instead, which properly escapes HTML. instead
    return _UnsafeNoResource()

tests/test_command_shell.py::ShellTest::test_request_replace
  /usr/lib/python3/dist-packages/twisted/web/server.py:323: DeprecationWarning: 
twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 
22.10.0; please use Use twisted.web.pages.errorPage instead, which properly 
escapes HTML. instead
    epage = resource._UnsafeErrorPage(

tests/test_contracts.py::ContractsManagerTest::test_returns_async
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/contracts/__init__.py:187:
 RuntimeWarning: coroutine 'TestSpider.returns_request_async' was never awaited
    results.addError(case, sys.exc_info())

tests/test_crawl.py: 2 warnings
tests/test_downloader_handlers.py: 161 warnings
tests/test_downloader_handlers_http2.py: 34 warnings
tests/test_webclient.py: 4 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/core/downloader/contextfactory.py:123:
 DeprecationWarning: Passing method to twisted.internet.ssl.CertificateOptions 
was deprecated in Twisted 17.1.0. Please use a combination of 
insecurelyLowerMinimumTo, raiseMinimumTo, and lowerMaximumSecurityTo instead, 
as Twisted will correctly configure the method.
    return CertificateOptions(

tests/test_crawl.py: 2 warnings
tests/test_downloader_handlers.py: 336 warnings
tests/test_downloader_handlers_http2.py: 32 warnings
  /usr/lib/python3/dist-packages/service_identity/pyopenssl.py:126: 
DeprecationWarning: This API is deprecated and will be removed in a future 
version of pyOpenSSL. You should use pyca/cryptography's X.509 APIs instead.
    ext = cert.get_extension(i)

tests/test_crawl.py: 2 warnings
tests/test_downloader_handlers.py: 336 warnings
tests/test_downloader_handlers_http2.py: 32 warnings
  /usr/lib/python3/dist-packages/OpenSSL/crypto.py:1679: DeprecationWarning: 
X509Extension support in pyOpenSSL is deprecated. You should use the APIs in 
cryptography.
    ext = X509Extension.__new__(X509Extension)

tests/test_downloader_handlers.py::HttpTestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Http10TestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Https10TestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Http11TestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Https11TestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Https11WrongHostnameTestCase::test_response_header_content_length
tests/test_downloader_handlers.py::Https11InvalidDNSId::test_response_header_content_length
tests/test_downloader_handlers.py::Https11InvalidDNSPattern::test_response_header_content_length
tests/test_downloader_handlers_http2.py::Https11TestCase::test_response_header_content_length
  /usr/lib/python3/dist-packages/twisted/web/server.py:328: DeprecationWarning: 
twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 
22.10.0; please use Use twisted.web.pages.errorPage instead, which properly 
escapes HTML. instead
    epage = resource._UnsafeErrorPage(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_feedexport.py::BatchDeliveriesTest::test_s3_export - Assert...
= 1 failed, 3256 passed, 280 skipped, 5 deselected, 19 xfailed, 976 warnings in 
332.19s (0:05:32) =
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build; python3.13 -m pytest 
--ignore tests/test_command_check.py -k 'not (test_start_requests_laziness or 
test_utf16)'
dh_auto_test: error: pybuild --test -i python{version} -p "3.12 3.13" returned 
exit code 13
make: *** [debian/rules:17: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202502/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-scrapy, so that this is still
visible in the BTS web page for this package.

Thanks.

Reply via email to