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

Check not pass #5

Closed
tieugene opened this issue Jan 18, 2021 · 15 comments
Closed

Check not pass #5

tieugene opened this issue Jan 18, 2021 · 15 comments

Comments

@tieugene
Copy link

tkrzw-0.9.3.logs.tar.gz
Fedora 33 x64.
Log files:

  • autoreconf.err.log - stderr of autoreconf -vif
  • configure.diff - diff from original configure and autoreconf-made (not affects on result)
  • configure.out.log - stderr of ./configure
  • make.out.log - stdout of make
    make_check.err.log - stderr of make check
    make_check.out.log - stdout of make check
    make_check.log - stderr&stdout of make check
@tieugene
Copy link
Author

Seems rebuild operation and --rebuild option cause errors.
As a --lock_mem_buckets option.

@estraier
Copy link
Owner

estraier commented Jan 19, 2021 via email

@tieugene
Copy link
Author

tieugene commented Jan 19, 2021 via email

@estraier
Copy link
Owner

Is the hard limit 64?
The hard limit cannot be changed but the soft limit can.
Isn't it possible to write the test script like this?:
$ ulimit -S -l 1024 ; make check

@tieugene
Copy link
Author

tieugene commented Jan 19, 2021 via email

@estraier
Copy link
Owner

What is printed when you run this?
$ ulimit -S -l 1024 ; ulimit -l

@tieugene
Copy link
Author

tieugene commented Jan 19, 2021 via email

@estraier
Copy link
Owner

Then, there's no way to test the memory locking feature on your environment.
Skipping the whole make check or patching Makefile.in to omit tests related to memory lock seems a practical work around.

@tieugene
Copy link
Author

patching Makefile.in to omit tests related to memory lock seems a practical work around.

May be good idea to switch those tests off by default and return back with special configure option?
Like --enable-havyload

@estraier
Copy link
Owner

I committed the CL to suppress the test flags for mlock if there's not enough allowed capacity.

@tieugene
Copy link
Author

Now tkrzw is packaging for RHEL8/Fedora 32..35 without any patch, with all available tests and skipping unavailable (like this).
Thank you.

@tieugene
Copy link
Author

0.9.14 - problems again.
Last lines:

Setting done: elapsed_time=0.593525 num_records=100000 qps=168485 mem=22812000
  file_size=15224832 eff_data_size=1600000 efficiency=10.51%
Getting: impl=tree num_iterations=20000 value_size=8 num_threads=5
.................................................. (00001000)
...
.................................................. (00020000)
Getting done: elapsed_time=0.114678 num_records=100000 qps=872008 mem=23272000
  file_size=15224832 eff_data_size=1600000 efficiency=10.51%
Removing: impl=tree num_iterations=20000 value_size=8 num_threads=5
make[1]: Leaving directory '/builddir/build/BUILD/tkrzw-0.9.14'
RPM build errors:
make[1]: *** [Makefile:279: check-treedbm-perf] Aborted (core dumped)

@tieugene tieugene reopened this May 11, 2021
@estraier
Copy link
Owner

That seems a different problem from the --lock_mem_buckets option.
Could you tell me the command which crushed and the environment?

@tieugene
Copy link
Author

tieugene commented May 12, 2021

Could you tell me the command which crushed and the environment?

I don't build manually - just 'autoreconf && configure && make && make check'.
It's ok in localhost but problems are at virtual hosts that build packages for Fedora/CentOS.
And error appears randomly from build to build without any changes in build process.
Two sequential builds from one source in one OS (Fedora 34):
https://koji.fedoraproject.org/koji/taskinfo?taskID=67707362
https://koji.fedoraproject.org/koji/taskinfo?taskID=67750933

@estraier
Copy link
Owner

One reason is that the direct I/O feature is not supported on every platform.
Thus, I enable the test cases for direct I/O only if --enable-devel is set.
I committed the change.

Another reason seems related to TreeDBM.
According to one of your log files, the following command crashed somehow.
./tkrzw_dbm_perf sequence --dbm tree --file mmap-para --path casket.tkt --iter 20000 --threads 5 --size 8 --max_page_size 200 --max_branches 8

It's not reproduced on my environment so I need to investigate more.

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