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.