Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saturn 3 Ultra - Hanging after file upload. #4

Open
Vmess34 opened this issue Nov 30, 2023 · 1 comment
Open

Saturn 3 Ultra - Hanging after file upload. #4

Vmess34 opened this issue Nov 30, 2023 · 1 comment

Comments

@Vmess34
Copy link

Vmess34 commented Nov 30, 2023

The file upload works just fine. It is available on the printer, and I can force exit with ctrl+C and run the print command with no issue. We just get a hang with no messaging. Happens on any .goo file, any size. My attempts range from ~14MB to ~500MB. I can give the full --debug output if its needed, but for now this is the end of it, which does correctly show the transition of states:


on 168490728: 16:52:46,728 DEBUG: STATUS: {'CurrentStatus': 2, 'PreviousStatus': 0, 'PrintInfo': {'Status': 0, 'CurrentLayer': 0, 'TotalLayer': 0, 'CurrentTicks': 0, 'TotalTicks': 0, 'ErrorNumber': 0, 'Filename': ''}, 'FileTransferInfo': {'Status': 0, 'DownloadOffset': 175320953, 'CheckOffset': 0, 'FileTotalSize': 175320953, 'Filename': 'local.goo'}}
local.goo |████████████████████████████████████████| 100% [175320953/175320953] (2483410.38/s)
16:52:46,850 DEBUG: STATUS: {'CurrentStatus': 0, 'PreviousStatus': 2, 'PrintInfo': {'Status': 0, 'CurrentLayer': 0, 'TotalLayer': 0, 'CurrentTicks': 0, 'TotalTicks': 0, 'ErrorNumber': 0, 'Filename': ''}, 'FileTransferInfo': {'Status': 2, 'DownloadOffset': 175320953, 'CheckOffset': 0, 'FileTotalSize': 175320953, 'Filename': 'local.goo'}}

Afterward, console just sits until ctrl+C or other interrupt is sent, where I'm met with the following exception:

File "C:\Users\[User]\Desktop\cassini-main\cassini-main\cassini.py", line 192, in <module>
    main()
  File "C:\Users\[User]\Desktop\cassini-main\cassini-main\cassini.py", line 188, in main
    asyncio.run(do_upload(printer, args.filename, start_printing=args.start_printing))
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 193, in run
    with Runner(debug=debug, loop_factory=loop_factory) as runner:
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 62, in __exit__
    self.close()
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 70, in close
    _cancel_all_tasks(loop)
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 205, in _cancel_all_tasks
    loop.run_until_complete(tasks.gather(*to_cancel, return_exceptions=True))
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 651, in run_until_complete
    self.run_forever()
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 618, in run_forever
    self._run_once()
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 1913, in _run_once
    event_list = self._selector.select(timeout)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\windows_events.py", line 444, in select
    self._poll(timeout)
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\windows_events.py", line 769, in _poll
    status = _overlapped.GetQueuedCompletionStatus(self._iocp, ms)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
16:56:10,722 ERROR: Task was destroyed but it is pending!
task: <Task cancelling name='Task-4' coro=<SimpleMQTTServer.serve_forever() running at C:\Users\[User]\Desktop\cassini-main\cassini-main\simple_mqtt_server.py:39> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[gather.<locals>._done_callback() at C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\tasks.py:757]>
Exception ignored in: <function StreamWriter.__del__ at 0x0000015A24A31A80>
Traceback (most recent call last):
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\streams.py", line 397, in __del__
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\streams.py", line 343, in close
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 109, in close
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 772, in call_soon
  File "C:\Users\[User]\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 519, in _check_closed
RuntimeError: Event loop is closed

Afterward, everything is on the printer as expected, and can be run as normal.

@jibbetson
Copy link

During file upload on Mars 4 Ultra I'm getting a similar hang up after the file transfer is "100%" (albeit with different traceback asyncio errors). However, after cntl+C interrupt I cannot get the print to run.

ioc % ./cassini.py print test.goo 
12:56:11,666 INFO: Printer: Mars 4 Ultra (ELEGOO Mars 4 Ultra) (192.168.1.36)
12:56:23,116 WARNING: Too many status replies without success or failure
12:56:23,116 ERROR: Failed to start print

Question about cassini basic functionality: When a goo file gets successfully uploaded does it actually show up on the printer as a local file (i.e. accessible and could be manually printed from the printer)? Because in my case that's not happening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants