-
Notifications
You must be signed in to change notification settings - Fork 70
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
Collation of stdout
and stderr
from a Plugin can Result in Output Corruption
#246
Comments
I don't quite understand your problem. You mention you use a fork in your other issue. Are you sure it's linuxdeploy that is to blame? Also, I guess I need to see a log. |
Thanks for following up; I was able to replicate the same issue and dug a bit deeper. linuxdeploy command:
Searching for While my environment will likely be difficult to recreate without using BeeWare's Briefcase directly....I doubt it is of consequence and any use of the GTK plugin with similar settings is likely to re-create this issue. This is using the latest version of linuxdeploy version:
|
While using the GTK plugin, I found that the collation of
stdout
andstderr
from the plugin can result in output corruption.The ordering of output between
stdout
andstderr
may not be maintained.This is probably (at least in part) due to some levels of buffering but it's especially confusing when the plugin is a bash script with
set -x
applied;stderr
will contain the commands being run andstdout
will contain the output....but they aren't synced so it's difficult to follow what's happening.stdout
can be interrupted bystderr
and vice versaIn the middle of a line of output from either stream, output from the other stream can start. I imagine this derives from printing output before an entire line is available to print; therefore, for example, part of
stdout
can be printed and the next output available to print is fromstderr
.Multibyte UTF-8 characters can be split
This is an especially bad version of number 2. When enough multibyte characters are included in the output....one of them is eventually split in half creating issues for consumers trying to decode
stdout
fromlinuxdeploy
as UTF-8.The text was updated successfully, but these errors were encountered: