Commit Graph

51 Commits

Author SHA1 Message Date
Ravi Mistry
30a50f3df5 Use updated GPU driver version for GOLO bots
Bug: chromium:1309590
Change-Id: I2542bdfd5bc18f73fb07f6248d84a5eb0c5ad069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524001
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-01 18:01:23 +00:00
Robert Phillips
e712161086 Add more nVidia driver valgrind suppressions
Change-Id: I10463cf67aec72ac8cfa4ab329fb3ec9c96c70c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/523416
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-23 14:01:04 +00:00
Brian Salomon
9a5acc5a2d Add another make_get_error_with_random_oom valgrind suppression
First one worked for me locally, second one should work for bots.

Change-Id: Ib22e3507b910089a2516fab8dd41dfbc22d5862f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298822
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-06-24 22:15:33 +00:00
Brian Salomon
24069ebd23 Add GrContext::oomed() and implement for GL and VK.
Surfaces to client whether GrContext has seen a GL_OUT_MEMORY,
VK_ERROR_OUT_OF_HOST_MEMORY, or VK_ERROR_OUT_OF_DEVICE_MEMORY error.

Bug: chromium:1093997
Change-Id: I8e9799a0f7d8a74df056629d7d1d07c0d0a0fe30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298216
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-06-24 16:04:06 +00:00
Brian Salomon
e9b546970e Add valgrind suppressions for GrClearImage
Similar to existing supprresions for bogus errors in GrConvertPixels.

Change-Id: I50f3b47ca3a88c71af532fa69aa2566ad0f03753
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252802
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-05 15:46:13 +00:00
Brian Salomon
f2ebdd91bf Rename GrPixelInfo to GrImageInfo.
Give it its own header file.

Make it store SkISize rather than separate int w/h.

Change-Id: I732f2774c561decac743a950959a70cbc162b67b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245163
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-30 17:10:18 +00:00
Brian Salomon
8f8354a9a3 Reland "Remove GrCaps::SupportedRead::fSwizzle and supporting code"
This reverts commit a0f864d6ac.

Reason for revert: updated valgrind suppression

EXTRA_TRYBOTS=Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_SK_CPU_LIMIT_SSE41

Original change's description:
> Revert "Remove GrCaps::SupportedRead::fSwizzle and supporting code"
>
> This reverts commit 1cec69ae5c.
>
> Reason for revert: Causing Valgrind failures
>
> Original change's description:
> > Remove GrCaps::SupportedRead::fSwizzle and supporting code
> >
> > Add weird color types that handle the swizzling.
> >
> > Change-Id: Ie37a00eb877fe5e519f7498bf749e02a2f1dc204
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230135
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com
>
> Change-Id: I710e1952f2cef1a1e6e7ccf408b8a71ce721c002
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231262
> Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
> Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,benjaminwagner@google.com

Change-Id: I367f62ba7349b112d0a2eb5340a37be938ad5ef5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231178
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-01 00:17:54 +00:00
Brian Salomon
f2c52efce5 Update valgrind suppression
TBR: egdaniel@google.com

Change-Id: If44b5d4b4ac2ffbff5b10950fdf37bf6e79864ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225097
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-02 01:45:03 +00:00
Brian Salomon
f30b1c1bd5 Revert "Revert "Make SkASSERT not break build in constexpr GrSwizzle method on GCC""
This reverts commit 27239e456a.

Revert "Revert "Add function to GrDataUtils to handle color conversions.""

This reverts commit c34d993b62.

Change-Id: Iac1bdaa6f8380e63bbb87394e7fca96808572131
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222039
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 16:56:15 +00:00
Brian Salomon
36bdc09078 Add valgrind suppression for leak in libGLX_nvidia when caching program binaries
Change-Id: Id6d32811c59b5d37579a1c1bf0f42e85d951d45f
Reviewed-on: https://skia-review.googlesource.com/141821
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-18 16:43:51 +00:00
Mike Klein
772f50d980 update valgrind suppressions for revised keepalive thread
Change-Id: I28cc5923866be789d33f4a5f6c0a3be67bf096c3
Reviewed-on: https://skia-review.googlesource.com/65500
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-10-31 15:34:43 +00:00
Eric Boren
101f3f304d Valgrind suppressions for new Debian 9 GPU bot
Bug: skia:
Change-Id: I813fe71812ec65778b48b8b13f238b8df7b8f8cd
Reviewed-on: https://skia-review.googlesource.com/21360
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-30 14:53:38 +00:00
Mike Klein
4a2ab86d76 Update Valgrind match-leak-kinds for keep-alive thread.
Valgrind has tipped over from seeing the keep-alive thread as possibly
leaked to seeing it as definitely leaked.  We can suppress both.

An alternative here is "all" or to just remove the line.  For the moment
I think this is best, as we're still excluding indirect leaks this way.
I'd want to think a bit whether it made sense for the keep-alive thread
to indirectly leak anything, so I'd like it to fail if it comes up.

Change-Id: Ib28790a1d84a0a9061fdb6de48569ca8ea51b52a
Reviewed-on: https://skia-review.googlesource.com/8764
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-21 14:01:19 +00:00
Robert Phillips
59df64a049 Update valgrind suppressions
It appears that the top-level function named has switched to just "main"

Change-Id: I33a18a8d433867e759312d09e5b258f934f495a4
Reviewed-on: https://skia-review.googlesource.com/8194
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-02-08 18:44:35 +00:00
mtklein
e14e226ba7 Tweak valgrind suppressions for intentional leaks.
This is a follow up to building the Valgrind bots with GN.

It's not clear why these need to leak, but we might as well
update the suppressions.  The stacks now look like this:

    Memcheck:Leak
    match-leak-kinds: possible
    fun:calloc
    fun:_dl_allocate_tls
    fun:pthread_create@@GLIBC_2.2.5
    fun:_ZN8SkThreadC1EPFvPvES0_
    fun:_Z14nanobench_mainv
    fun:(below main)

We suppress fun:main in that last slot, so just make it ...

TBR=

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347153002

Review-Url: https://codereview.chromium.org/2347153002
2016-09-16 05:47:06 -07:00
msarett
a7dd73ba53 Suppress jpeg valgrind errors
Do a better job suppressing these errors until I can prioritize fixing
them.

BUG=skia:4550
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641763002

Review URL: https://codereview.chromium.org/1641763002
2016-01-27 12:05:27 -08:00
mtklein
68bb45ea83 update nanobench Valgrind suppression
start_keepalive is static, so it's likely inlined.
We'll put a ... where it goes to allow that.

C.f. https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/529/steps/nanobench%20--abandonGpuContext/logs/stdio

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1562433002

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/1562433002
2016-01-05 04:42:29 -08:00
msarett
c149f0e36e On Valgrind bots, print a message every 20 minutes
I believe that the timeout failure on the Valgrind bot occurs
because we skip many tests consecutively without printing any
output.  Skipping these tests requires non-trivial work.

Printing a message every 20 minutes will avoid timeouts.

BUG=skia:4740
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1554193002

Review URL: https://codereview.chromium.org/1554193002
2016-01-04 11:35:43 -08:00
msarett
a35434aadc Fix valgrind suppressions for libjpeg-turbo warning
BUG=skia:

Review URL: https://codereview.chromium.org/1518393003
2015-12-14 14:14:06 -08:00
msarett
b5213e69c5 Change quality settings on SkImageDecoder_libjpeg
It has been demonstrated that higher quality settings
really do make a difference in the visual quality of
the output image.
https://code.google.com/p/chromium/issues/detail?id=385515
https://code.google.com/p/skia/issues/detail?id=3770

We are planning to replace SkImageDecoder with SkCodec,
and SkCodec will use the higher quality settings.  As
a first step, we are using SkCodec as the underlying
implementation for BitmapRegionDecoder.  CTS tests require
that BitmapRegionDecoder be a close match to BitmapFactory
(which uses SkImageDecoder), so we must also update the
quality of SkImageDecoder to maintain CTS compatibility.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903

Review URL: https://codereview.chromium.org/1412803009
2015-11-11 06:41:02 -08:00
scroggo
7f53819ea9 Revert of Suppression for valgrind bug (patchset #1 id:1 of https://codereview.chromium.org/1410953002/ )
Reason for revert:
We believe this was suppressing an out of date error that was being triggered because the valgrind bot was not rebuilding nanobench. The valgrind bot has been fixed (is there a bug tracking that?), so this suppression is probably not necessary.

Original issue's description:
> Suppression for valgrind bug
>
> TBR=msarett@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> BUG=skia:4478
>
> Committed: https://skia.googlesource.com/skia/+/82e341ff8764ef6168a0c9322089c391d657ae7f

TBR=msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4478

Review URL: https://codereview.chromium.org/1406333006
2015-10-22 07:23:21 -07:00
scroggo
82e341ff87 Suppression for valgrind bug
TBR=msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

BUG=skia:4478

Review URL: https://codereview.chromium.org/1410953002
2015-10-16 14:42:47 -07:00
msarett
02b5aa3cac Fixed valgrind issues with libjpeg-turbo
The fixes are in the updated libjpeg-turbo repository
pulled in by DEPS.  The fixes are detailed in the linked
skia bug.  To summarize briefly, we now use calloc()
instead of malloc().

BUG=skia:4030

Review URL: https://codereview.chromium.org/1237213004
2015-07-14 14:39:59 -07:00
msarett
ef46468063 Temporarily suppress valgrind errors in tip of tree libjpeg-turbo
BUG=skia:4030

Review URL: https://codereview.chromium.org/1231613004
2015-07-09 08:23:50 -07:00
mtklein
18ef5ebf3b widen leak supression. looks like start_keepalive is sometimes inlined.
BUG=skia:

Review URL: https://codereview.chromium.org/1008873003
2015-03-16 15:06:00 -07:00
mtklein
1e237385ec Suppress keepalive thread leak in DM.
BUG=skia:

Review URL: https://codereview.chromium.org/1006143002
2015-03-16 06:59:19 -07:00
bungeman
8d9225ba78 Suppress another FontConfig 'leak'.
FontConfig uses offsets for elements instead of pointers, so any value
held by an element goes missing from memory checkers. Previous
suppressions took care of rule copies and adds to elements, but value
lists may be copied as well. When they are, values are copied, including
the content of strings and matricies. Since value lists are effectively
like Fc*Add functions (even calling the same underlying helpers), treat
them as such and suppress any 'leaks' they may cause.

Review URL: https://codereview.chromium.org/894863003
2015-02-05 09:11:46 -08:00
bsalomon
4bf406a478 Generalize valgrind suppressions for NV driver.
Review URL: https://codereview.chromium.org/723603003
2014-11-12 10:51:19 -08:00
bungeman
0737922ca2 Add suppression to valgrind.supp for fun:FcConfigEvaluate.
Any allocation under FcConfigValues will be 'lost'.
Update the valgrind suppression to reflect this.

Review URL: https://codereview.chromium.org/703893003
2014-11-05 06:44:11 -08:00
mtklein
2460bbdfbb Revert of SkThreadPool ~~> SkTaskGroup (patchset #4 id:60001 of https://codereview.chromium.org/531653002/)
Reason for revert:
Leaks, leaks, leaks.

Original issue's description:
> SkThreadPool ~~> SkTaskGroup
>
> SkTaskGroup is like SkThreadPool except the threads stay in
> one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
> and its wait() method applies only to tasks add()ed to that
> instance, not the whole thread pool.
>
> This means we don't need to bring up new thread pools when
> tests themselves want to use multithreading (e.g. pathops,
> quilt).  We just create a new SkTaskGroup and wait for that
> to complete.  This should be more efficient, and allow us
> to expand where we use threads to really latency sensitive
> places.  E.g. we can probably now use these in nanobench
> for CPU .skp rendering.
>
> Now that all threads are sharing the same pool, I think we
> can remove most of the custom mechanism pathops tests use
> to control threading.  They'll just ride on the global pool
> with all other tests now.
>
> This (temporarily?) removes the GPU multithreading feature
> from DM, which we don't use.
>
> On my desktop, DM runs a little faster (57s -> 55s) in
> Debug, and a lot faster in Release (36s -> 24s).  The bots
> show speedups of similar proportions, cutting more than a
> minute off the N4/Release and Win7/Debug runtimes.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f

R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, reed@google.com, mtklein@chromium.org
TBR=bsalomon@google.com, bungeman@google.com, caryclark@google.com, mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/533393002
2014-09-03 14:17:48 -07:00
mtklein
9c7207b5dc SkThreadPool ~~> SkTaskGroup
SkTaskGroup is like SkThreadPool except the threads stay in
one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
and its wait() method applies only to tasks add()ed to that
instance, not the whole thread pool.

This means we don't need to bring up new thread pools when
tests themselves want to use multithreading (e.g. pathops,
quilt).  We just create a new SkTaskGroup and wait for that
to complete.  This should be more efficient, and allow us
to expand where we use threads to really latency sensitive
places.  E.g. we can probably now use these in nanobench
for CPU .skp rendering.

Now that all threads are sharing the same pool, I think we
can remove most of the custom mechanism pathops tests use
to control threading.  They'll just ride on the global pool
with all other tests now.

This (temporarily?) removes the GPU multithreading feature
from DM, which we don't use.

On my desktop, DM runs a little faster (57s -> 55s) in
Debug, and a lot faster in Release (36s -> 24s).  The bots
show speedups of similar proportions, cutting more than a
minute off the N4/Release and Win7/Debug runtimes.

BUG=skia:
R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531653002
2014-09-03 14:06:48 -07:00
bungeman
2210d9e4b2 Update FontConfig valgrind suppressions.
FcPattern uses 'intptr_t elts_offsets' instead of 'FcPatternEltPtr elts'
to reference its elements. Therefore, valgrind suspects possible leaks
on all values, elements, and element lists in FontConfig.

BUG=skia:2879
R=djsollen@google.com, mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/518903002
2014-08-29 10:38:48 -07:00
bungeman
50119fa861 Update valgrind suppression file for new FontConfig code.
BUG=skia:2879
R=djsollen@google.com, mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/488343003
2014-08-26 13:48:00 -07:00
halcanary
86cfff0a4d valgrind suppression for zlib Flate Test
NOTREECHECKS=true
NOTRY=true
R=bsalomon@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/477733002
2014-08-14 13:08:45 -07:00
bsalomon
61d04c4bf0 Add valgrind supp for NV driver.
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/351053002
2014-06-25 08:25:30 -07:00
commit-bot@chromium.org
7126fef7b6 Update valgrind suppression file
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/292453010

git-svn-id: http://skia.googlecode.com/svn/trunk@14791 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 21:06:01 +00:00
commit-bot@chromium.org
1a98a0604b one valgrind.supp to rule them all.
R=mtklein@google.com, robertphillips@google.com, borenet@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/268473004

git-svn-id: http://skia.googlecode.com/svn/trunk@14487 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 21:10:13 +00:00
robertphillips@google.com
7fac718702 Fix valgrind suppressions (again)
https://codereview.chromium.org/166193003/



git-svn-id: http://skia.googlecode.com/svn/trunk@13449 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-14 14:08:05 +00:00
robertphillips@google.com
dd31ac470b Fix valgrind suppressions
https://codereview.chromium.org/158493004/



git-svn-id: http://skia.googlecode.com/svn/trunk@13403 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 15:23:21 +00:00
robertphillips@google.com
5fbccb35eb Suppress new valgrind complaint
https://codereview.chromium.org/144853006/



git-svn-id: http://skia.googlecode.com/svn/trunk@13244 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:51:29 +00:00
robertphillips@google.com
4fa237f2fb Yet another round of valgrind suppressions
https://codereview.chromium.org/116053004/



git-svn-id: http://skia.googlecode.com/svn/trunk@12766 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 13:41:48 +00:00
robertphillips@google.com
45e01c36da Suppress questionable gpu errors
https://codereview.chromium.org/118283002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12743 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:28:55 +00:00
robertphillips@google.com
aad7e0b607 Add more valgrind suppressions
https://codereview.chromium.org/102443003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12561 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 13:55:33 +00:00
robertphillips@google.com
ffb68f6753 Generalize valgrind suppressions & a 2 more
https://codereview.chromium.org/107443004/



git-svn-id: http://skia.googlecode.com/svn/trunk@12531 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 17:03:39 +00:00
robertphillips@google.com
28ea0b258e Update valgrind suppressions for new driver
https://codereview.chromium.org/102473003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12510 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 16:23:37 +00:00
robertphillips@google.com
cb3b615af7 Address some more valgrind issues
R=borenet@google.com

Review URL: https://codereview.chromium.org/59713010

git-svn-id: http://skia.googlecode.com/svn/trunk@12286 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 14:47:56 +00:00
robertphillips@google.com
d6bea606c6 Silence another valgrind leak
https://codereview.chromium.org/68523006/



git-svn-id: http://skia.googlecode.com/svn/trunk@12236 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:05:15 +00:00
robertphillips@google.com
6acc8f473d Add another FontConfig suppression to valgrind suppressions
https://codereview.chromium.org/69403002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:04:28 +00:00
robertphillips@google.com
8ec502b416 Add valgrind suppressions for driver bugs
https://codereview.chromium.org/27019005/



git-svn-id: http://skia.googlecode.com/svn/trunk@11736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:28:18 +00:00
robertphillips@google.com
1b440d1574 Add leak to valgrind.supp
https://codereview.chromium.org/26869002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11700 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:04:14 +00:00