Skip to content

Issues with MicroVPN on Android: IOException on High Traffic and Unrecoverable Tunnel State  #139

Open
@KkamSonLee

Description

@KkamSonLee

Dear Citrix Team,

I hope this message finds you well. I am currently utilizing the MicroVPN solution within my app, but I have encountered a critical issue that I would like to bring to your attention.

In our implementation, we primarily use the following methods:

  • MicroVPNSDK.startTunnel
  • MicroVPNSDK.isNetworkTunnelRunning
  • MicroVPNSDK.stopTunnel
  • MicroVPNSDK.enableWebViewObjectForNetworkTunnel
  • MicroVPNSDK.enableOkHttpClientObjectForNetworkTunnel

The problem arises when there is heavy network traffic, particularly during high-volume image upload or loading operations (using the Glide library). Under such conditions, we often encounter the following error:

java.io.IOException: unexpected end of stream on [�SERVER_URL]

After this error occurs, the proxy connection through MicroVPN fails to re-establish, even if we attempt to restart the tunneling process. The only way to restore the connection is by fully terminating the app process and relaunching it.

For context, in our Glide configuration, we are globally registering the wrapped OkHttpClient (wrapped with MicroVPNSDK.enableOkHttpClientObjectForNetworkTunnel) via the @GlideModule annotation, where we replace the default OkHttpClient with OkHttpUrlLoader.Factory((Call.Factory) client) in the registerComponents method.

In addition to image-heavy operations, we observe similar issues when making multiple image requests within a WebView. Once the connection is lost, both the WebView and the entire app's communication are disrupted. Testing in SecureWeb showed the same behavior: after a disconnect, reconnection is not possible unless the process is fully restarted.

Interestingly, when this issue occurs, we observe that:

session expired = false
tunneling = true
This indicates that the tunnel is reported as still active, but in reality, no traffic seems to be passing through.

I have encountered this issue consistently up to com.citrix.android.sdk 24.7.0 and would like to inquire whether this is a known problem. I would sincerely appreciate it if you could provide guidance on any potential solutions or workarounds, or whether this issue is something that can be addressed in a future update.

Thank you for your attention to this matter. I look forward to any assistance or insight you can offer.

Lee Minho

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions