Bug #89697
closedScheduler writes invalid 'serialized_task_object' to database
0%
Description
TYPO3 v10.2-dev
Scheduler writes invalid 'serialized_task_object
' to database. The data looks cut short, for example:
4|1573967907|0|0||1573977891|0|||O:42:"TYPO3\CMS\Linkvalidator\Task\ValidatorTask":22:{s:12:"||0
I am using SQLite. The table is created as follows:
CREATE TABLE IF NOT EXISTS "tx_scheduler_task" ( "uid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "crdate" INTEGER UNSIGNED DEFAULT 0 NOT NULL, "disable" SMALLINT UNSIGNED DEFAULT 0 NOT NULL, "deleted" SMALLINT UNSIGNED DEFAULT 0 NOT NULL, "description" CLOB DEFAULT NULL, "nextexecution" INTEGER UNSIGNED DEFAULT 0 NOT NULL, "lastexecution_time" INTEGER UNSIGNED DEFAULT 0 NOT NULL, "lastexecution_failure" CLOB DEFAULT NULL, "lastexecution_context" VARCHAR(3) DEFAULT '' NOT NULL, "serialized_task_object" BLOB DEFAULT NULL, "serialized_executions" BLOB DEFAULT NULL, "task_group" INTEGER UNSIGNED DEFAULT 0 NOT NULL );
(serialized_task_object
: BLOB).
Steps to reproduce the issue: see attached screen recording.
Files
Updated by Michael Schams about 5 years ago
Works fine in MariaDB (`MySQL 5.5.5-10.3.18-MariaDB-0+deb10u1`).
Attached screenshot screenshot-20191119-0005.png shows the output of:
SELECT uid, serialized_task_object FROM tx_scheduler_task;
Updated by Michael Schams over 4 years ago
The bug still exists in TYPO3 v10.3-dev with SQLite.
From my perspective it means that the Scheduler does not work properly in v10 in an installation that uses SQLite as the database engine.
Updated by Susanne Moog over 4 years ago
- Status changed from New to Needs Feedback
I cannot reproduce the issue with sqlite
Doing what you did in the video results in the following data in my sqlite db:
1.08 kB
00000000 4F 3A 34 32 3A 22 54 59 50 4F 33 5C 43 4D 53 5C O:42:"TYPO3\CMS\
00000010 4C 69 6E 6B 76 61 6C 69 64 61 74 6F 72 5C 54 61 Linkvalidator\Ta
00000020 73 6B 5C 56 61 6C 69 64 61 74 6F 72 54 61 73 6B sk\ValidatorTask
00000030 22 3A 32 35 3A 7B 73 3A 31 32 3A 22 00 2A 00 73 ":25:{s:12:".*.s
00000040 6C 65 65 70 54 69 6D 65 22 3B 4E 3B 73 3A 31 39 leepTime";N;s:19
00000050 3A 22 00 2A 00 73 6C 65 65 70 41 66 74 65 72 46 :".*.sleepAfterF
00000060 69 6E 69 73 68 22 3B 4E 3B 73 3A 31 34 3A 22 00 inish";N;s:14:".
00000070 2A 00 63 6F 75 6E 74 49 6E 41 52 75 6E 22 3B 4E *.countInARun";N
00000080 3B 73 3A 31 38 3A 22 00 2A 00 74 6F 74 61 6C 42 ;s:18:".*.totalB
00000090 72 6F 6B 65 6E 4C 69 6E 6B 22 3B 69 3A 30 3B 73 rokenLink";i:0;s
000000A0 3A 32 31 3A 22 00 2A 00 6F 6C 64 54 6F 74 61 6C :21:".*.oldTotal
000000B0 42 72 6F 6B 65 6E 4C 69 6E 6B 22 3B 69 3A 30 3B BrokenLink";i:0;
000000C0 73 3A 31 35 3A 22 00 2A 00 74 65 6D 70 6C 61 74 s:15:".*.templat
000000D0 65 4D 61 69 6C 22 3B 4E 3B 73 3A 31 36 3A 22 00 eMail";N;s:16:".
000000E0 2A 00 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 22 *.configuration"
000000F0 3B 73 3A 30 3A 22 22 3B 73 3A 32 33 3A 22 00 2A ;s:0:"";s:23:".*
00000100 00 69 73 44 69 66 66 65 72 65 6E 74 54 6F 4C 61 .isDifferentToLa
00000110 73 74 52 75 6E 22 3B 4E 3B 73 3A 32 30 3A 22 00 stRun";N;s:20:".
00000120 2A 00 65 6D 61 69 6C 54 65 6D 70 6C 61 74 65 46 *.emailTemplateF
00000130 69 6C 65 22 3B 73 3A 36 33 3A 22 45 58 54 3A 6C ile";s:63:"EXT:l
00000140 69 6E 6B 76 61 6C 69 64 61 74 6F 72 2F 52 65 73 inkvalidator/Res
00000150 6F 75 72 63 65 73 2F 50 72 69 76 61 74 65 2F 54 ources/Private/T
00000160 65 6D 70 6C 61 74 65 73 2F 6D 61 69 6C 74 65 6D emplates/mailtem
00000170 70 6C 61 74 65 2E 68 74 6D 6C 22 3B 73 3A 38 3A plate.html";s:8:
00000180 22 00 2A 00 64 65 70 74 68 22 3B 73 3A 31 3A 22 ".*.depth";s:1:"
00000190 30 22 3B 73 3A 37 3A 22 00 2A 00 70 61 67 65 22 0";s:7:".*.page"
000001A0 3B 73 3A 31 3A 22 31 22 3B 73 3A 38 3A 22 00 2A ;s:1:"1";s:8:".*
000001B0 00 65 6D 61 69 6C 22 3B 73 3A 31 36 3A 22 74 65 .email";s:16:"te
000001C0 73 74 40 65 78 61 6D 70 6C 65 2E 63 6F 6D 22 3B st@example.com";
000001D0 73 3A 32 34 3A 22 00 2A 00 65 6D 61 69 6C 4F 6E s:24:".*.emailOn
000001E0 42 72 6F 6B 65 6E 4C 69 6E 6B 4F 6E 6C 79 22 3B BrokenLinkOnly";
000001F0 69 3A 30 3B 73 3A 31 38 3A 22 00 2A 00 74 65 6D i:0;s:18:".*.tem
00000200 70 6C 61 74 65 53 65 72 76 69 63 65 22 3B 4E 3B plateService";N;
00000210 73 3A 31 35 3A 22 00 2A 00 6C 61 6E 67 75 61 67 s:15:".*.languag
00000220 65 46 69 6C 65 22 3B 73 3A 36 32 3A 22 4C 4C 4C eFile";s:62:"LLL
00000230 3A 45 58 54 3A 6C 69 6E 6B 76 61 6C 69 64 61 74 :EXT:linkvalidat
00000240 6F 72 2F 52 65 73 6F 75 72 63 65 73 2F 50 72 69 or/Resources/Pri
00000250 76 61 74 65 2F 4C 61 6E 67 75 61 67 65 2F 6C 6F vate/Language/lo
00000260 63 61 6C 6C 61 6E 67 2E 78 6C 66 22 3B 73 3A 32 callang.xlf";s:2
00000270 33 3A 22 00 2A 00 62 72 6F 6B 65 6E 4C 69 6E 6B 3:".*.brokenLink
00000280 52 65 70 6F 73 69 74 6F 72 79 22 3B 4E 3B 73 3A Repository";N;s:
00000290 31 32 3A 22 00 2A 00 73 63 68 65 64 75 6C 65 72 12:".*.scheduler
000002A0 22 3B 4E 3B 73 3A 31 30 3A 22 00 2A 00 74 61 73 ";N;s:10:".*.tas
000002B0 6B 55 69 64 22 3B 69 3A 31 3B 73 3A 31 31 3A 22 kUid";i:1;s:11:"
000002C0 00 2A 00 64 69 73 61 62 6C 65 64 22 3B 62 3A 30 .*.disabled";b:0
000002D0 3B 73 3A 31 39 3A 22 00 2A 00 72 75 6E 4F 6E 4E ;s:19:".*.runOnN
000002E0 65 78 74 43 72 6F 6E 4A 6F 62 22 3B 62 3A 30 3B extCronJob";b:0;
000002F0 73 3A 31 32 3A 22 00 2A 00 65 78 65 63 75 74 69 s:12:".*.executi
00000300 6F 6E 22 3B 4F 3A 32 39 3A 22 54 59 50 4F 33 5C on";O:29:"TYPO3\
00000310 43 4D 53 5C 53 63 68 65 64 75 6C 65 72 5C 45 78 CMS\Scheduler\Ex
00000320 65 63 75 74 69 6F 6E 22 3A 36 3A 7B 73 3A 38 3A ecution":6:{s:8:
00000330 22 00 2A 00 73 74 61 72 74 22 3B 69 3A 31 35 38 ".*.start";i:158
00000340 33 36 35 32 31 33 36 3B 73 3A 36 3A 22 00 2A 00 3652136;s:6:".*.
00000350 65 6E 64 22 3B 73 3A 30 3A 22 22 3B 73 3A 31 31 end";s:0:"";s:11
00000360 3A 22 00 2A 00 69 6E 74 65 72 76 61 6C 22 3B 69 :".*.interval";i
00000370 3A 39 39 39 39 3B 73 3A 31 31 3A 22 00 2A 00 6D :9999;s:11:".*.m
00000380 75 6C 74 69 70 6C 65 22 3B 73 3A 31 3A 22 30 22 ultiple";s:1:"0"
00000390 3B 73 3A 31 30 3A 22 00 2A 00 63 72 6F 6E 43 6D ;s:10:".*.cronCm
000003A0 64 22 3B 73 3A 30 3A 22 22 3B 73 3A 32 33 3A 22 d";s:0:"";s:23:"
000003B0 00 2A 00 69 73 4E 65 77 53 69 6E 67 6C 65 45 78 .*.isNewSingleEx
000003C0 65 63 75 74 69 6F 6E 22 3B 62 3A 30 3B 7D 73 3A ecution";b:0;}s:
000003D0 31 36 3A 22 00 2A 00 65 78 65 63 75 74 69 6F 6E 16:".*.execution
000003E0 54 69 6D 65 22 3B 69 3A 31 35 38 33 36 36 32 31 Time";i:15836621
000003F0 33 35 3B 73 3A 31 34 3A 22 00 2A 00 64 65 73 63 35;s:14:".*.desc
00000400 72 69 70 74 69 6F 6E 22 3B 73 3A 30 3A 22 22 3B ription";s:0:"";
00000410 73 3A 31 32 3A 22 00 2A 00 74 61 73 6B 47 72 6F s:12:".*.taskGro
00000420 75 70 22 3B 69 3A 30 3B 73 3A 39 3A 22 00 2A 00 up";i:0;s:9:".*.
00000430 6C 6F 67 67 65 72 22 3B 4E 3B 7D logger";N;}
Using PHP 7.4.1 with:
SQLite3 support enabled SQLite Library 3.30.1 Directive Local Value Master Value sqlite3.defensive 1 1 sqlite3.extension_dir no value no value
Updated by Michael Schams over 4 years ago
I am not sure what I else I can do to provide further details to be honest.
I am using PHP version 7.3 and SQLite3 version 3.27 (default Debian v10 packages).
SQLite3 support enabled SQLite Library 3.27.2 Directive Local Value Master Value sqlite3.defensive 1 1 sqlite3.extension_dir no value no value
I can set up a publicly accessible instance and try to reproduce the issue there. If I can reproduce the issue, I am happy to grant you access if you want?
Updated by Susanne Moog over 4 years ago
Michael Schams wrote:
I am not sure what I else I can do to provide further details to be honest.
I am using PHP version 7.3 and SQLite3 version 3.27 (default Debian v10 packages).[...]
I can set up a publicly accessible instance and try to reproduce the issue there. If I can reproduce the issue, I am happy to grant you access if you want?
That would be cool, as I'm still unable to reproduce it here. Didn't see anything sounding relevant in the changelog of sqlite (though I only took a quick look tbh).
Updated by Susanne Moog over 4 years ago
- Related to Bug #90220: Scheduler results in exception when used with sqlite added
Updated by Susanne Moog over 4 years ago
- Status changed from Needs Feedback to Closed
This has been solved with #90220 - the data of the task itself is complete, however the serialized_executions object can be false.