pstree -p: ... |-xterm(32006)---bash(32007)---soffice.bin(790)---soffice.bin(819)-+-soffice.bin(820) | |-soffice.bin(821) | |-soffice.bin(822) | `-soffice.bin(823) ... Backtrace of 790 (CPU utilization 100%) obtained by gdb attached to PID=790 #0 0x40380693 in FreetypeServerFont::GetGlyphBitmap8 () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #1 0x40365757 in X11GlyphPeer::GetGlyphId () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #2 0x4035f0cc in SalGraphicsData::DrawServerAAFontString () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #3 0x403600ab in SalGraphicsData::DispatchServerFontString () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #4 0x4036022c in SalGraphicsData::DrawServerFontString () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #5 0x40360de3 in SalGraphics::DrawTextArray () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #6 0x4028e476 in OutputDevice::ImplDrawTextDirect () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #7 0x4028eaef in OutputDevice::ImplDrawText () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #8 0x4029045c in OutputDevice::DrawTextArray () from /usr/opt/OpenOffice.org641/program/libvcl641li.so #9 0x4522cb4f in SwFntObj::DrawText () from /usr/opt/OpenOffice.org641/program/libsw641li.so #10 0x4523725f in SwSubFont::_DrawText () from /usr/opt/OpenOffice.org641/program/libsw641li.so #11 0x451f50e9 in SwTxtPaintInfo::_DrawText () from /usr/opt/OpenOffice.org641/program/libsw641li.so #12 0x45210b4c in SwTxtPortion::Paint () from /usr/opt/OpenOffice.org641/program/libsw641li.so #13 0x45201cfc in SwTxtPainter::DrawTextLine () from /usr/opt/OpenOffice.org641/program/libsw641li.so #14 0x451f2d01 in SwTxtFrm::Paint () from /usr/opt/OpenOffice.org641/program/libsw641li.so #15 0x451ced14 in SwLayoutFrm::Paint () from /usr/opt/OpenOffice.org641/program/libsw641li.so #16 0x451ced14 in SwLayoutFrm::Paint () from /usr/opt/OpenOffice.org641/program/libsw641li.so #17 0x451ce5f2 in SwRootFrm::Paint () from /usr/opt/OpenOffice.org641/program/libsw641li.so #18 0x450d005d in ViewShell::ImplEndAction () from /usr/opt/OpenOffice.org641/program/libsw641li.so #19 0x450b09d4 in SwCrsrShell::EndAction () from /usr/opt/OpenOffice.org641/program/libsw641li.so #20 0x450ad2b4 in SwEditShell::EndAllAction () from /usr/opt/OpenOffice.org641/program/libsw641li.so #21 0x4509d6c7 in SwEditShell::SetAttr () from /usr/opt/OpenOffice.org641/program/libsw641li.so #22 0x45657722 in SwBaseShell::ExecTxtCtrl () from /usr/opt/OpenOffice.org641/program/libsw641li.so #23 0x4566f6a6 in SfxStubSwTextShellExecTxtCtrl () from /usr/opt/OpenOffice.org641/program/libsw641li.so #24 0x4239989b in SfxDispatcher::Call_Impl () from /usr/opt/OpenOffice.org641/program/libsfx641li.so #25 0x4239a9aa in SfxDispatcher::_Execute () from /usr/opt/OpenOffice.org641/program/libsfx641li.so -------------------------------- STRACE RESULTS: *** PID=790 *** [kev] tmp> fgrep open strace.out.790 | tail -n 12 open("/proc/790/status", O_RDONLY) = 26 open("/opt/OpenOffice.org641/share/autocorr/acor1033.dat", O_RDONLY) = 26 open("/opt/OpenOffice.org641/share/autocorr/acor1033.dat", O_RDONLY) = 26 open("/usr/opt/OpenOffice.org641/program/libucppkg1.so", O_RDONLY) = 26 open("/opt/OpenOffice.org641/share/autocorr/acor1033.dat", O_RDONLY) = 26 open("/home/users/markov/OpenOffice.org641/user/temp/soffice.tmp/sv137.tmp/sv138.tmp", O_RDWR|O_CREAT, 0666) = 33 open("/home/users/markov/OpenOffice.org641/user/temp/soffice.tmp/sv137.tmp", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 33 open("/home/users/markov/OpenOffice.org641/user/temp/soffice.tmp/sv137.tmp/sv138.tmp", O_RDWR) = 33 open("/home/users/markov/OpenOffice.org641/user/temp/soffice.tmp/sv137.tmp/sv138.tmp", O_RDWR) = 33 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 [kev] tmp> tail -n 25 strace.out.790 sched_yield() = 0 select(5, [4], NULL, [4], {0, 10000}) = 1 (in [4], left {0, 10000}) select(5, [4], NULL, [], {0, 0}) = 1 (in [4], left {0, 0}) ioctl(4, 0x541b, [32]) = 0 read(4, "\5\1J_\343\221\32\3321\0\0\0\34\0 \3\0\0\0\0\'\3C\2t\2"..., 32) = 32 times({tms_utime=1067, tms_stime=152, tms_cutime=10, tms_cstime=9}) = 52507315 times({tms_utime=1067, tms_stime=152, tms_cutime=10, tms_cstime=9}) = 52507315 gettimeofday({1008678753, 537969}, NULL) = 0 times({tms_utime=1067, tms_stime=152, tms_cutime=10, tms_cstime=9}) = 52507315 time(NULL) = 1008678753 times({tms_utime=1067, tms_stime=152, tms_cutime=10, tms_cstime=9}) = 52507316 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 fstat64(26, {st_mode=S_IFREG|0644, st_size=118752, ...}) = 0 old_mmap(NULL, 118752, PROT_READ, MAP_SHARED, 26, 0) = 0x46527000 close(26) = 0 munmap(0x46527000, 118752) = 0 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 fstat64(26, {st_mode=S_IFREG|0644, st_size=118752, ...}) = 0 old_mmap(NULL, 118752, PROT_READ, MAP_SHARED, 26, 0) = 0x46527000 close(26) = 0 munmap(0x46527000, 118752) = 0 open("/usr/lib/X11/fonts/TrueType/Webdings.ttf", O_RDONLY) = 26 fstat64(26, {st_mode=S_IFREG|0644, st_size=118752, ...}) = 0 old_mmap(NULL, 118752, PROT_READ, MAP_SHARED, 26, 0) = 0x46527000 close(26) = 0 *** "open" in other pids: *** [kev] tmp> fgrep open strace.out.8?? | tail -n 12 *** PID=819, 820, ... *** poll([kev] tmp> tail -n 20 strace.out.819 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll([{fd=7, events=POLLIN}], 1, 2000) = 0 getppid() = 790 poll( [kev] tmp> tail -n 20 strace.out.820 gettimeofday({1008678781, 490697}, NULL) = 0 nanosleep({9, 999408000}, NULL) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 gettimeofday({1008678791, 500268}, NULL) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0 gettimeofday({1008678791, 501154}, NULL) = 0 nanosleep({9, 999114000}, NULL) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 gettimeofday({1008678801, 510407}, NULL) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0 gettimeofday({1008678801, 511564}, NULL) = 0 nanosleep({9, 998843000}, NULL) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 gettimeofday({1008678811, 520896}, NULL) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0 gettimeofday({1008678811, 521872}, NULL) = 0 nanosleep({9, 999024000}, [kev] tmp> tail -n 20 strace.out.821 accept(10, [kev] tmp> tail -n 20 strace.out.822 gettimeofday({1008678714, 570702}, NULL) = 0 nanosleep({597, 334682000}, [kev] tmp> tail -n 20 strace.out.823 time(NULL) = 1008678813 sched_yield() = 0 poll([{fd=20, events=POLLIN}], 1, 200) = 0 time(NULL) = 1008678813 sched_yield() = 0 poll([{fd=20, events=POLLIN}], 1, 200) = 0 time(NULL) = 1008678814 write(20, "\27\0\2\0\241\0\0\0", 8) = 8 read(20, "\1\262\332\1\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\1"..., 32) = 32 sched_yield() = 0 poll([{fd=20, events=POLLIN}], 1, 200) = 0 time(NULL) = 1008678814 sched_yield() = 0 poll([{fd=20, events=POLLIN}], 1, 200) = 0 time(NULL) = 1008678814 sched_yield() = 0 poll([{fd=20, events=POLLIN}], 1, 200) = 0 time(NULL) = 1008678814 sched_yield() = 0 poll( --------------