PowerShell logging artifacts with Sisulizer

I am getting some artifacts in the logs when running Sisulizer from Continua CI using PowerShell.

Some of its output is prefixed with what shows up like


Example log.

Translate TA/TT  	07:40	07:41	22 seconds	Success
Parameters
Working Directory: c:\src\PowerShell\Tools
Executable: C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments: -NonInteractive -Command "try { [string]$pathToScript = 'c:\src\PowerShell\Tools\MakeTranslatedExeFiles.ps1'; [string]$arg1 = 'C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live'; [string]$arg2 = 'C:\Sisu\Tine_WMS.slp'; invoke-expression -Command '& $pathToScript -Path $arg1 -Files (""TineAdmin.exe"""", ""TruckTerminal.exe"""") -slpfile $arg2'; exit $lastexitcode } catch { $Error[0]; exit 1}"
Environment Variables (user-defined)
Output
Translating C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TineAdmin.exe...
Creating a new project file: C:\Users\_svc_schtasks\AppData\Local\Temp\tmp7FCD.tmp.slp
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Scanning file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TineAdmin.exe"
There are ambiguous items in the DRC file. You should specify an optional project file.
Unknown component "TAdvSmoothProgressBar". To map it select this line and click the component that appears in the visual editor.
Unknown component "TAdvSmoothDatePicker". To map it select this line and click the component that appears in the visual editor.
Saving file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmp7FCD.tmp.slp"
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Loading file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmp7FCD.tmp.slp"
Importing file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\PatchedTranslations.slp"

Loading file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\PatchedTranslations.slp"
Importing data
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TINEAdmin.exe.Bitmaps" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TINEAdmin.exe.Cursors" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TINEAdmin.exe.Icons" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TINEAdmin.exe.Manifests" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TruckTerminal.exe" node. The node was not imported. Use Sisulizer.exe to import the node.
Saving file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmp7FCD.tmp.slp"
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Loading file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmp7FCD.tmp.slp"

Building "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\en\TineAdmin.exe", the English version of "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TineAdmin.exe"
Translating C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TruckTerminal.exe...
Creating a new project file: C:\Users\_svc_schtasks\AppData\Local\Temp\tmpADE3.tmp.slp
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Scanning file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TruckTerminal.exe"
There are ambiguous items in the DRC file. You should specify an optional project file.
Unknown component "RichEdit20W". To map it select this line and click the component that appears in the visual editor.
Unknown component "TAdvGridDropDown". To map it select this line and click the component that appears in the visual editor.
Saving file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmpADE3.tmp.slp"
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Loading file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmpADE3.tmp.slp"
Importing file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\PatchedTranslations.slp"

Loading file "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\PatchedTranslations.slp"
Importing data
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TINEAdmin.exe" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TruckTerminal.exe.Bitmaps" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TruckTerminal.exe.Cursors" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TruckTerminal.exe.Icons" node. The node was not imported. Use Sisulizer.exe to import the node.
Target project does not contain "..\Shared\ContinuaCI\PSD_bin\Win32\Executables\Development\TruckTerminal.exe.Manifests" node. The node was not imported. Use Sisulizer.exe to import the node.
Saving file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmpADE3.tmp.slp"
SlMake version 4.0.374 Copyrights (c) 2005-2018 Sisulizer

Loading file "C:\Users\_svc_schtasks\AppData\Local\Temp\tmpADE3.tmp.slp"

Building "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\en\TruckTerminal.exe", the English version of "C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\TruckTerminal.exe"
Copying C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\en\TineAdmin.exe...
Copying C:\Shared\ContinuaCI\PSD_bin\Win32\Executables\Live\en\TruckTerminal.exe...

I am also seeing another artifact from Eurekalog when they output the sizes in bytes.

14.59.35 EurekaLog Command-Line Compiler v7.8.2.0 update 2 for RAD Studio 25.0
14.59.35 ----------------------------------------------------------------
14.59.35
14.59.35 Loading EurekaLog options…
14.59.35 EurekaLog preprocessor start…
14.59.35 Checking units…
14.59.48 Compiling…
14.59.52 Embarcadero Delphi for Win32 compiler version 33.0
14.59.52 Copyright © 1983,2018 Embarcadero Technologies, Inc.
14.59.52 C:\CI_AWS\Ws\109454\Source\PSDLive\PSDCommon\TMPall.pas(39) Hint: H2219 Private symbol ‘SetBatch’ declared but never used
14.59.52 C:\CI_AWS\Ws\109454\Source\PSDLive\PSDCommon\TMSIFaceTPackDeletions.pas(107) Hint: H2077 Value assigned to ‘TPSDTMSTPackDeletion.DoDeletionFromPSD’ never used
14.59.52 373630 lines, 12.86 seconds, 16703904 bytes code, 1317124 bytes data.
14.59.52 EurekaLog postprocessor start…
14.59.52 EurekaLog’s code was added
14.59.52 EurekaLog’s options were added
14.59.52 EurekaLog’s data was added
14.59.52 -=STATS=-
14.59.52 Overall size stats:
14.59.52 Without EL: 18á398á000
14.59.52 With EL: 24á506á880
14.59.52 EL total size diff: +6á108á880 (+33,20%)
14.59.52 EL code size diff: +1á440á976 (+7,83%)
14.59.52 EL data size diff: +4á667á904 (+25,37%)
14.59.52 Final: 24á506á880
14.59.52 Size details (7á451á909 bytes):
14.59.52 EL code size: 1á440á976
14.59.52 EClasses: 164á672
14.59.52 ELogging: 85á396
14.59.52 ESysInfo: 83á472
14.59.52 ECallStack: 73á000
14.59.52 EUnmangling: 69á104
14.59.52 EMemLeaks: 54á244
14.59.52 EDialog: 50á440
14.59.52 EException: 46á356
14.59.52 ELogBuilder: 45á156
14.59.52 EBaseClasses: 42á140
14.59.52 EExceptionManager: 41á012
14.59.52 ExceptionLog7: 35á448
14.59.52 EMapWin32: 32á540
14.59.52 EThreadsManager: 27á120
14.59.52 EZip: 25á156
14.59.52 EDebugEL: 24á692
14.59.52 EModules: 24á536
14.59.52 EStrConsts: 24á216
14.59.52 EPEImage: 23á440
14.59.52 EDebugEL7: 22á744
14.59.52 EResLeaks: 22á668
14.59.52 EBase: 20á284
14.59.52 ELowLevelClasses: 17á536
14.59.52 EDisAsmX8632: 17á264
14.59.52 EDialogWinAPIEurekaLogDetailed: 17á224
14.59.52 EEvents: 17á200
14.59.52 ELogManager: 15á204
14.59.52 ETools: 14á076
14.59.52 ELowLevel: 12á488
14.59.52 EDialogWinAPIEurekaLog: 12á136
14.59.52 EDebugInfo: 11á740
14.59.52 EListView: 11á268
14.59.52 EDialogWinAPI: 11á056
14.59.52 EDialogWinAPIMSClassic: 10á828
14.59.52 EInfoFormat: 10á604
14.59.52 ETypes: 10á584
14.59.52 ESend: 9á992
14.59.52 EAppType: 9á668
14.59.52 EXMLBuilder: 9á468
14.59.52 EHash: 8á976
14.59.52 EExceptionHook: 8á820
14.59.52 ECompatibility: 8á528
14.59.52 EFreeze: 7á968
14.59.52 EHook: 7á848
14.59.52 EEncoding: 7á828
14.59.52 EConfig: 7á352
14.59.52 ECore: 7á120
14.59.52 EFileMemory: 6á692
14.59.52 EDialogSendWinAPI: 6á656
14.59.52 EInject: 6á604
14.59.52 EStackTracing: 6á496
14.59.52 ESpecificDelphi: 6á096
14.59.52 EZLib: 5á696
14.59.52 EExceptionInfoGeneric: 5á584
14.59.52 EDebugExportBase: 5á448
14.59.52 EExceptionInfo: 5á396
14.59.52 EDLLs: 4á944
14.59.52 EDialogWinAPIStepsToReproduce: 4á544
14.59.52 ESendMailShell: 4á236
14.59.52 EOSApiList: 4á156
14.59.52 EWCTSupport: 4á060
14.59.52 EPNG: 3á104
14.59.52 EScreenshot: 3á040

That looks like a Byte Order Mark… I don’t know much about sisulizer but this looks to me like the tool is outputting the BOM when it’s stdout is redirected?

Not sure what is happening with Eurekalog, I can only suggest to try it from the powershell command line and see if that does the same.

Also, what Encoding setting do you have on the Powershell action in Continua.

That is possible. I just found that Sisulizer’s SLMake has a switch to use Ansi output.
I’ll dig a little further to see if I can capture the raw output, but don’t have time to do that right now.

PS Version: Default
Using: PowerShell.Default
Encoding name: Default

Hi Lars,

Try using PowerShell.Core 7, selecting UTF-8 in the Encoding field and checking the Automatically set PowerShell console output encoding to match process output encoding check box on the Options tab.

Hi Dave,
Using your settings without changing the parameters sent to SLMake cured the weird characters from Sisulizer.

Hi Lars,

SlMake, by default writes UTF-8 as output. This is because there might be some translations visible in the output log. The reason that a UTF-8 BOM is added in the beginning is that the the code is shared between file log. This output log should be without BOM. I was the guy who wrote Sisulizer.exe and SlMake.exe I am to blame. I would fix this but I have not worked for Sisulizer in many years.

Best regards,
Jaakko