Bug 209670 - does frysk hang after stopping multithreaded application
Summary: does frysk hang after stopping multithreaded application
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: frysk
Version: rawhide
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Nurdin Premji
QA Contact: Len DiMaggio
URL:
Whiteboard:
: 209593 (view as bug list)
Depends On: 209445
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-10-06 19:02 UTC by Andrew Cagney
Modified: 2007-11-30 22:11 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-12-15 19:36:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Frysk Core warning (724.45 KB, image/png)
2006-10-10 12:03 UTC, Michal Babej
no flags Details
output from running "fstack" (5.74 KB, text/plain)
2006-10-10 12:05 UTC, Michal Babej
no flags Details

Description Andrew Cagney 2006-10-06 19:02:00 UTC
+++ This bug was initially created as a clone of Bug #209445 +++

Reproducer, found in original bug should be tested against frysk.

Reproducer, should be pushed into frysk's bug database.

Comment 1 Andrew Cagney 2006-10-06 19:04:10 UTC
put against rawhide for moment

Comment 2 Michal Babej 2006-10-10 11:59:27 UTC
Hello folks,

i'm running into an issue with frysk from RawHide which might be related to
this. (i must mention i'm new to frysk) Problems started after i tried to debug
some multithreaded apps like Totem or Rhythmbox. 

If i understand correctly, the "Clone observer" should resume program execution
after it does its actions. However, one thread always ends up in
"blockedContinue" state. 

I've also got some "Frysk Core Warnings" which i'm not sure whether are Frysk
problem or the debugged program's (see attachment).

I also tried the "fstack" program which finished with an exception (see
attachments).

frysk version: frysk-0.0.1.2006.10.02.rh1-1.fc6

Comment 3 Michal Babej 2006-10-10 12:03:59 UTC
Created attachment 138128 [details]
Frysk Core warning

Comment 4 Michal Babej 2006-10-10 12:05:04 UTC
Created attachment 138129 [details]
output from running "fstack"

Comment 5 Nurdin Premji 2006-10-10 14:29:36 UTC
for the fstack problem that had to do with trying to do a stack backtrace on a
thread that was just removed. I always wondered what would happen if I did that.
Anyhow the observer used has been changed over to ProcAttachedObserver rather
than ProcTasksObserver, the former of which does not have a taskRemoved call.

I'll check this out with totem and rhythmbox. I was using evolution as my
multithreaded test process.

Comment 6 Michal Babej 2006-10-11 16:10:41 UTC
*** Bug 209593 has been marked as a duplicate of this bug. ***

Comment 7 Nurdin Premji 2006-12-14 22:30:01 UTC
fstack now works on rhythmbox

ps aux | grep rhythm
npremji   3091  2.4  1.0  75968 16368 ?        Sl   17:28   0:00 rhythmbox
npremji   3125  0.0  0.0   3880   672 pts/5    R+   17:28   0:00 grep rhythm
[npremji@tow eclipse-build]$ ./frysk-core/frysk/bindir/fstack 3091
Task #3091
#0 0x5b8402 in __kernel_vsyscall ()
#1 0x4aa6d503 in __poll ()
#2 0x0 in null ()
#3 0x4ab7f6c9 in g_main_loop_run ()
#4 0x4de7fbe4 in gtk_main ()
#5 0x8069c41 in main ()
#6 0x4a9bff2c in __libc_start_main ()
#7 0x80696a1 in _start ()
Task #3101
#0 0x5b8402 in __kernel_vsyscall ()
#1 0x4ab2142c in pthread_cond_timedwait ()
#2 0x0 in null ()
#3 0x0 in null ()
#4 0x4ab5f7b6 in g_async_queue_timed_pop ()
#5 0x8143c38 in _start ()
#6 0x0 in null ()
#7 0x4ab1d3db in start_thread ()
#8 0x4aa7706e in clone ()


Comment 8 Nurdin Premji 2006-12-15 19:36:58 UTC
Actually more importantly the installed version of fstack works on rhythmbox.
 which fstack
/usr/bin/fstack
[npremji@tow npremji]$ fstack -version
0.0.1.2006.12.01.rh1
[npremji@tow npremji]$ ps aux | grep rhythmbox
npremji  12370  0.2  1.0  74964 16352 ?        Sl   14:10   0:00 rhythmbox
npremji  12464  0.0  0.0   3880   672 pts/1    R+   14:13   0:00 grep rhythmbox
[npremji@tow npremji]$ fstack 12370
Task #12370
#0 0xbdb402 in __kernel_vsyscall ()
#1 0x4aa6d503 in __poll ()
#2 0x4ab7f743 in g_main_context_check ()
#3 0x4ab7f6c9 in g_main_loop_run ()
#4 0x4de7fbe4 in gtk_main ()
#5 0x8069c41 in main ()
#6 0x4a9bff2c in __libc_start_main ()
#7 0x80696a1 in _start ()
Task #12380
#0 0xbdb402 in __kernel_vsyscall ()
#1 0x4ab2142c in pthread_cond_timedwait ()
#2 0x4af77237 in _init ()
#3 0x4ab5f731 in g_async_queue_sort ()
#4 0x4ab5f7b6 in g_async_queue_timed_pop ()
#5 0x80d70b8 in rhythmdb_entry_move_to_trash ()
#6 0x4ab9a17f in g_thread_create_full ()
#7 0x4ab1d3db in start_thread ()
#8 0x4aa7706e in clone ()


Also I'm not entirely sure what was done with the frysk monitor, I tried running
it with a new session with rhythmbox and a clone observer and so far no crashes.
Although the main task is still in the state blockContinue.


Note You need to log in before you can comment on or make changes to this bug.