valgrind: points to unaddressable byte(s)

Pavel Sanda sanda at lyx.org
Fri Jun 21 14:16:32 UTC 2024


On Thu, Jun 20, 2024 at 02:00:08PM -0400, Scott Kostyshak wrote:
> When I export the English Welcome.lyx on the command line with the following command:
> 
>   lyx -e default Welcome.lyx
> 
> I get the following output:
> 
> ==8181== Syscall param waitid(infop) points to unaddressable byte(s)
> ==8181==    at 0x628925D: syscall (syscall.S:38)
> ==8181==    by 0x5B9A7A6: ??? (in /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.4.2)
> ==8181==    by 0x5B15AE8: ??? (in /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.4.2)
> ==8181==    by 0xD5743A: lyx::support::SystemcallPrivate::startProcess(QString const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::         allocator<char> > const&, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, bool) (repo/src/support/Systemcall.cpp:432)
> ==8181==    by 0xD55BBE: lyx::support::Systemcall::startscript(lyx::support::Systemcall::Starttype, std::__cxx11::basic_string<char, std::char_traits<char>,  std::allocator<char> > const&, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std:: char_traits<char>, std::allocator<char> > const&, bool) (repo/src/support/Systemcall.cpp:276)
> ==8181==    by 0x5EBE6E: lyx::VCS::doVCCommandCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, lyx::support::     FileName const&) (repo/src/VCBackend.cpp:48)
> ==8181==    by 0x6055F0: lyx::GIT::findFile(lyx::support::FileName const&) (repo/src/VCBackend.cpp:1846)
> ==8181==    by 0x5013DB: lyx::LyXVC::file_found_hook(lyx::support::FileName const&) (repo/src/LyXVC.cpp:88)
> ==8181==    by 0x2C9D2E: lyx::Buffer::readFile(lyx::support::FileName const&) (repo/src/Buffer.cpp:1243)
> ==8181==    by 0x2C9C9B: lyx::Buffer::readFile(lyx::support::FileName const&) (repo/src/Buffer.cpp:1233)
> ==8181==    by 0x2EAC2C: lyx::Buffer::loadThisLyXFile(lyx::support::FileName const&) (repo/src/Buffer.cpp:4963)
> ==8181==    by 0x2EB71B: lyx::Buffer::loadLyXFile() (repo/src/Buffer.cpp:4957)
> ==8181==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> 
> Is this something in LyX and worth fixing?

As far as I can see it points to process_->start
 QStringList arguments = QProcess::splitCommand(toqstr(latexEnvCmdPrefix(path, lpath)) + cmd_);
 QString command = (arguments.empty()) ? QString() : arguments.first();
 ...
 process_->start(command, arguments);

Both command and argument should be properly allocated.
Only thing coming to my mind that they might be empty, but I guess this should be handled by Qt?

On the other hand I just rerun with Qt 5.15 and see the same problem (among pages of other problems...)

Pavel


More information about the lyx-devel mailing list