locked
Java Web Start not working with per session virtual IP RRS feed

  • Question

  • We are running RDS on 2008 R2, using per session virtual IP, and we are unable to run any applications that use Java Web Start (we've tried 3 so far).

    The JNLP file downloads and javaws.exe launches to run this, but never gets any further. The process just drops to about 200K of memory and stays inactive.

    I have run Wireshark to see what is happening from a network point of view and there is no traffic after the download of the JNLP file. This is in comparison to running from my PC, where javaws downloads the individual files referenced in the JNLP file and then launches javaw.exe to run the code.

    I have turned off virtual IP on a test server and this allows things to work as expected, so it is definitely the interaction with virtual IP that is causing the problem. I suspect that the security sandboxing that Java Web Start does is causing it to attempt to use the main IP of the server and that RDS is preventing it from doing so (or something like that).

    Has anyone else had the same issue? Any ideas on resolving this?

    Thursday, April 14, 2011 10:32 AM

All replies

  • Hi,

     

    Whether you are using DHCP server for Remote Desktop IP Virtualization. If yes, you can refer to the Deploying Remote Desktop IP Virtualization Step-by-Step Guide to check if anything missed.

    http://technet.microsoft.com/en-us/library/ee308290(WS.10).aspx

     

    You can also try to using Static IP Addresses for Remote Desktop IP Virtualization, then run Java applications again to see whether the same issue still exists.

    http://technet.microsoft.com/en-us/library/ee382306(WS.10).aspx

     


    Technology changes life……
    Tuesday, April 19, 2011 2:25 AM
  • Thanks for the reply.

    We are using a local pool of IP addresses on each server, specfied by a range. As per the 2nd article you mentioned, I tried setting this up as a static list of IPs, instead of a range. When I did this, I got the following error in the logs and IP virtualization was disabled:

    Log Name:      Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin
    Source:        Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP
    Date:          19/04/2011 13:32:54
    Event ID:      114
    Task Category: None
    Level:         Error
    Keywords:     
    User:          SYSTEM
    Computer:      xxx
    Description:
    Remote Desktop IP Virtualization could not load C:\Windows\system32\TSVIPool.dll. Error code: 0x80070002
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP" Guid="{6BA29EDF-A2F4-4212-B06B-6D5712210652}" />
        <EventID>114</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2011-04-19T12:32:54.950243200Z" />
        <EventRecordID>2278</EventRecordID>
        <Correlation />
        <Execution ProcessID="864" ThreadID="4356" />
        <Channel>Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin</Channel>
        <Computer>xxx</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <UserData>
        <EventXML xmlns:auto-ns2="http://schemas.microsoft.com/win/2004/08/events" xmlns="Event_NS">
          <Param1>C:\Windows\system32\TSVIPool.dll</Param1>
          <Param2>0x80070002</Param2>
        </EventXML>
      </UserData>
    </Event>

    It is not clear from the article exactly how to set this up, so I am not sure if I have done something incorretly. eg. Is the IPPool string value required for this, or is this just if specified by a range. I tried removing this, as well as removing the subnet mask value. I either got the same error as above, or got a value from DHCP (ie. pool not working).

    Can you advise which values/keys are required for an IP pool with a static list of addresses, rather than for a range?

    Wednesday, April 20, 2011 1:45 PM
  • Hello Chris,

    Thank you for your question.

    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.

    Thank you for your understanding and support.

    Technology changes life……
    Monday, April 25, 2011 12:21 PM
  • Please review this KB

    2402260 Possible delays while assigning Virtual IP addresses in Remote Desktop Session Host
    http://support.microsoft.com/default.aspx?scid=kb;en-US;2402260

    Try the workaround with a 10sec delay to start with for troubleshooting.

    Workaround: Configure RDS Session Initial Program (Startup program) to run with a startup script (logon script) and introduce a 1-3 second delay into the execution of any process which has a requirement of a separate IP Address for the program to start and run.

     

     


    Sumesh P - Microsoft Online Community Support
    • Proposed as answer by Sumesh P Tuesday, May 10, 2011 12:54 PM
    Thursday, April 28, 2011 2:10 PM
  • were you able to try this out?
    Sumesh P - Microsoft Online Community Support
    Wednesday, May 4, 2011 4:33 PM
  • Hello,

     

    I have the same problem with a win 2008 r2 with IP virtualization enabled.
    I receive a new IP-address if I check with ipconfig. So the settings for VIP seems alright.

    Java web start loads but I doesn't seem to load javaw.exe
    javaws.exe stays in the processes but it doesn't do anything.

    Already tried a static pool but I doesn't seem to work.

    What else can I try?

     

    Thank you.


    Tuesday, May 24, 2011 2:40 PM
  • Please review this KB

    2402260 Possible delays while assigning Virtual IP addresses in Remote Desktop Session Host
    http://support.microsoft.com/default.aspx?scid=kb;en-US;2402260

    Try the workaround with a 10sec delay to start with for troubleshooting.

    Workaround: Configure RDS Session Initial Program (Startup program) to run with a startup script (logon script) and introduce a 1-3 second delay into the execution of any process which has a requirement of a separate IP Address for the program to start and run.


    Sumesh P - Microsoft Online Community Support
    Wednesday, May 25, 2011 2:34 AM
  • Hello,

    - I've tried with static IP in the registry
    - and also tried with a startup script with a delay

    When I check ipconfig, I see the IP - addresses.

     

    But I still have the same issue, the java web start loads, but the application nevers starts.

    Thank you.

     

     

    Thursday, May 26, 2011 8:02 AM
  • Hi!

     

    Has anyone already solved this problem? I'm having the exact same problem.

     

    Thank you

    Monday, December 12, 2011 5:09 PM
  • Hi Sumesh,

     

    Thanks for your suggestion and apologies for the delay in replying.

    From what you say, I presume this is only relevant if you users are running individual applications remotely. Our users are connecting to a desktop and then running several applications.

    Users are successfully receiving a virtual IP for their session and this is working as expected with most applications. The only issue occurs when attempting to run a program that launches using Java Web Start. As described above, the javaws process starts, but never gets any further.

    Do you have any suggestions that would be applicable to our setup?

     

    Thanks,

    Chris

    Tuesday, December 20, 2011 3:19 PM
  • Hi!

    I'm having the same problem. Has anyone solved this?

     

    Thanks.

    Friday, January 6, 2012 12:29 PM
  • Hi,

    Having the same problem. Did anybody manage to resolve this. Seems Citrix have an answer for it, maybe Msf Remote Desktop services 2008R2 have similiar solution?

    Citrix solution http://support.citrix.com/proddocs/topic/xenapp6-w2k8-admin/ps-pub-virtual-loopback-make-available.html

    Monday, April 22, 2013 10:45 AM
  • Hi everyone,

    I had the same issue.

    Strangely, launching the Webstart with -Xnosplash argument solved my issue.

    javaws -Xnosplash file.jnlp

    Hope it helps.

    Thursday, October 9, 2014 10:22 AM
  • Hi,

    This is a Java feature or bug.

    The problem description:

    The Java don't use the operating systems standard socket opening mechanism, always binds socket source IP to interface main IP.

    When opens a client socket in the java program (without directly bind to source IP), the JVM find the interface main IP and bind the socket source to this IP.
    I don't known how to change this behavior of the Java.
    Friday, January 15, 2016 3:34 PM
  • Did anyone find a resolution to this? I am using server 2016.  
    Friday, January 24, 2020 10:13 PM