Apache OpenOffice (AOO) Bugzilla – Issue 113115
vcl: psp::SystemQueueInfo::run SEGV during exit
Last modified: 2010-11-10 10:55:07 UTC
At least on DEV300_m84 based CWS sb123 under unxsoli4 non-pro, terminating an soffice.bin instance at the end of a very short-running test (comphelper/qa/complex/comphelper/SequenceOutputStreamUnitTest.java), it crashed with t@8 (l@8) terminated by signal SEGV (access to address exceeded protections) 0xfec960b3: rtl_string_newFromStr+0x004f: movb %al,(%ecx) (dbx) where current thread: t@8 =>[1] rtl_string_newFromStr(0xf14eeb28, 0xf14eeb40, 0xfefa0c40, 0xfd6b5349), at 0xfec960b3 [2] psp::SystemQueueInfo::run(0xf1858f70), at 0xfd6b54f1 [3] threadFunc(0xf1858f70, 0xf14eefb0, 0xf14eefd8, 0xf14eefb0), at 0xfd6b8bc5 [4] osl_thread_start_Impl(0x847f8c8), at 0xfec7ba4f [5] _thr_setup(0xfeab3a00), at 0xfef271c0 [6] _lwp_start(0xfef9fcd4, 0x18, 0x0, 0xfd72e264, 0xfef9fcd4, 0x8a45bec), at 0xfef274b0 (dbx) where t@1 current thread: t@1 =>[1] clear_lockbyte(0xfec01354), at 0xfef1ec9c [2] mutex_unlock_queue(0xfec01348, 0x0), at 0xfef200f8 [3] __mutex_unlock(0xfec01348, 0x0, 0xfee3f7b0, 0xfecac6ba), at 0xfef21265 [4] rtl_cache_slab_free(0xfec01300, 0xf6a438e4, 0x80453c4, 0xfecac862), at 0xfecac7c0 [5] rtl_cache_magazine_clear(0xfec01300, 0xf4b2ad9c), at 0xfecac89d [6] rtl_cache_deactivate(0xfec01300), at 0xfecad20b [7] rtl_cache_destroy(0xfec01300, 0x0, 0x2000, 0xfecabb3a), at 0xfecad547 [8] rtl_memory_fini(0xfeffb818, 0xf1ec06e4, 0xfefc0210, 0x8045488, 0xfefd4de1, 0xfeffdd98), at 0xfecabba4 [9] _fini(0xfeffdd98, 0xfeffb28c, 0xfeffb818, 0x0, 0xfecb758c, 0x80454a4), at 0xfecb75df [10] call_fini(0xfeffb28c, 0xf1ec0550), at 0xfefd4de1 [11] atexit_fini(0x80457c8, 0x80454a4, 0xfef9d000, 0xfefa2e40, 0x80454dc, 0xfeea4d02), at 0xfefd4f70 [12] _exithandle(0xfeffb818, 0x8050a56, 0x0, 0x80509c0, 0x8050bf0, 0xfefd4f14), at 0xfeeb2461 [13] exit(0x7, 0x8045830, 0x8045898, 0x80458a7, 0x80458bb, 0x80458c6), at 0xfeea4d02
meaning that runner thread needs to be caught at shutdown. Currently that thread is not terminated and the owning object leaked, that is not good anyway. Basically this comes from history - there were systems on which that thread (and the equivalent thread for CUPS systems) never returned (which would block shutdown this way). But that is mostly history and not a reason anymore to not shutdown cleanly.
psp::SystemQueueInfo will now be joined during shutdown. fixed in CWS sb123
v
integrated in DEV300m90, closing