Fog - Supported OS
-
I recently installed the newest Working-1.6 version of fog and seems to be having a bunch of issues with creating db entries such as adding a snapin or importing ldap config. We are using Fedora 44.
Snapins: The file will upload, but will not add the snapin.
Who fog When 2026-08-25 03:50:04 From 10.221.2.185 What Snapin "Datto" (ID 0) failed to save Logged [2026-08-25 03:50:04] Snapin ID: Name: Datto has failed to save. Error: Failed to query: Error: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'sShutdown' at row 1 Error Message: Error Code: "01000", Error Message: ["01000",1265,"Data truncated for column 'sShutdown' at row 1"], Debug: SQL: [1154] INSERT INTO `snapins` (`sName`,`sDesc`,`sFilePath`,`sArgs`,`sCreateDate`,`sCreator`,`sReboot`,`sShutdown`,`sRunWith`,`sRunWithArgs`,`snapinProtect`,`sEnabled`,`sReplicate`,`sHideLog`,`sTimeout`,`sPackType`,`sHash`,`sSize`,`sAnon3`) VALUES (:sName_insert,:sDesc_insert,:sFilePath_insert,:sArgs_insert,:sCreateDate_insert,:sCreator_insert,:sReboot_insert,:sShutdown_insert,:sRunWith_insert,:sRunWithArgs_insert,:snapinProtect_insert,:sEnabled_insert,:sReplicate_insert,:sHideLog_insert,:sTimeout_insert,:sPackType_insert,:sHash_insert,:sSize_insert,:sAnon3_insert) ON DUPLICATE KEY UPDATE `sName`=VALUES(`sName`),`sDesc`=VALUES(`sDesc`),`sFilePath`=VALUES(`sFilePath`),`sArgs`=VALUES(`sArgs`),`sCreateDate`=VALUES(`sCreateDate`),`sCreator`=VALUES(`sCreator`),`sReboot`=VALUES(`sReboot`),`sShutdown`=VALUES(`sShutdown`),`sRunWith`=VALUES(`sRunWith`),`sRunWithArgs`=VALUES(`sRunWithArgs`),`snapinProtect`=VALUES(`snapinProtect`),`sEnabled`=VALUES(`sEnabled`),`sReplicate`=VALUES(`sReplicate`),`sHideLog`=VALUES(`sHideLog`),`sTimeout`=VALUES(`sTimeout`),`sPackType`=VALUES(`sPackType`),`sHash`=VALUES(`sHash`),`sSize`=VALUES(`sSize`),`sAnon3`=VALUES(`sAnon3`) Params: 19 Key: Name: [13] :sName_insert paramno=0 name=[13] ":sName_insert" is_param=1 param_type=2 Key: Name: [13] :sDesc_insert paramno=1 name=[13] ":sDesc_insert" is_param=1 param_type=2 Key: Name: [17] :sFilePath_insert paramno=2 name=[17] ":sFilePath_insert" is_param=1 param_type=2 Key: Name: [13] :sArgs_insert paramno=3 name=[13] ":sArgs_insert" is_param=1 param_type=2 Key: Name: [19] :sCreateDate_insert paramno=4 name=[19] ":sCreateDate_insert" is_param=1 param_type=2 Key: Name: [16] :sCreator_insert paramno=5 name=[16] ":sCreator_insert" is_param=1 param_type=2 Key: Name: [15] :sReboot_insert paramno=6 name=[15] ":sReboot_insert" is_param=1 param_type=2 Key: Name: [17] :sShutdown_insert paramno=7 name=[17] ":sShutdown_insert" is_param=1 param_type=2 Key: Name: [16] :sRunWith_insert paramno=8 name=[16] ":sRunWith_insert" is_param=1 param_type=2 Key: Name: [20] :sRunWithArgs_insert paramno=9 name=[20] ":sRunWithArgs_insert" is_param=1 param_type=2 Key: Name: [21] :snapinProtect_insert paramno=10 name=[21] ":snapinProtect_insert" is_param=1 param_type=2 Key: Name: [16] :sEnabled_insert paramno=11 name=[16] ":sEnabled_insert" is_param=1 param_type=2 Key: Name: [18] :sReplicate_insert paramno=12 name=[18] ":sReplicate_insert" is_param=1 param_type=2 Key: Name: [16] :sHideLog_insert paramno=13 name=[16] ":sHideLog_insert" is_param=1 param_type=2 Key: Name: [16] :sTimeout_insert paramno=14 name=[16] ":sTimeout_insert" is_param=1 param_type=2 Key: Name: [17] :sPackType_insert paramno=15 name=[17] ":sPackType_insert" is_param=1 param_type=2 Key: Name: [13] :sHash_insert paramno=16 name=[13] ":sHash_insert" is_param=1 param_type=2 Key: Name: [13] :sSize_insert paramno=17 name=[13] ":sSize_insert" is_param=1 param_type=2 Key: Name: [14] :sAnon3_insert paramno=18 name=[14] ":sAnon3_insert" is_param=1 param_type=2 SQL: SELECT `settingKey`, `settingValue` FROM `globalSettings` WHERE `settingKey` IN ('FOG_LOG_ERROR') Params: Array ( [:sName_insert] => Datto [:sDesc_insert] => [:sFilePath_insert] => datto.bat [:sArgs_insert] => [:sCreateDate_insert] => 2026-08-25 03:50:04 [:sCreator_insert] => fog [:sReboot_insert] => [:sShutdown_insert] => [:sRunWith_insert] => [:sRunWithArgs_insert] => [:snapinProtect_insert] => 0 [:sEnabled_insert] => 1 [:sReplicate_insert] => 0 [:sHideLog_insert] => 0 [:sTimeout_insert] => 0 [:sPackType_insert] => 0 [:sHash_insert] => [:sSize_insert] => 0 [:sAnon3_insert] => ) ErrorInfo: Array ( ) Debug:Channel Beta | Version 1.6.0-beta.4020Copyright
2012-2026 FOG Project. All rights reserved. -
@Jason89436 Thanks for the detailed report — the debug output is what made this findable, and sShutdown_insert coming through empty is exactly the bug.
What was happening. The snapin create path set that field from a comparison rather than from a literal, so PHP handed the database a boolean. FOG binds every parameter as a string, and (string)false is the empty string — so what actually reached the server was ‘’, which is not a member of enum(‘0’,‘1’). Hence “Data truncated for column ‘sShutdown’”.
That empty string has been going in for years. You are seeing it now because FOG used to run SET SESSION sql_mode=‘’ on every connection, which switched off the server’s own validation and let it quietly substitute a value instead of complaining. Removing that clear was the right thing to do, but it turned a long list of silent coercions into visible errors, and this is one of them.
Fixed in 1.6.0-beta.4027. You are on beta.4020, so an update will pick it up. The fix normalizes booleans to ‘0’/‘1’ at the point where parameters are bound, which covers every write path rather than just this one — the same defect was reaching the task-type editor and group/host tasking, and those are fixed along with it. The 1.5 line has it too, from 1.5.10.2399.
Since then I have gone a step further on 1.6 and stopped storing booleans as enum(‘0’,‘1’) at all — they are tinyint(1) now. The reason is that an integer written to an ENUM is a member index rather than a value, so 1 selected the member ‘0’ and meant false. Nothing in FOG hit that, because everything was bound as a string, but it was one careless cast away from silently inverting flags. That change is in the current beta and upgrades your database in place, so there is nothing to do beyond updating.
On the LDAP side — I would like the exact error for that one. The LDAP config path writes its checkboxes as integers rather than booleans, so it is not the same defect, which means either something else is failing there or it is a different symptom of the same strict-mode change. Either way it needs its own look. If you still see it after updating, post the message and the debug block the way you did here and I will chase it down.