[jitsi-dev] Analysis to find cause of Echo Canceller Failing For Latency


#1

Hi,

... there were a time when echo cancelling worked pretty good. Since about one week, unfortunately the results deteriorated.

I suspect links with the new screen sharing features (because turning on desktop streaming causes latency and subsequent falure of echo cancelling almost immediately)

As this is a longstanding problem I tried to analyze with visualvm. So I made at thread dump at a time when Jitsi was connected to my remote Asterisk echo app - and in a mode of high latency (failed echo canceller, audio feedback) - (jitsi_dump1) and another one with a fresh call after that, with no latency and working echo canceller (jitsi_dump2)

Due to some nasty experiences with parallel processes in the past (Unix shell, not Java), I suspect some race condition or stacking up of parallel instances of the same process, where the scheduler starts the process again before the first instance has terminated.

(I suspect one of these native ones - or something that has to to with audio grabbing). That explains why the effect seems to be triggert by activity- no matter how strong the cpu is.)

Unfortunately, I'm just beginning to discover visualvm, but perhaps someone else with more experience with that tool and can give me a hint, where to look.

Thank you in advance
Conrad

jitsi_dump_1 (72.1 KB)

jitsi_dump_2 (90.6 KB)


#2

Hi Conrad,

I don't immediately see a problem in the two thread dumps that you've
attached. I'd personally suggest creating and analyzing system-wide
profiles, for example, created with OProfile (with Java profiling
enabled).

Regards,
Lyubomir