You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kvrocks.apache.org by GitBox <gi...@apache.org> on 2022/11/03 07:14:20 UTC

[GitHub] [incubator-kvrocks] PragmaTwice opened a new pull request, #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

PragmaTwice opened a new pull request, #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067

   This may fixes the frequent crash problem in CI.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012647076


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks
+            ./coredumps/*

Review Comment:
   Yeah, it is based on #1065.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] tisonkun commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
tisonkun commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012641954


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks
+            ./coredumps/*

Review Comment:
   Perhaps we also upload gocase workspace logs so that close https://github.com/apache/incubator-kvrocks/issues/1052?



##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks

Review Comment:
   Why do we upload the binary?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] mapleFU commented on pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
mapleFU commented on PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#issuecomment-1302173929

   How about print or tracing `bulk_string`'s WriteBatch? Maybe it can produce some important infos
   
   Or we can bisect the results?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice commented on pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice commented on PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#issuecomment-1302134665

   > @PragmaTwice Crashes started about a few days ago (if I'm right). Could they be linked to a specific commit or related to the beginning of a new month (of course, it's impossible that day/month/year/moon can cause the program to crash)?
   
   Sure. But since I cannot reproduce the crash locally (run go tests many times), it is hard for me to quickly determine which commit is at fault.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012644447


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks
+            ./coredumps/*

Review Comment:
   You can review these changes in #1065.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] torwig commented on pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
torwig commented on PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#issuecomment-1301789171

   @PragmaTwice Good catch! I needed a few minutes to see the dangling reference in the code.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012645743


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks

Review Comment:
   these coredump are useless without the binary. We cannot get the totally same binary in local due to compiler/libstdcxx/libc version.



##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks

Review Comment:
   these coredump are useless without the binary. We cannot get the totally same binary in local due to compiler/libstdcxx/glibc version.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] tisonkun commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
tisonkun commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012646062


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks
+            ./coredumps/*

Review Comment:
   So this patch is based on #1065 and #1065 closes #1052?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice commented on pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice commented on PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#issuecomment-1302034451

   It seems it does not solve the frequent crashing in CI. Merging...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] tisonkun commented on a diff in pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
tisonkun commented on code in PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#discussion_r1012646620


##########
.github/workflows/kvrocks.yaml:
##########
@@ -217,15 +225,35 @@ jobs:
             GOCASE_RUN_ARGS="-tlsEnable"
           fi
           ./x.py test go build $GOCASE_RUN_ARGS
+          
+      - name: Find reports and crashes
+        if: always()
+        run: |
           SANITIZER_OUTPUT=$(grep "Sanitizer:" tests/gocase/workspace -r || true)
           if [[ $SANITIZER_OUTPUT ]]; then
+            echo "found sanitizer reports:"
             echo "$SANITIZER_OUTPUT"
-            echo "\ndetail reports:\n"
-            cat $(find tests/gocase/workspace -iname stderr)
-            echo "sanitizer error was reported, exiting..."
+            echo "detail log:"
+            cat $(echo "$SANITIZER_OUTPUT" | awk -F ':' '{print $1}')
+            exit 1
+          fi
+          CRASHES=$(grep "Ooops!" tests/gocase/workspace -r || true)
+          if [[ $CRASHES ]]; then
+            echo "found crashes:"
+            echo "$CRASHES"
+            echo "detail log:"
+            cat $(echo "$CRASHES" | awk -F ':' '{print $1}')
             exit 1
           fi
 
+      - uses: actions/upload-artifact@v2
+        if: ${{ failure() && startsWith(matrix.os, 'ubuntu') }}
+        with:
+          name: kvrocks-coredumps-${{ matrix.name }}
+          path: |
+            ./build/kvrocks

Review Comment:
   Get it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] PragmaTwice merged pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
PragmaTwice merged PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-kvrocks] torwig commented on pull request #1067: Fix dangling reference in ReplicationThread::ParseWriteBatch

Posted by GitBox <gi...@apache.org>.
torwig commented on PR #1067:
URL: https://github.com/apache/incubator-kvrocks/pull/1067#issuecomment-1302039148

   @PragmaTwice Crashes started about a few days ago (if I'm right). Could they be linked to a specific commit or related to the beginning of a new month (of course, it's impossible that day/month/year/moon can cause the program to crash)?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org