- Affected version
- 2.3.5
Upgraded to the latest xf release and php 8.4.3 and started logging 100s of these. I am using s3 as a storage bucket.
Server error log
#1 src/vendor/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php(45): trigger_error('Failed to parse...', 512)
#2 src/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\ExpiresParsingMiddleware->{closure:Aws\S3\ExpiresParsingMiddleware::__invoke():43}(Object(Aws\Result))
#3 src/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL)
#4 src/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():156}()
#5 src/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run()
#6 src/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick()
#7 src/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#8 src/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#9 src/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#10 src/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#11 src/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#12 src/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#13 src/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#14 src/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#15 src/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php(363): Aws\AwsClient->execute(Object(Aws\Command))
#16 src/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php(306): Aws\S3\S3Client->checkExistenceWithCommand(Object(Aws\Command))
#17 src/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php(234): Aws\S3\S3Client->doesObjectExist('hss3data', 'pdata/attachmen...', Array)
#18 src/vendor/league/flysystem/src/Filesystem.php(57): League\Flysystem\AwsS3v3\AwsS3Adapter->has('attachments/23/...')
#19 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(430): League\Flysystem\Filesystem->has('attachments/23/...', Array)
#20 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(395): League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod('has', Array)
#21 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(128): League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall('has', Array)
#22 src/vendor/league/flysystem/src/MountManager.php(313): League\Flysystem\EventableFilesystem\EventableFilesystem->has('attachments/23/...')
#23 src/XF/Entity/AttachmentData.php(241): League\Flysystem\MountManager->has('attachments/23/...')
#24 src/XF/ControllerPlugin/AttachmentPlugin.php(12): XF\Entity\AttachmentData->isDataAvailable()
#25 src/XF/Pub/Controller/AttachmentController.php(49): XF\ControllerPlugin\AttachmentPlugin->displayAttachment(Object(XFMG\XF\Entity\Attachment))
#26 src/XF/Mvc/Dispatcher.php(362): XF\Pub\Controller\AttachmentController->actionIndex(Object(XF\Mvc\ParameterBag))
#27 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Attachment', 'Index', Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\AttachmentController), NULL)
#28 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\AttachmentController), NULL)
#29 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#30 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#31 src/XF.php(806): XF\App->run()
#32 index.php(23): XF::runApp('XF\\Pub\\App')
#33 {main}
["url"] => string(43) "/attachments/img_20180529_215947-jpg.26760/"
["referrer"] => string(65) "https://domain.com/threads/yadda-yadda.123456/"
["_GET"] => array(1) {
["/attachments/img_20180529_215947-jpg_26760/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
Server error log
- ErrorException: [E_USER_WARNING] Failed to parse the
expires
header as a timestamp due to an invalid timestamp format. Please refer toExpiresString
for the unparsed string format of this header. - src/vendor/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php:45
- Generated by: Unknown account
- Feb 5, 2025 at 9:01 PM
Stack trace
#0 [internal function]: XF::handlePhpError(512, '[E_USER_WARNING...', '/home/nginx/dom...', 45)#1 src/vendor/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php(45): trigger_error('Failed to parse...', 512)
#2 src/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\ExpiresParsingMiddleware->{closure:Aws\S3\ExpiresParsingMiddleware::__invoke():43}(Object(Aws\Result))
#3 src/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL)
#4 src/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():156}()
#5 src/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run()
#6 src/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick()
#7 src/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#8 src/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#9 src/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#10 src/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#11 src/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#12 src/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#13 src/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#14 src/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#15 src/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php(363): Aws\AwsClient->execute(Object(Aws\Command))
#16 src/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php(306): Aws\S3\S3Client->checkExistenceWithCommand(Object(Aws\Command))
#17 src/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php(234): Aws\S3\S3Client->doesObjectExist('hss3data', 'pdata/attachmen...', Array)
#18 src/vendor/league/flysystem/src/Filesystem.php(57): League\Flysystem\AwsS3v3\AwsS3Adapter->has('attachments/23/...')
#19 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(430): League\Flysystem\Filesystem->has('attachments/23/...', Array)
#20 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(395): League\Flysystem\EventableFilesystem\EventableFilesystem->callFilesystemMethod('has', Array)
#21 src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php(128): League\Flysystem\EventableFilesystem\EventableFilesystem->delegateMethodCall('has', Array)
#22 src/vendor/league/flysystem/src/MountManager.php(313): League\Flysystem\EventableFilesystem\EventableFilesystem->has('attachments/23/...')
#23 src/XF/Entity/AttachmentData.php(241): League\Flysystem\MountManager->has('attachments/23/...')
#24 src/XF/ControllerPlugin/AttachmentPlugin.php(12): XF\Entity\AttachmentData->isDataAvailable()
#25 src/XF/Pub/Controller/AttachmentController.php(49): XF\ControllerPlugin\AttachmentPlugin->displayAttachment(Object(XFMG\XF\Entity\Attachment))
#26 src/XF/Mvc/Dispatcher.php(362): XF\Pub\Controller\AttachmentController->actionIndex(Object(XF\Mvc\ParameterBag))
#27 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Attachment', 'Index', Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\AttachmentController), NULL)
#28 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\AttachmentController), NULL)
#29 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#30 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#31 src/XF.php(806): XF\App->run()
#32 index.php(23): XF::runApp('XF\\Pub\\App')
#33 {main}
Request state
array(4) {["url"] => string(43) "/attachments/img_20180529_215947-jpg.26760/"
["referrer"] => string(65) "https://domain.com/threads/yadda-yadda.123456/"
["_GET"] => array(1) {
["/attachments/img_20180529_215947-jpg_26760/"] => string(0) ""
}
["_POST"] => array(0) {
}
}