-
Notifications
You must be signed in to change notification settings - Fork 256
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
windows: fix some crashes, change handling of invalid paths; lex: add better error detection; accurate: fix out of bounds writes #1793
base: master
Are you sure you want to change the base?
Conversation
Our win32-cross toolchain does not handle thread_local correctly. This can load to crashes because it may free the storage before destructing the object inside the storage. See here for reference: https://sourceforge.net/p/mingw-w64/bugs/727/ This is extremely easy to reproduce if run in a debugger (gdb in my case). In the wild this does not happen 100%. As such thread_local was replaced by a manually managed pthread_key.
In the trace of one customer we saw the fd try to add a single file multiple times! This is a work around for that.
15dd02e
to
9708140
Compare
Add simple tests that check that accurate does not do weird things even if the database has inconsistencies.
9708140
to
5b40ea3
Compare
219655b
to
9c03a19
Compare
This has fixed issues encountered in support ticket 75261. |
5d68c76
to
0799099
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As spoken
jobid=$(cat "$log_home/backup-jobid.out" | grep "jobid" | tail -n1 | cut -d':' -f2 | cut -d'"' -f2) | ||
|
||
# make the director miscount the number of files | ||
cat <<END_OF_DATA >"$tmp/bconcmds" | ||
@$out $log_home/query.out |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add test for lmdb as well + add doc string for lmdb options.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Adds a systemtest that checks some parser behaviours. This needs to be a systemtest as some parser errors lead to aborts/exits and cannot be run in unit tests as such.
Also print how many files are expected to be sent
Since we are supposed to send pktsiz many bytes, we should also print that number in case we did not send everything, otherwise we may run into situations where message_length == sent bytes != pktsiz (which happened at a customer) and the message does not make sense anymore.
0799099
to
9859d90
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see comments,
The accurate-lmdb tests still fail as already talked about.
@@ -0,0 +1,3 @@ | |||
.. note:: | |||
These worker threads are mostly used to compute checksums, and to compress & encrypt data. | |||
If this is set to at least 1, then bareos will use a seperate thread for sending data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is set to at least 1, then bareos will use a seperate thread for sending data. | |
If this is set to at least 1, bareos will use a separate thread for sending data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Thank you for contributing to the Bareos Project!
This PR contains the following changes:
/usr/bin/sendmail
on windowsSHGetFolderPath
bySHGetKnownFolderPath
Please check
If you have any questions or problems, please give a comment in the PR.
Helpful documentation and best practices
Checklist for the reviewer of the PR (will be processed by the Bareos team)
Make sure you check/merge the PR using
devtools/pr-tool
to have some simple automated checks run and a proper changelog record added.General
Source code quality
Tests