[jitsi-dev] Hang on Samsung NC20 netbook


#1

Hey,

Just tried to run Jitsi on Samsung NC20 Netbook Windows XP (nightly
build 3565) and it hangs at "Start detecting DirectShow capture
devices". I can see the javaw.exe process running, but there is no GUI
displayed or new entries in the log file.

Please see screenshoot below for more details:
http://dl.dropbox.com/u/3182365/Jitsi-NC20-Hang.jpg

Cheers
Chris


#2

Just tried to run Jitsi on Samsung NC20 Netbook Windows XP (nightly
build 3565) and it hangs at "Start detecting DirectShow capture
devices".

Please provide a thread dump and a heap dump so that we can make sure
that there is indeed a hang.

I can see the javaw.exe process running, but there is no GUI
displayed or new entries in the log file.

Please see screenshoot below for more details:
http://dl.dropbox.com/u/3182365/Jitsi-NC20-Hang.jpg

Are you sure it's not because of the java.net.MalformedURLException in
net.java.sip.communicator.plugin.provisioning visible in Notepad?

···

On Fri, Jul 1, 2011 at 10:04 PM, Chris Maciejewski <chris@wima.co.uk> wrote:


#3

Just tried to run Jitsi on Samsung NC20 Netbook Windows XP (nightly
build 3565) and it hangs at "Start detecting DirectShow capture
devices".

Please provide a thread dump and a heap dump so that we can make sure
that there is indeed a hang.

The application doesn't crash (it hangs or in other words stops
execution as described above)|, so there is no dump file available.

I can see the javaw.exe process running, but there is no GUI
displayed or new entries in the log file.

Please see screenshoot below for more details:
http://dl.dropbox.com/u/3182365/Jitsi-NC20-Hang.jpg

Are you sure it's not because of the java.net.MalformedURLException in
net.java.sip.communicator.plugin.provisioning visible in Notepad?

It is rather related to the camera, as when I disabled camera device
in Hardware Manager Jitis starts fine. Once Camera is enabled it hangs
with "Start detecting DirectShow capture devices" in the console
again.

I am happy to provide RDP access to this netbook if any of the
developers wants to have a look into this issue himself. Please email
me to arrange that.

Regards,
Chris

···

On 1 July 2011 21:18, Lyubomir Marinov <lubo@jitsi.org> wrote:

On Fri, Jul 1, 2011 at 10:04 PM, Chris Maciejewski <chris@wima.co.uk> wrote:


#4

Please provide a thread dump and a heap dump so that we can make sure
that there is indeed a hang.

The application doesn't crash (it hangs or in other words stops
execution as described above)|, so there is no dump file available.

I meant to have you create a Java thread dump using jstack.exe and a
Java heap dump using jmap.exe. Anyway, it may be hanging in the native
code.

Are you sure it's not because of the java.net.MalformedURLException in
net.java.sip.communicator.plugin.provisioning visible in Notepad?

It is rather related to the camera, as when I disabled camera device
in Hardware Manager Jitis starts fine. Once Camera is enabled it hangs
with "Start detecting DirectShow capture devices" in the console
again.

Great, thank you for clarifying. Does the camera work with
applications other than Jitsi?

I am happy to provide RDP access to this netbook if any of the
developers wants to have a look into this issue himself. Please email
me to arrange that.

Thank you for the opportunity! We'll first have to figure out among
ourselves who and when will take on the task of fixing it and we may
then contact you to arrange that.

···

On Sat, Jul 2, 2011 at 9:39 AM, Chris Maciejewski <chris@wima.co.uk> wrote:

On 1 July 2011 21:18, Lyubomir Marinov <lubo@jitsi.org> wrote:


#5

Please provide a thread dump and a heap dump so that we can make sure
that there is indeed a hang.

The application doesn't crash (it hangs or in other words stops
execution as described above)|, so there is no dump file available.

I meant to have you create a Java thread dump using jstack.exe and a
Java heap dump using jmap.exe. Anyway, it may be hanging in the native
code.

Please find below output of jstack and jmap. I checked out the latest
code (rev 8765) form SVN, started Jitsi by ant run. There were two
java.exe processes in the task manager. As I wasn't sure which one is
the right one, took stack and mem map of both. Process with lower PID
number is suffixed "-lower", process with higher PID number is
suffixed "-higher":

http://dl.dropbox.com/u/3182365/jisti-stack-lower.txt
http://dl.dropbox.com/u/3182365/jisti-stack-higher.txt

http://dl.dropbox.com/u/3182365/jitsi-jmap-lower.dump
http://dl.dropbox.com/u/3182365/jitsi-jmap-higher.dump

Are you sure it's not because of the java.net.MalformedURLException in
net.java.sip.communicator.plugin.provisioning visible in Notepad?

It is rather related to the camera, as when I disabled camera device
in Hardware Manager Jitis starts fine. Once Camera is enabled it hangs
with "Start detecting DirectShow capture devices" in the console
again.

Great, thank you for clarifying. Does the camera work with
applications other than Jitsi?

Yes, the camera works fine in other applications.

···

On 2 July 2011 20:55, Lyubomir Marinov <lubo@jitsi.org> wrote:

On Sat, Jul 2, 2011 at 9:39 AM, Chris Maciejewski <chris@wima.co.uk> wrote:

On 1 July 2011 21:18, Lyubomir Marinov <lubo@jitsi.org> wrote:

I am happy to provide RDP access to this netbook if any of the
developers wants to have a look into this issue himself. Please email
me to arrange that.

Thank you for the opportunity! We'll first have to figure out among
ourselves who and when will take on the task of fixing it and we may
then contact you to arrange that.


#6

Hi,

I was looking into why Jitsi doesn't start on my Samsung NC20 netbook
and it turns out the problem isn't related to the "Namuga 1.3M Webcam"
present in this machine or any other hardware, but to "CyberLink YouCam"
software which Samsung choose to pre-install.

It turns out Jitsi doesn't hang in Java code but in native jdirectshow.dll.
Specifically it hangs on ds_capture_device.cpp line 294:

ret = m_filterGraph->AddSourceFilterForMoniker(moniker, NULL, name,
&m_srcFilter);

Once I patched directshow with:

http://dl.dropbox.com/u/3182365/jdirectshow-debug.patch

what I am getting in the console is:

[java] Namuga 1.3M Webcam
  <-- "real" webcam found
[java] before m_filterGraph->AddSourceFilterForMoniker

[java] after m_filterGraph->AddSourceFilterForMoniker

[java] CyberLink Web Camera Filter
<-- "dummy" CyberLink webcam
[java] before m_filterGraph->AddSourceFilterForMoniker
[ hang ]

The trial of offending software can be downloaded from:
http://download.cnet.com/CyberLink-YouCam/3000-2348_4-10764658.html
(looking into their download statistics there might be quite a few people
out there which are having the same problem).

Best regards,
Chris


#7

Hey

Thanks for the digging!

The trial of offending software can be downloaded from:
http://download.cnet.com/CyberLink-YouCam/3000-2348_4-10764658.html
(looking into their download statistics there might be quite a few
people out there which are having the same problem).

Interesting piece of shit...
I installed it to see if I find anything in the filter graph, but apparently it works for me (after clicking away all the nasty please-buy-me stuff).

Assuming you still have YouCam installed, did you try configuring it not to use your real Webcam?
Is other software that uses the real WebCam working as expected?
Did you install a VisualStudio to compile JDirectShow as per the readme? If so, could you try to let Jitsi "hang", then attach the VisualStudio debugger to javaw.exe, pause the execution and see what the call stack of the DirectShow thread shows?

Regards,
Ingo


#8

Hi,

Hey

Thanks for the digging!

The trial of offending software can be downloaded from:
http://download.cnet.com/CyberLink-YouCam/3000-2348_4-10764658.html
(looking into their download statistics there might be quite a few
people out there which are having the same problem).

Interesting piece of shit...
I installed it to see if I find anything in the filter graph, but apparently it works for me (after clicking away all the nasty please-buy-me stuff).

Actually it turns out version 5 of CyberLink which can be downloaded
from the link above doesn't cause the problem.

It only occurs with earlier version 2.0 which comes pre-installed on
Samsung NC20. I copied it from Samsung "Software CD" and it can be
downloaded below:
http://dl.dropbox.com/u/3182365/CyberLink2.0.zip

Assuming you still have YouCam installed, did you try configuring it not to use your real Webcam?
Is other software that uses the real WebCam working as expected?

Haven't got any other software that would use web cam to test at the moment.

Did you install a VisualStudio to compile JDirectShow as per the readme? If so, could you try to let Jitsi "hang", then attach the VisualStudio debugger to javaw.exe, pause the execution and see what the call stack of the DirectShow thread shows?

Yes, used VisualStudio Express 2005 to compile JDirectShow. Will try
to attached debugger to javaw.exe and post results.

BTW: quick "fix" to the problem that works for me:
http://dl.dropbox.com/u/3182365/directshow.patch

Regards,
Chris

···

On 6 August 2011 21:18, Bauersachs Ingo <ingo.bauersachs@fhnw.ch> wrote:


#9

Chris,

Could you please try the attached patch?

Ingo

0001-Use-BindToObject-instead-of-AddSourceFilterForMonike.patch (845 Bytes)

···

-----Original Message-----
From: Chris Maciejewski [mailto:chris@wima.co.uk]
Sent: Samstag, 6. August 2011 22:31
To: dev@jitsi.java.net
Subject: [jitsi-dev] Re: Hang on Samsung NC20 netbook

Hi,

On 6 August 2011 21:18, Bauersachs Ingo <ingo.bauersachs@fhnw.ch> wrote:
> Hey
>
> Thanks for the digging!
>
>> The trial of offending software can be downloaded from:
>> http://download.cnet.com/CyberLink-YouCam/3000-2348_4-10764658.html
>> (looking into their download statistics there might be quite a few
>> people out there which are having the same problem).
>
> Interesting piece of shit...
> I installed it to see if I find anything in the filter graph, but
apparently it works for me (after clicking away all the nasty please-buy-
me stuff).

Actually it turns out version 5 of CyberLink which can be downloaded
from the link above doesn't cause the problem.

It only occurs with earlier version 2.0 which comes pre-installed on
Samsung NC20. I copied it from Samsung "Software CD" and it can be
downloaded below:
http://dl.dropbox.com/u/3182365/CyberLink2.0.zip

> Assuming you still have YouCam installed, did you try configuring it not
to use your real Webcam?
> Is other software that uses the real WebCam working as expected?

Haven't got any other software that would use web cam to test at the
moment.

> Did you install a VisualStudio to compile JDirectShow as per the readme?
If so, could you try to let Jitsi "hang", then attach the VisualStudio
debugger to javaw.exe, pause the execution and see what the call stack of
the DirectShow thread shows?

Yes, used VisualStudio Express 2005 to compile JDirectShow. Will try
to attached debugger to javaw.exe and post results.

BTW: quick "fix" to the problem that works for me:
http://dl.dropbox.com/u/3182365/directshow.patch

Regards,
Chris


#10

Hi Ingo,

Just tested your patch and can confirm it fixed the problem :slight_smile:

Jitsi starts and "CyberLink YouCam" can be seen in video devices drop
down list on "Video" tab.

Regards,
Chris

···

On 6 August 2011 23:22, Bauersachs Ingo <ingo.bauersachs@fhnw.ch> wrote:

Chris,

Could you please try the attached patch?

Ingo


#11

Seb,

Could you please try the attached patch?

Just tested your patch and can confirm it fixed the problem :slight_smile:
Jitsi starts and "CyberLink YouCam" can be seen in video devices drop
down list on "Video" tab.

I don't really have a clue what the difference between those two methods is. As you created all this code, could you have a look before it goes into trunk?

Thanks,
Ingo


#12

Hi,

I will look at this this week if time permits.

···

--
Seb

Le 07/08/11 12:13, Bauersachs Ingo a �crit :

Seb,

Could you please try the attached patch?

Just tested your patch and can confirm it fixed the problem :slight_smile:
Jitsi starts and "CyberLink YouCam" can be seen in video devices drop
down list on "Video" tab.

I don't really have a clue what the difference between those two methods is. As you created all this code, could you have a look before it goes into trunk?

Thanks,
Ingo