mirror of
https://github.com/samba-team/samba.git
synced 2025-02-25 17:57:42 +03:00
s3:share_mode_lock: reproduce problem with stale disconnected share mode entries
This reproduces the origin of "PANIC: assert failed in get_lease_type()" (https://bugzilla.samba.org/show_bug.cgi?id=14428). share_mode_cleanup_disconnected() removes disconnected entries from leases.tdb and brlock.tdb but not from locking.tdb. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14428 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
560fe7b38f
commit
444f2bedf7
1
selftest/knownfail.d/bug-14428
Normal file
1
selftest/knownfail.d/bug-14428
Normal file
@ -0,0 +1 @@
|
||||
^samba3.blackbox.durable_v2_delay.bug.14428
|
@ -1730,6 +1730,20 @@ bool share_mode_cleanup_disconnected(struct file_id fid,
|
||||
data->have_share_modes = false;
|
||||
data->modified = true;
|
||||
|
||||
/*
|
||||
* This is a temporary reproducer for the origin of
|
||||
* https://bugzilla.samba.org/show_bug.cgi?id=14428
|
||||
* "PANIC: assert failed in get_lease_type()"
|
||||
*
|
||||
* This will be removed again once the bug is demonstrated
|
||||
* and fixed.
|
||||
*/
|
||||
TALLOC_FREE(state.lck);
|
||||
state.lck = get_existing_share_mode_lock(frame, fid);
|
||||
if (state.lck != NULL) {
|
||||
DBG_ERR("Reproduced BUG#14428\n");
|
||||
}
|
||||
|
||||
ret = true;
|
||||
done:
|
||||
talloc_free(frame);
|
||||
|
@ -17,12 +17,26 @@ testit "durable_v2_delay.durable_v2_reconnect_delay" $VALGRIND \
|
||||
smb2.durable-v2-delay.durable_v2_reconnect_delay ||
|
||||
failed=$(expr $failed + 1)
|
||||
|
||||
SMBD_LOG_FILES="$SMBD_TEST_LOG"
|
||||
if [ $SMBD_DONT_LOG_STDOUT -eq 1 ]; then
|
||||
_SMBD_LOG_FILE=$(dirname $SMBD_TEST_LOG)/logs/log.smbd
|
||||
SMBD_LOG_FILES="$SMBD_LOG_FILES $_SMBD_LOG_FILE"
|
||||
fi
|
||||
|
||||
bug_count_0=$(grep 'Reproduced BUG#14428' $SMBD_LOG_FILES | wc -l)
|
||||
|
||||
testit "durable_v2_delay.durable_v2_reconnect_delay_msec" $VALGRIND \
|
||||
$BINDIR/smbtorture //$SERVER_IP/durable \
|
||||
-U$USERNAME%$PASSWORD \
|
||||
smb2.durable-v2-delay.durable_v2_reconnect_delay_msec ||
|
||||
failed=$(expr $failed + 1)
|
||||
|
||||
bug_count_1=$(grep 'Reproduced BUG#14428' $SMBD_LOG_FILES | wc -l)
|
||||
|
||||
testit "bug.14428 bug_count_0[$bug_count_0] bug_count_1[$bug_count_1]" \
|
||||
test $bug_count_0 -eq $bug_count_1 ||
|
||||
failed=$(expr $failed + 1)
|
||||
|
||||
rm $delay_inject_conf
|
||||
|
||||
testok $0 $failed
|
||||
|
Loading…
x
Reference in New Issue
Block a user