CppunitTest_sc_macros_test hanging indefinitely with font scaling on Windows

Kaganski Mike mikekaganski at hotmail.com
Sat Jun 8 03:35:12 UTC 2019


Hi!

On Windows 10 x64 (1903 build 18362.116), having "all items scaling" set 
to 150%, with current master (now at 
b170256fb6ebaf774b02b89835b19d9f3a1afb89) built for x64 in dbgutil 
config, running

 > make CppunitTest_sc_macros_test

reliably hangs indefinitely. It never returns from 
Scheduler::ProcessEventsToIdle (specifically, never leaves the while( 
Application::Reschedule( true ) ) loop); the call stack is

> vcllo.dll!Scheduler::ProcessEventsToIdle() Line 480
> 	at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(480)
> test.dll!test::BootstrapFixture::setUp() Line 119
> 	at C:\cygwin\home\user\lode\dev\core\test\source\bootstrapfixture.cxx(119)
> subsequenttest.dll!UnoApiTest::setUp() Line 28
> 	at C:\cygwin\home\user\lode\dev\core\test\source\unoapi_test.cxx(28)
> test_sc_macros_test.dll!CppUnit::TestCaller<ScMacrosTest>::setUp() Line 181
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\include\cppunit\TestCaller.h(181)
> cppunitd_dll.dll!CppUnit::TestCaseMethodFunctor::operator()() Line 33
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestCase.cpp(33)
> vclbootstrapprotector.dll!`anonymous namespace'::Protector::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & __formal) Line 49
> 	at C:\cygwin\home\user\lode\dev\core\test\source\vclbootstrapprotector.cxx(49)
> cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\ProtectorChain.cpp(21)
> unobootstrapprotector.dll!`anonymous namespace'::Prot::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & __formal) Line 90
> 	at C:\cygwin\home\user\lode\dev\core\unotest\source\cpp\unobootstrapprotector\unobootstrapprotector.cxx(90)
> cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\ProtectorChain.cpp(21)
> unoexceptionprotector.dll!`anonymous namespace'::Prot::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 63
> 	at C:\cygwin\home\user\lode\dev\core\unotest\source\cpp\unoexceptionprotector\unoexceptionprotector.cxx(63)
> cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\ProtectorChain.cpp(21)
> cppunitd_dll.dll!CppUnit::DefaultProtector::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 15
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\DefaultProtector.cpp(15)
> cppunitd_dll.dll!CppUnit::ProtectorChain::ProtectFunctor::operator()() Line 21
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\ProtectorChain.cpp(21)
> cppunitd_dll.dll!CppUnit::ProtectorChain::protect(const CppUnit::Functor & functor, const CppUnit::ProtectorContext & context) Line 86
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\ProtectorChain.cpp(86)
> cppunitd_dll.dll!CppUnit::TestResult::protect(const CppUnit::Functor & functor, CppUnit::Test * test, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & shortDescription) Line 182
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestResult.cpp(182)
> cppunitd_dll.dll!CppUnit::TestCase::run(CppUnit::TestResult * result) Line 87
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestCase.cpp(87)
> cppunitd_dll.dll!CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller) Line 65
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestComposite.cpp(65)
> cppunitd_dll.dll!CppUnit::TestComposite::run(CppUnit::TestResult * result) Line 24
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestComposite.cpp(24)
> cppunitd_dll.dll!CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller) Line 65
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestComposite.cpp(65)
> cppunitd_dll.dll!CppUnit::TestComposite::run(CppUnit::TestResult * result) Line 24
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestComposite.cpp(24)
> cppunitd_dll.dll!CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult * result) Line 48
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestRunner.cpp(48)
> cppunitd_dll.dll!CppUnit::TestResult::runTest(CppUnit::Test * test) Line 150
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestResult.cpp(150)
> cppunitd_dll.dll!CppUnit::TestRunner::run(CppUnit::TestResult & controller, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & testPath) Line 96
> 	at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\cppunit\src\cppunit\TestRunner.cpp(96)
> cppunittester.exe!`anonymous namespace'::ProtectedFixtureFunctor::run() Line 316
> 	at C:\cygwin\home\user\lode\dev\core\sal\cppunittester\cppunittester.cxx(316)
> cppunittester.exe!sal_main() Line 466
> 	at C:\cygwin\home\user\lode\dev\core\sal\cppunittester\cppunittester.cxx(466)
> cppunittester.exe!main(int argc, char * * argv) Line 373
> 	at C:\cygwin\home\user\lode\dev\core\sal\cppunittester\cppunittester.cxx(373)
> cppunittester.exe!invoke_main() Line 79
> 	at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79)
> cppunittester.exe!__scrt_common_main_seh() Line 288
> 	at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
> cppunittester.exe!__scrt_common_main() Line 331
> 	at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
> cppunittester.exe!mainCRTStartup() Line 17
> 	at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)
> kernel32.dll!BaseThreadInitThunk()
> ntdll.dll!RtlUserThreadStart()

The CppUnit::TestCase::m_name is 
"ScMacrosTest::testPasswordProtectedStarBasic"; yet, if instead I run

 > make CppunitTest_sc_macros_test 
CPPUNIT_TEST_NAME="ScMacrosTest::testPasswordProtectedStarBasic"

it finishes normally. Also setting "all items scaling" to 100% allows 
the whole test to pass.

-- 
Best regards,
Mike Kaganski


More information about the LibreOffice mailing list