Giter Site home page Giter Site logo

Comments (22)

baldurk avatar baldurk commented on June 5, 2024

The update message is a known problem with the Android system, it is a false positive and can be safely ignored. It's not clear from your description - did you try clicking "OK"? It should go away and function as normal, and should only appear the first time you run a new RenderDoc version.

I don't know what the adb connect command does, it's possible it is broken or causing problems. Can you try disconnecting everything, shutting down all running RenderDoc and android programs on the PC, restarting the phone, and then starting up and plugging in the phone without running adb connect to see if that works? Clicking OK on the update popup if it appears.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Yes, I did click OK on the prompt, but if it's a false positive, then that likely won't be the root of the problem. And yes, it only appeared once.

adb connect is a command used to establish wireless debug connectivity to an Android device. It used to work until a few months ago. I managed to get the RenderDoc app working with my Android app after following your suggestions. It connects and works well with the device plugged in via USB.

I seem to be running into 2 other issues after this:
On RenderDoc on the PC, after setting the Replay Context to my Samsung S23U and having RenderDoc launch the mobile app I'm working on, I select the Capture Frames Immediately option in the PC app.
The app does some background work and captures frame data and I then get the following error:
image
I do see the Capture in the Captures Collected panel but the remote server disconnects.

I need to then reconnect RenderDoc on the PC via the Replay Context dropdown and it then seems to be able to open the Captured data well after that. It's not a major issue since I'm still able to read the data, but I'm wondering if there's a way around it?

And also, another thing I observed: I have two buttons in my app, they usually work well. One opens an Android System file picker and the other loads a mesh when clicked. But when I connect RenderDoc and I press either of the buttons, my app hangs. Is there an issue with clicking Android UI Buttons when RenderDoc is connected to Android?

Thanks

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

Hi @unrealsid, I too have had problems with wireless ADB - my hunch is that it doesn't play nice with the port forwarding RD sets up but I've not looked at it too closely.

I do see the Capture in the Captures Collected panel but the remote server disconnects.

As quick sanity check, can you increase the network timeout? Go to Tools->Settings->Core->Config Editor, then RemoteServer->TimeoutMS and up it to something stupid like 120000. If it works then we know that something is stalling the phone a little but otherwise it's working fine, if it still fails instantly then something at the capture end is likely crashing the server, and if still fails but takes two minutes longer to then we know something is stalling the device indefinitely (a real bug!).

Is there an issue with clicking Android UI Buttons when RenderDoc is connected to Android?

Not in principle but it depends on the what the buttons do. If they both behave the same and one of them only opens the OS file picker then I can't see how RD would affect that - it's only interested in graphics API interception after all. Is there anything interesting in logcat at the time of the button presses?

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Hello @cmannett85-arm, just to quickly confirm, after increasing the network timeout, you want me to connect via USB or via wireless ADB?

About the second issue, I'll check logcat and report my results back here shortly. Thanks.

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

USB ADB for now, let's tackle one problem at a time.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

I set the timeout to be 120000 seconds from the advanced settings and then proceeded as follows:

  1. I set the ReplayContext to my phone. RenderDoc runs some remote commands. Remote server is still connected.
  2. I launched the application via RenderDoc. The remote server was still connected.
  3. I proceeded to take a capture. RenderDoc on the PC hung for a bit and the remote server immediately got disconnected, The device data was captured, however.
  4. I then reselect my phone from the Replay Context in RenderDoc and I'm able to open the capture and view the information in it.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Regarding the freezing issue, all I get is the following log info when I press a UI button in my app and RenderDoc is connected:

Activity reported stop, but no longer stopping
ANR in com.viewer.fbxviewer (com.viewer.fbxviewer/.MainActivity)
                 PID: 22171
                 Reason: Input dispatching timed out (com.viewer.fbxviewer.MainActivity (server) is not responding. Waited 10001ms for FocusEvent(hasFocus=false))
                 Parent: com.viewer.fbxviewer/.MainActivity

And the app then crashes and the remote server disconnects.
I don't really see a reason for the ANR in the log.

This isn't an issue when the objects I'm drawing on screen are loaded the moment the app loads. Which is how I'm testing content at the moment. Ideally, I'd be glad if I could test items as I load them on UI button presses.

Thanks.

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

RenderDoc on the PC hung for a bit and the remote server immediately got disconnected

Did the remote server disconnect at the start of the hang or at the end? In the device tab do you see the 'Capture in progress' progress bar filling up? What do you see in logcat during capture?

This isn't an issue when the objects I'm drawing on screen are loaded the moment the app loads.

Loaded from where to where? Is this is a Vulkan or GLES app?

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

After restarting the Android device, I'm seeing either of 3 things happening randomly each time I try a capture:

  • Yesterday, it automatically disconnected at the end of the hang.
  • Today, I had to manually shut the remote server down to finish the capture. Otherwise, RenderDoc would've remained permanently suspended.
  • And sometimes, I see RenderDoc capture device data successfully without a disconnect, but the remote server disconnects while trying to load the capture. RenderDoc then throws a Network I/O Operation failed error.

Yes, I see a 'Capture in Progress' bar fill up.

Also, Logcat has only the following info in mostly the first 2 cases:
failed to connect to socket 'localabstract:renderdoc_39920': could not connect to localabstract address 'localabstract:renderdoc_39920'
I don't know if this is relevant, but I see a lot of __rdoc_internal_android_logcat 345569 messages also.

The objects I'm drawing on screen are loaded from the disk using the Default file selector on Android and are drawn on screen. It is a GLES application. Thanks

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

I don't know if this is relevant, but I see a lot of __rdoc_internal_android_logcat 345569 messages also.

You can filter those out, they're internal messages used by RD.

failed to connect to socket 'localabstract:renderdoc_39920': could not connect to localabstract address 'localabstract:renderdoc_39920'

This is the remote server port, you shouldn't be getting connection failures down a wired connection...

Are you able to share your APK so we can try debugging it? Or create a simple equivalent that displays the same issue?

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Yes, I can create a simpler equivalent of that and send it across. But that will take me a bit of time.
I'll try to send it as soon as possible.

Do you have an Samsung S23 Ultra device on hand to test this?

Thanks.

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

Do you have an Samsung S23 Ultra device on hand to test this?

No, I have modern Samsung phones running the same Android version though, so if it's down to some funky Samsung bloatware on the device affecting RD I should be able to reproduce it.

The Samsung S23 Ultra uses a Qualcomm Adreno 740 GPU, so if your problem is down to an odd interaction between RD and the GP driver I'll struggle to help you.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Hello @cmannett85-arm, I've built a test app that somewhat mirrors my own production application. Where can I sent it to you? I do not want to put a download link in the comments. Thanks.

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

Thanks @unrealsid, you can send it to me in an email to [email protected].

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

@unrealsid have you sent the email? I haven't received anything and there's nothing in my email quarantine.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Hello @cmannett85-arm, sorry it's taking a while here. I had to make a few adjustments to the app before sending it and have been pretty caught up on other fronts.
I'll be making some time to make those adjustments and sending it to you in the next few days. Thanks for checking in. :)

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Hello @cmannett85-arm, I've sent you an email with a link to the app. Thanks

from renderdoc.

cmannett85-arm avatar cmannett85-arm commented on June 5, 2024

Hi @unrealsid, just letting you know we haven't forgotten about this. I tried your test app on a few different devices:

  • Pixel 7 (Mali G710, Android 13), works
  • Pixel 8 (Mali G715, Android 14), works
  • Samsung ZFlip (Adreno 650, Android 14), works
  • Samsung Galaxy A34 (Mali G68, Android 14), hangs!

However unlike your S23 Ultra, the A34 hangs immediately. Attaching a debugger, the OS fires a STOP signal at it once it has realised the app has frozen. Judging by the call stacks it looks like there are OpenGL ES calls coming from two different threads:
image
image

Both pass-through RD and both are stuck waiting for mutex, sadly without more debug info I can't know if they're waiting for the same mutex.

from renderdoc.

unrealsid avatar unrealsid commented on June 5, 2024

Hey @cmannett85-arm, thanks for the updates. What more information would you require?

from renderdoc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.