[haiku-bugs] Re: [Haiku] #8007: [app_server] fully unresponsive when resizing window of big textfile

  • From: "Pete" <trac@xxxxxxxxxxxx>
  • Date: Sat, 05 Nov 2011 23:08:07 -0000

#8007: [app_server] fully unresponsive when resizing window of big textfile
----------------------------------+----------------------------
   Reporter:  ttcoder             |      Owner:  axeld
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Servers/app_server  |    Version:  R1/Development
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Comment (by Pete):

 Replying to [comment:5 bonefish]:
 >
 > There are debugging tools to analyze such a situation. The
 `scheduling_recorder` command line tool records scheduling data while it
 runs (only parameter in this case would be the output file into which it
 writes the data). It should be started immediately before running the test
 (i.e. the resizing itself) and stopped (Ctrl-C) when done. The resulting
 file is then passed as command line argument to `DebugAnalyzer`, a GUI app
 that allows to analyze various aspects of scheduling and locking behavior.

 I tried this, but I'm afraid DebugAnalyzer just crashed. I first did:


 {{{
 scheduling_recorder sched.rec StyledEdit costume-designers.list
 }}}
 and got a 5MB file "sched.rec" Then did:

 {{{
 DebugAnalyser sched.rec
 }}}
 The Terminal just spewed (and overflowed with) a lot of lines like:

 {{{
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown previous thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown previous thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown previous thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown previous thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown thread: 5387
 Enqueued in run queue event for unknown thread: 5387
 Schedule event for unknown previous thread: 5387
 Schedule event for unknown thread: 5387
 .....
 Enqueued in run queue event for unknown thread: 5384
 Schedule event for unknown thread: 5384
 Enqueued in run queue event for unknown thread: 5383
 Schedule event for unknown thread: 5383
 Enqueued in run queue event for unknown thread: 5384
 Enqueued in run queue event for unknown thread: 5383
 Schedule event for unknown previous thread: 5383
 Schedule event for unknown thread: 5384
 Schedule event for unknown thread: 5383
 Enqueued in run queue event for unknown thread: 5383
 Schedule event for unknown previous thread: 5383
 Schedule event for unknown thread: 5383
 Schedule event for unknown previous thread: 5383
 Enqueued in run queue event for unknown thread: 5382
 Schedule event for unknown thread: 5382
 Schedule event for unknown previous thread: 5382
 Enqueued in run queue event for unknown thread: 5382
 Schedule event for unknown thread: 5382
 Schedule event for unknown previous thread: 5382
 }}}
 and went to the debugger.  This was the trace:

 {{{
 Thread 5403 caused an exception: Segment violation
 [....]
 [Switching to team /boot/common/bin/DebugAnalyzer sched.rec (5389) thread
 model loader (5403)]
 0x00266a2d in ModelLoader::_SetThreadEvents ()
 (gdb) bt
 #0  0x00266a2d in ModelLoader::_SetThreadEvents ()
 #1  0x00265bb8 in ModelLoader::_Load ()
 #2  0x002654bc in ModelLoader::Load ()
 #3  0x00264e71 in AbstractModelLoader::_Loader ()
 #4  0x00264e3f in AbstractModelLoader::_LoaderEntry ()
 #5  0x005cc327 in thread_entry () from /boot/system/lib/libroot.so
 #6  0x78137fec in ?? ()
 (gdb)
 }}}
 Any thoughts?

 (Just to be sure, I tried the way you said -- running scheduling_recorder
 from the Terminal and starting StyledEdit directly (by clicking on the
 file).  This way, I found I couldn't even quit scheduling_recorder with
 ctl-C!  Nor did it quit when I closed the terminal.  I had to do a quick
 'ps -a' to find and kill it, by which time the recording had reached
 25MB...  Trying DebugAnalyzer on that file had the same crash as before.)

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8007#comment:6>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: