ParaView output message - vtkXMLParser Error parsing XML

Hello,
I got the executable file (paraview.exe) by building the latest ParaView source on Windows. However, when this file is executed, the following output message is displayed.
Why is this output message coming out?
Is there any way to get rid of this message?

ERROR: In C:\pv\pv\VTK\IO\XMLParser\vtkXMLParser.cxx, line 379
vtkPVXMLParser (000002EF88900710): Error parsing XML in stream at line 1059, column 36, byte index 49204: not well-formed (invalid token)

Is your ParaView fonctionnal ?
Any reason not to use the binary release ?
Which CMake option are you enabling ?
Which commit are you building exactly ?

Check your source code. Are there conflict markers or some such? Seems to me that the source code is not clean.

What size is your XML file?

ParaView’s function seems to be working fine.
The reason not to use binary release is to customize ParaView’s Menu and try it out.
The cmake option turned on PARAVIEW_USE_PYTHON and PARAVIEW_USE_MPI, and CMAKE_BUILD_TYPE was set to Release.
The source code commit used for the build is as follows.

commit eab2df27f0dca1c71c3c2b1c9e17447481a3b92e (HEAD → master, origin/master, origin/HEAD)
Merge: 144ae5a4dc e78f44fa0f
Author: Utkarsh Ayachit utkarsh.ayachit@kitware.com
Date: Thu Jan 6 17:21:43 2022 +0000

Merge topic 'catalyst-mpi-init'

e78f44fa0f catalyst: avoid calling MPI methods if MPI is not initialized

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Corey Wetterer-Nelson <c.wetterer-nelson@kitware.com>
Merge-request: !5436

The output message from the executable file built in Windows 10 (Korean locale) does not appear in the executable file built in Windows 10 (English locale). Could it be related to the encoding of the source code?

This is the output message generated when the executable file is executed. I did not enter any xml file.

What does the call stack show?

Only the output message is shown, the call stack is not visible. This is because it is a release mode executable.

Then I suggest you build RelWithDebInfo and put a breakpoint in vtkXMLParser::ReportXmlParseError

Thanks for telling me how.
Is it possible to set breakpoints in visual studio?

Yes.
Just click in the left most column of the IDE at the desired line of code. Then right click on the Paraview project in the Solution Explorer “Set as StartUp Project” and run “Local Windows Debugger”

It helped a lot, I’ll try it and post the results.

The call stack is:

> vtkIOXMLParser-pv5.10.dll!vtkXMLParser::ReportXmlParseError() line 375 C++
vtkIOXMLParser-pv5.10.dll!vtkXMLParser::ParseBuffer(const char * buffer, unsigned int count) line 395 C++
vtkIOXMLParser-pv5.10.dll!vtkXMLParser::ParseXML() line 285 C++
vtkIOXMLParser-pv5.10.dll!vtkXMLParser::Parse() line 163 C++
vtkIOXMLParser-pv5.10.dll!vtkXMLParser::Parse(const char * inputString) line 104 C++
vtkRemotingServerManager-pv5.10.dll!vtkSIProxyDefinitionManager::LoadConfigurationXMLFromString(const char * xmlContent, bool attachHints) line 773 C++
vtkRemotingServerManager-pv5.10.dll!vtkSIProxyDefinitionManager::HandlePlugin(vtkPVPlugin * plugin) line 1202 C++
vtkRemotingServerManager-pv5.10.dll!vtkSIProxyDefinitionManager::vtkSIProxyDefinitionManager() line 445 C++
vtkRemotingServerManager-pv5.10.dll!vtkSIProxyDefinitionManager::New() line 420 C++
vtkRemotingServerManager-pv5.10.dll!vtkPVSessionCore::vtkPVSessionCore() line 288 C++
vtkRemotingServerManager-pv5.10.dll!vtkPVSessionCore::New() line 237 C++
vtkRemotingServerManager-pv5.10.dll!vtkSMSession::vtkSMSession(bool initialize_during_constructor, vtkPVSessionCore * preExistingSessionCore) line 63 C++
vtkRemotingServerManager-pv5.10.dll!vtkSMSession::New() line 46 C++
vtkRemotingServerManager-pv5.10.dll!vtkSMSession::ConnectToSelf() line 272 C++
pqCore-pv5.10.dll!pqObjectBuilder::createServer(const pqServerResource & resource, int connectionTimeout, vtkNetworkAccessManager::ConnectionResult & result) line 682 C++
[Inline Frame] pqApplicationComponents-pv5.10.dll!pqObjectBuilder::createServer(const pqServerResource &) line 98 C++
pqApplicationComponents-pv5.10.dll!pqAlwaysConnectedBehavior::serverCheck() line 83 C++
pqApplicationComponents-pv5.10.dll!pqAlwaysConnectedBehavior::pqAlwaysConnectedBehavior(QObject * parentObject) line 61 C++
pqApplicationComponents-pv5.10.dll!pqParaViewBehaviors::pqParaViewBehaviors(QMainWindow * mainWindow, QObject * parentObject) line 235 C++
paraview.exe!ParaViewMainWindow::ParaViewMainWindow() line 300 C++
paraview.exe!pqparaviewInitializer::Initialize(int argc, char * * argv) line 121 C++
paraview.exe!main(int argc, char * * argv) line 145 C++
[External Codes]

What is the value of the xmlcontent parameter in vtkSIProxyDefinitionManager::LoadConfigurationXMLFromString() when your locale setting is English vs Korean?

Depending on locale, the xmlContent value is:

Korean : 0x0000019a197100a0
English : 0x000001c3f528f420

That’s not helpful. You need to inspect the text content using the quick watch dialog (shift F9)

xmlContent value when locale is english.txt (2.1 KB)
xmlContent value when locale is korean.txt (49.7 KB)

ERROR: In C:\pv\pv\VTK\IO\XMLParser\vtkXMLParser.cxx, line 379
vtkPVXMLParser (000002EF88900710): Error parsing XML in stream at line 1059, column 36, byte index 49204: not well-formed (invalid token)

As mentioned in the output message, when locale is korean, broken characters are found in line 1059, column 36 of the xml file.
I don’t know why these broken letters went into this place.

That XML file contains a non-ASCII character where a hyphen should be.

Edit the file $paraview\VTKExtensions\IOImage\Resources\readers_pv_ioimage.xml and replace
high-bit–depth
with
high-bit-depth

Do you see the difference? Now regenerate with cmake and try again.