Giter Site home page Giter Site logo

Comments (8)

MattWeig avatar MattWeig commented on June 2, 2024

Workaround:
Use the MCAL as normal
Launch MC as normal
Close MCAL
Log in to MC

from connect.

jonbartels avatar jonbartels commented on June 2, 2024

Same workaround #4333

Symptoms are similar in that the MC Client freezes but it happens in a different area of the application.

from connect.

jonbartels avatar jonbartels commented on June 2, 2024

I reproduced the problem on MC 4.3.0 and MCAL 1.3.1 on Windows in AWS Workspaces.

Thread dump from the MC Client process is attached.
5765.dump.txt

from connect.

jonbartels avatar jonbartels commented on June 2, 2024

Ok so this is wild.

Try this process as a workaround:

  1. Open MCAL
  2. Set "Show Console" to "Yes"
  3. Launch MC
  4. Scroll around in a JS transformer a lot
  5. The local console will spam errors but MC Client will not lock

Longer test case:

  1. Open MCAL
  2. Set "Show Console" to "Yes"
  3. Launch MC
  4. Scroll around in a JS transformer a lot
  5. The local console will spam errors but MC Client will not lock
  6. Close the console window.
  7. Scroll around in a JS transformer a lot
  8. MC Client will still not lock
  9. Keep this MC Client window open
  10. Go back to MCAL
  11. Set "Show Console" to "No"
  12. Launch a second instance of MC Client
  13. Scroll around in a JS transformer a lot
  14. The second instance of MC Client will lock

Having these two instances of the client running should show any differences between the two.

This failure mode seems to be consistent with "AWT-EventQueue-0" #15 prio=6 os_prio=0 tid=0x0000000019bc1800 nid=0x1654 runnable [0x000000001b41e000] from my earlier thread dump. MC Client is trying to write something but can't.

I got on a video call with @tonygermano and he saw it happen live. What it seems like is that MC Client is looking for stderr or stdout and doesn't have it. Something with how MCAL is launching MC Client isn't letting it write to that output stream.

In Linux or MacOS I would run lsof and see what streams the process has open. I do not know how to do that in Windows.

from connect.

ab-20-m avatar ab-20-m commented on June 2, 2024

It sounds like stdout and stderr are getting redirected from the child process even when "Show Console" is set to "No". If that is the case, the buffers likely aren't being read. The buffers will fill and eventually the child writes will block, at least on Windows.

from connect.

ChristopherSchultz avatar ChristopherSchultz commented on June 2, 2024

If @ab-20-m is right, the child process can hang if the parent process isn't processing the child process's stdout and stderr streams. Odd that the event queue is writing to a file. If we could (officially) look at the source for MCAL we could see hwo they are launching the child process.

It's starting to sound like the process-launch code isn't quite right.

from connect.

tonygermano avatar tonygermano commented on June 2, 2024

@pladesma @lmillergithub I'm pretty sure this is a duplicate of #4333 . Unless RS-9061 was created to handle the ClassCastException rather than the application hang. It's really two different issues.

from connect.

jonbartels avatar jonbartels commented on June 2, 2024

#5789 is another instance of this problem

from connect.

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.