Closed maxz closed 5 months ago
Please try -devel
or -alpha9
. We have changed the console handler and the behaviour may be completely different.
I will try it and report back. Thanks.
It works fine with aaru-6.0.0-alpha9_linux_amd64-dbg
/ aaru 6.0.0~alpha9+e10c237e
, both with the example program and with my actual non-Python program.
You probably do not intend to port the changes back to version 5.3, so I will close the issue.
Afraid not, it's not "just a change", it's a whole architectural change (that introduced a hundred bugs that are not all fixed yet :D)
Version
5.3.0
Commit hash
No response
Tested debug version?
Which operating systems have you used?
What is the architectural bit size you're using?
What processor are you using?
Device manufacturer
PLEXTOR (Irrelevant for this report.)
Device model
CD-R PX-W4012A (Irrelevant for this report.)
Bus the device uses to attach to the computer
USB cable or card reader manufacturer
JMicron Technology Corp. / JMicron USA Technology Corp. (Irrelevant for this report.)
USB cable or card reader model
JM20337 Hi-Speed USB to SATA & PATA Combo Bridge (Irrelevant for this report.)
What were you doing when it failed?
Description
I'm using Aaru as part of my dumping pipeline together with other programs like DiscImageCreator and Redumper. Therefore I'm calling it as a subprocess and as part of a bigger program, not manually in a shell.
The problem is that Aaru crashes unless it gets to write to the parent process' stdout. (e. g. when letting it write to another output stream or file) I'm allowing this right now so that I can verify the results of the other programs with Aaru, but I do not care about the output and would rather discard it instead of having it pollute the shell.
This is a minimal example to show the erratic behaviour. It happens when calling it as a subprocess from any language while denying access to the parent process' stdout.
If you remove the redirect of stdout (the last line in the call), it works as expected.
Exact command line used
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 /opt/aaru/aaru media dump --format 'Aaru Format' --verbose --debug /dev/sr0 /tmp/EXAMPLE
Expected behavior
Aaru should operate normally, no matter whether the output stream is the standard output, an arbitrary output stream or a file.
Actual behavior
Aaru crashes when it is called without being passed the standard output stream from its parent process.
Output of command execution with debug output enabled
Media details
The behaviour is independent of any concrete medium.