[Samsung Epic 4G Touch] tmeader:
Could root be a cause of some app "hang" issues? (would appreciate devs looking)

So, after being really fed up with the fact that since the latest update the Fox News app very often will get into a state where it's stuck using ~50% CPU (likewise for Facebook App), and receiving no word back after emailing the devs, I decided to try and delve a bit deeper. Finally got strace running on my phone tonight and was able to discover this output the next time it got into the "hung" state (note, the app is still completely usable, it's just the CPU becomes pegged at 50% for the app... also, there's never any obvious messages in logcat, hence my attempts with strace):

app_101@android:/data # strace -p 1552
Process 1552 attached - interrupt to quit
futex(0x409b7f78, FUTEX_WAIT_PRIVATE, -2460, NULL) = 0
futex(0x409b7f74, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x409b7f74, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_MONOTONIC, {41871, 859736583}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff

) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41938, 717839115}) = 0
getpid() = 1552
gettid() = 1552
clock_gettime(CLOCK_MONOTONIC, {41938, 726950073}) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
clock_gettime(CLOCK_MONOTONIC, {41938, 727448031}) = 0
getpid() = 1552
getuid32() = 10057
epoll_wait(0x23, 0xbef4f450, 0x10, 0) = 0
clock_gettime(CLOCK_MONOTONIC, {41938, 728984198}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = -1 EINTR (Interrupted system call)
clock_gettime(CLOCK_MONOTONIC, {41940, 224115698}) = 0
getpid() = 1552
getuid32() = 10057
epoll_wait(0x23, 0xbef4f450, 0x10, 0) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41940, 226861031}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41953, 401456621}) = 0
getpid() = 1552
gettid() = 1552
clock_gettime(CLOCK_MONOTONIC, {41953, 402554246}) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
clock_gettime(CLOCK_MONOTONIC, {41953, 402836288}) = 0
getpid() = 1552
getuid32() = 10057
epoll_wait(0x23, 0xbef4f450, 0x10, 0) = 0
clock_gettime(CLOCK_MONOTONIC, {41953, 406251955}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41953, 587922288}) = 0
getpid() = 1552
gettid() = 1552
clock_gettime(CLOCK_MONOTONIC, {41953, 598259204}) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
clock_gettime(CLOCK_MONOTONIC, {41953, 627380080}) = 0
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
mprotect(0x51d88000, 108, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
cacheflush(0x51d88068, 0x51d8806c, 0, 0xfff, 0x409b8130) = 0
mprotect(0x51d88000, 108, PROT_READ|PROT_EXEC) = 0
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
mprotect(0x51d88000, 216, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
cacheflush(0x51d880d4, 0x51d880d8, 0, 0xfff, 0x409b8130) = 0
mprotect(0x51d88000, 216, PROT_READ|PROT_EXEC) = 0
getpid() = 1552
getuid32() = 10057
epoll_wait(0x23, 0xbef4f450, 0x10, 0) = 0
clock_gettime(CLOCK_MONOTONIC, {41953, 645792663}) = 0
ioctl(9, 0xc0186201, 0xbef4f590) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = -1 EINTR (Interrupted system call)
clock_gettime(CLOCK_MONOTONIC, {41954, 869117871}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41955, 55892538}) = 0
getpid() = 1552
getuid32() = 10057
epoll_wait(0x23, 0xbef4f450, 0x10, 0) = 0
clock_gettime(CLOCK_MONOTONIC, {41955, 95623955}) = 0
epoll_wait(0x23, 0xbef4f450, 0x10, 0xffffffff) = 1
read(33, "W"..., 16) = 1
clock_gettime(CLOCK_MONOTONIC, {41960, 829853457}) = 0
getpid() = 1552
gettid() = 1552
clock_gettime(CLOCK_MONOTONIC, {41960, 830388416}) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
ioctl(9, 0xc0186201, 0xbef4e430) = 0
clock_gettime(CLOCK_MONOTONIC, {41960, 883238124}) = 0
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b816c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x409b8164, FUTEX_WAKE_PRIVATE, 1) = 1

During this, the screen slept twice, so there was two unlocks in there (and the subsequent returns to the terminal app). Other than that, it's just the strace output. Mainly the futex lines though are what looked suspicious. It's obviously waiting for SOMETHING... that's just never firing. A quick search came across this (hence the reason for my post):

http://lkml.indiana.edu/hypermail/linux/kernel/0903.0/02451.html

I know that just because the phone is rooted, apps aren't by default running as root... just trying to figure out what could be causing this odd behavior, since the devs are no f'ing help thus far.... and I'm bored waiting for the OTA :)

Thanks.