Bug 12580 - 54_transaction_loop_recovery.sh test fails with transaction_loop aborting
Summary: 54_transaction_loop_recovery.sh test fails with transaction_loop aborting
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: CTDB (show other bugs)
Version: 4.5.5
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-14 01:25 UTC by Amitay Isaacs
Modified: 2017-02-21 08:51 UTC (History)
3 users (show)

See Also:


Attachments
Patches for v4-6 (14.98 KB, patch)
2017-02-16 23:36 UTC, Amitay Isaacs
martins: review+
Details
Patches for v4-5 (14.98 KB, patch)
2017-02-16 23:36 UTC, Amitay Isaacs
martins: review+
Details
Patches for v4-4 (14.98 KB, patch)
2017-02-16 23:36 UTC, Amitay Isaacs
martins: review+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Amitay Isaacs 2017-02-14 01:25:47 UTC
Here is the stack trace from core dump.

#0  talloc_chunk_from_ptr (ptr=0xca965428) at ../talloc.c:429
#1  0x00007fe6ca96697b in __talloc_get_name (ptr=0xca965428, name=0x42af62 "struct comm_write_state", location=0x42b1c7 "../common/comm.c:419") at ../talloc.c:1463
#2  _talloc_get_type_abort (ptr=0xca965428, name=0x42af62 "struct comm_write_state", location=0x42b1c7 "../common/comm.c:419") at ../talloc.c:1520
#3  0x0000000000405469 in comm_fd_handler (ev=0x1aa1830, fde=0x1aaa620, flags=3, private_data=<value optimized out>) at ../common/comm.c:418
#4  0x00007fe6cab7b276 in ?? () from /usr/lib64/libtevent.so.0
#5  0x00007fe6cab79576 in ?? () from /usr/lib64/libtevent.so.0
#6  0x00007fe6cab74605 in _tevent_loop_once () from /usr/lib64/libtevent.so.0
#7  0x00007fe6cab7616b in tevent_req_poll () from /usr/lib64/libtevent.so.0
#8  0x0000000000408f96 in main (argc=<value optimized out>, argv=<value optimized out>) at ../tests/src/transaction_loop.c:392

The crash occurs in comm.c at following line:

		write_state = tevent_req_data(comm->write_req,
					      struct comm_write_state);

Looks like write_req was free'd causing a stale reference.
Comment 1 Amitay Isaacs 2017-02-16 23:36:12 UTC
Created attachment 12952 [details]
Patches for v4-6
Comment 2 Amitay Isaacs 2017-02-16 23:36:34 UTC
Created attachment 12954 [details]
Patches for v4-5
Comment 3 Amitay Isaacs 2017-02-16 23:36:54 UTC
Created attachment 12955 [details]
Patches for v4-4
Comment 4 Martin Schwenke 2017-02-16 23:59:46 UTC
Hi Karolin,

This one is ready for 4.4, 4.5, 4.6.

Thanks...
Comment 5 Karolin Seeger 2017-02-17 11:04:57 UTC
(In reply to Martin Schwenke from comment #4)
Pushed to autobuild-v4-{6,5,4}-test.
Comment 6 Karolin Seeger 2017-02-21 08:51:53 UTC
(In reply to Karolin Seeger from comment #5)
Pushed to all branches.
Closing out bug report.

Thanks!