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

[BUG] 6.3.4: Failing "Slave is able to evict keys created in writable slaves" test #731

Open
arkamar opened this issue Oct 31, 2023 · 4 comments

Comments

@arkamar
Copy link
Contributor

arkamar commented Oct 31, 2023

Describe the bug

After updating to version 6.3.4, I noticed the test Slave is able to evict keys created in writable slaves consistently fails, see the error log below. I've bisected it down to the commit ffac552 - ("Remove Expireset (#217)"), which is the first one failing.

To reproduce

  1. Checkout version 6.3.4 or specifically commit ffac552.
  2. Run the test suite using
    ./runtest --clients 1 --skipunit unit/oom-score-adj --tls
    • Note: Changing the number of clients does not make any difference in reproducing this issue, but this command was used to produce the error log.
  3. The failure occurs in the test Slave is able to evict keys created in writable slaves.

Expected behavior

The test Slave is able to evict keys created in writable slaves should pass without any issues, as it did in previous versions 6.3.3.

Additional information

  • Error Log:
[exception]: Executing test client: I/O error reading reply.
I/O error reading reply
    while executing
"[srv $level "client"] {*}$args"
    (procedure "r" line 7)
    invoked from within
"r -1 dbsize"
    ("uplevel" body line 10)
    invoked from within
"uplevel 1 $code"
    (procedure "test" line 51)
    invoked from within
"test {Slave is able to evict keys created in writable slaves} {
            r -1 select 5
            assert {[r -1 dbsize] == 0}
            r -1 con..."
    ("uplevel" body line 33)
    invoked from within
"uplevel 1 $code "
    (procedure "start_server" line 3)
    invoked from within
"start_server {} {
        test {First server should have role slave after SLAVEOF} {
            r -1 slaveof [srv 0 host] [srv 0 port]
            wa..."
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $code "
    (procedure "start_server" line 3)
    invoked from within
"start_server {tags {"repl"}} {
    start_server {} {
        test {First server should have role slave after SLAVEOF} {
            r -1 slaveof [srv ..."
    (file "tests/integration/replication-3.tcl" line 1)
    invoked from within
"source $path"
    (procedure "execute_test_file" line 4)
    invoked from within
"execute_test_file $data"
    (procedure "test_client_main" line 10)
    invoked from within
"test_client_main $::test_server_port "
@msotheeswaran-sc
Copy link
Collaborator

Hi @arkamar, I was unable to repro this on my x86 ubuntu 22.04 machine, can you confirm what OS/architecture you are running on?

@arkamar
Copy link
Contributor Author

arkamar commented Nov 9, 2023

It is amd64 Gentoo in docker container. It was build using following command

make -j8 CC=x86_64-pc-linux-gnu-gcc AR=x86_64-pc-linux-gnu-ar RANLIB=x86_64-pc-linux-gnu-ranlib V=1 OPTIMIZATION= DEBUG_FLAGS= BUILD_TLS=yes USEASM=false MALLOC=libc

using GCC 13

@arkamar
Copy link
Contributor Author

arkamar commented Nov 9, 2023

Could it be USEASM=false? You have fastlock in asm only for x64 but not for x86, which would explain why you were able to reproduce it on x86.

@arkamar
Copy link
Contributor Author

arkamar commented Nov 9, 2023

It fails the same with USEASM=true.

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