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

multiple simultaneous errors cause intermixed stderr output #104

Closed
jtmoon79 opened this issue Apr 23, 2023 · 0 comments
Closed

multiple simultaneous errors cause intermixed stderr output #104

jtmoon79 opened this issue Apr 23, 2023 · 0 comments
Labels
bug Something isn't working P2 less important

Comments

@jtmoon79
Copy link
Owner

jtmoon79 commented Apr 23, 2023

Summary

Multiple errors at nearly the same time result in an error message for each file path. The printed error messages WARNING: no syslines found ... are intermixed.

Current behavior

For a path with many files that cannot be parsed, run s4

$ s4 /var/log 1>/dev/null
ERROR: load_library_systemd() failed, library "libsystemd.so"; Could not open library: /usr/lib64/libsystemd-journal.so.0: cannot open shared object file: No such file or directory
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/system.journal"
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/user-1000@5b19c86fe4a14c48a1b067403d76c0b2-000000000000058b-0005f9031a1ea7a0.journal"
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/user-1000@5b19c86fe4a14c48a1b067403d76c0b2-0000000000001fbe-0005f96d8edda785.journal"
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/system@bb50b2dfcd47461f8b321cbe25a17845-0000000000000001-0005f90318277b20.journal"
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/user-1000.journal"
ERROR: failed to load library "libsystemd.so" for Journal "/var/log/journal/a2d126cf2e9d4bdf91e336ee1cb904f8/system@bb50b2dfcd47461f8b321cbe25a17845-0000000000001fbd-0005f96d8e6dd685.journal"
WARNING: no lines found "/var/log/faillog"
WARNING: no lines found "/var/log/lastlog"
WARNING: no syslines found "/var/log/gpu-manager.log"
WARNING: no syslines found "/var/log/installer/version"
WARNING: no syslines found "/var/log/boot.log"
WARNING: no syslines found "/var/log/installer/media-info"
WARNING: no syslines found "/var/log/installer/telemetry"
WARNING: no syslines found "/var/log/fontconfig.log"
WARNING: no syslines found "/var/log/installer/debug"
WARNING: no syslines found "/var/log/dmesg.2.gz"
WARNING: no syslines found "/var/log/installer/initial-status.gz"
WARNING: no syslines found "/var/log/dmesg"
WARNING: no syslines found "/var/log/dmesg.0"
WARNING: WARNING: no syslines found "/var/log/dmesg.1.gz"
no syslines found "/var/log/installer/partman"
WARNING: no syslines found "/var/log/apt/eipp.log.xz"

This is rare but it does occur. The prior example was from FreeBSD 13.

Suggested behavior

Better coordinate writing to stderr among different threads. (I thought this was adequately coordinated).

@jtmoon79 jtmoon79 added bug Something isn't working P2 less important labels Apr 23, 2023
@jtmoon79 jtmoon79 changed the title multiple simultaneous errors cause intemrixed stderr output multiple simultaneous errors cause intermixed stderr output Apr 23, 2023
jtmoon79 added a commit that referenced this issue May 8, 2023
Refactor channel data passing to have a consistent set of stages
refelected in new enum `ChanDatum`. All processing threads must
at least pass a `ChanDatum::FileInfo` with a
`FileProcessingResultBlockZero`.

All `FileProcessingResultBlockZero` printing are handled by
the main printing thread instead of file processing threads.

Pass a file Last Modified time (mtime) from file processing threads
to main processing threads.

Change all datas, `Sysline`, `Evtx`, `Utmpx`, `Journal` to have a
`dt()` that returns `DateTimeL`. Previously the `Sysline.dt()` returned
`DateTimeLOpt` which caused a fair amount of tedious code.
Just assume a `Sysline` has a valid `DateTimeL`.

Add necessary tests for `mtime()`.

Issue #104
Issue #60
jtmoon79 added a commit that referenced this issue May 8, 2023
Refactor channel data passing to have a consistent set of stages
refelected in new enum `ChanDatum`. All processing threads must
at least pass a `ChanDatum::FileInfo` with a
`FileProcessingResultBlockZero`.

All `FileProcessingResultBlockZero` printing are handled by
the main printing thread instead of file processing threads.

Pass a file Last Modified time (mtime) from file processing threads
to main processing threads.

Change all datas, `Sysline`, `Evtx`, `Utmpx`, `Journal` to have a
`dt()` that returns `DateTimeL`. Previously the `Sysline.dt()` returned
`DateTimeLOpt` which caused a fair amount of tedious code.
Just assume a `Sysline` has a valid `DateTimeL`.

Add necessary tests for `mtime()`.

Issue #104
Issue #60
jtmoon79 added a commit that referenced this issue May 8, 2023
Refactor channel data passing to have a consistent set of stages
refelected in new enum `ChanDatum`. All processing threads must
at least pass a `ChanDatum::FileInfo` with a
`FileProcessingResultBlockZero`.

All `FileProcessingResultBlockZero` printing are handled by
the main printing thread instead of file processing threads.

Pass a file Last Modified time (mtime) from file processing threads
to main processing threads.

Change all datas, `Sysline`, `Evtx`, `Utmpx`, `Journal` to have a
`dt()` that returns `DateTimeL`. Previously the `Sysline.dt()` returned
`DateTimeLOpt` which caused a fair amount of tedious code.
Just assume a `Sysline` has a valid `DateTimeL`.

Add necessary tests for `mtime()`.

Issue #104
Issue #60
@jtmoon79 jtmoon79 closed this as completed May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P2 less important
Projects
None yet
Development

No branches or pull requests

1 participant