This problem only seems to occur when LibreOffice is started from a service on Windows Server 2016. Steps to reproduce: 1. Create a new .odt file with embedded fonts by going to File -> Properties -> checking "Embed fonts in the document" 2. Create a new .NET Windows service. (It might apply to non-.NET services as well, I haven't tried) 3. In the OnStart() method of the service, start the LibreOffice process with the "--convert-to pdf" argument and passing in the file path of the embedded fonts document from step 1. I'm using .NET 4.6.1 and have included sample code below. Expected Result: LibreOffice converts the ODT file to a PDF file. Actual Result: LibreOffice doesn't create the PDF file and hangs. Any attempts to kill the process fail, even with admin rights. Other Notes: 1. This bug was introduced with version 6.4.0.1. Version 6.3.6.2 works fine. 2. This also happens when trying to convert from .docx to .odt, so it doesn't seem to be related to the file formats. 3. The code below works fine when run from a normal program (not a service), or when run from a service on Windows Server 2019. --------------------------------------------------- -- C# code in the Windows service OnStart() method --------------------------------------------------- const string inputFilePath = @"C:\Temp\FileConverterTest\Files_Input\TestEmbeddedFonts.odt"; const string outputFolderPath = @"C:\Temp\FileConverterTest\Files_Output"; ProcessStartInfo info = new ProcessStartInfo( @"C:\Program Files\LibreOffice\program\soffice.exe", "--convert-to pdf \"" + inputFilePath + "\" --outdir \"" + outputFolderPath + "\""); info.WindowStyle = ProcessWindowStyle.Hidden; info.CreateNoWindow = false; info.UseShellExecute = false; Process.Start(info);
(In reply to constantinides from comment #0) > 1. This bug was introduced with version 6.4.0.1. Version 6.3.6.2 works fine. In this case you could try to bisect it with the Windows 6.4 repository. https://wiki.documentfoundation.org/QA/Bibisect/Bibisecting_tutorial https://wiki.documentfoundation.org/QA/Bibisect https://wiki.documentfoundation.org/QA/Bibisect/Windows https://bibisect.libreoffice.org/win64-6.4 Let me know, if you need help.
If you are not able to bibisect the issue, could you please provide more information on how to achieve step 2: "Create a new .NET Windows service." Also: Do you still reproduce the issue in a currently supported LibreOffice version? Please test 7.6. Thank you!
I'll setup a VM to try bibisecting and will report back on that. To expand on what I meant by "Create a new .NET Window service": 1. Open Visual Studio 2. Create a new Project 3. Select type: Visual C# -> Windows Desktop -> Windows Service (.NET Framework) 4. Put the code I have in the description in the OnStart() method. However, I've since found another way to test that doesn't require .NET. The problem also occurs if you try to start LibreOffice from a Windows task with the option to "Run whether user is logged on or not." To create and run such a task: 1. Start -> Windows Administrative Tools -> Task Scheduler 2. Select "Task Scheduler Library" on the left side of the window. 3. Click "Create Task" on the right side of the window 4. Enter a Name of "LibreOffice Test" 5. Select "Run whether user is logged on or not." 6. On the Actions tab, click the "New..." button. 7. Program/Script: "C:\Program Files\LibreOffice\program\soffice.exe" 8. Add arguments: --convert-to pdf "C:\Temp\FileConverterTest\Files_Input\TestEmbeddedFonts.odt" --outdir "C:\Temp\FileConverterTest\Files_Output" 9. Click ok to create the action 10. Click ok to create the task 11. Select the task from the list and click "Run" on the right side of the screen. And I have tested this problem with LibreOffice version 7.6.2 and it is still present.