The autobuild test system (on sn-devel-144) has detected an intermittent failing test in the current master tree.
The autobuild log of the failure is available here: https://git.samba.org/autobuild.flakey.sn-devel-144/2018-12-02-1250/flakey.log The failure seems to be in the "samba-nt4" suite, whose build logs are available here: https://git.samba.org/autobuild.flakey.sn-devel-144/2018-12-02-1250/samba-nt4.stderr https://git.samba.org/autobuild.flakey.sn-devel-144/2018-12-02-1250/samba-nt4.stdout The top commit at the time of the failure was: commit 46a6c6ff6d2fc68e313bcb2cd2c65b5a6e7c1782 Author: Ralph Boehme <s...@samba.org> Date: Fri Nov 30 10:27:19 2018 +0100 vfs_fruit: avoid dereferencing fsp->base_fsp in fruit_fstat_meta_stream() This helps avoiding a NULL dereference on systems where additional patches modify the following condition in open_file() if ((open_access_mask & (FILE_READ_DATA|FILE_WRITE_DATA|FILE_APPEND_DATA|FILE_EXECUTE)) || (!file_existed && (local_flags & O_CREAT)) || ((local_flags & O_TRUNC) == O_TRUNC) ) { to if ((open_access_mask & (FILE_READ_DATA|FILE_WRITE_DATA|FILE_APPEND_DATA|FILE_EXECUTE|DELETE_ACCESS)) || (!file_existed && (local_flags & O_CREAT)) || ((local_flags & O_TRUNC) == O_TRUNC) ) { Ie addtionally check open_access_mask against DELETE_ACCESS. As a result opens with DELETE_ACCESS go through the code that does an fd_open() plus a subsequent fstat(). That will trigger a crash in fruit_fstat_meta_stream() when a client wants to delete a file for deletion. When we open base file for delete, we call open_streams_for_delete() which internally calls create-file with NTCREATEX_OPTIONS_PRIVATE_STREAM_DELETE which prevents opening of the base_fsp. Voila, combined with the change described above you get a NULL deref. Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Sun Dec 2 07:52:34 CET 2018 on sn-devel-144 and the last 50 lines of the stdout log were: [533(2464)/579 at 22m59s] samba.wbinfo_simple.online-status.domain=$DOMAIN(nt4_dc:local) [534(2465)/579 at 23m0s] samba.wbinfo_simple.check-secret.domain=$DOMAIN(nt4_dc:local) [535(2466)/579 at 23m0s] samba.wbinfo_simple.change-secret.domain=$DOMAIN(nt4_dc:local) [536(2467)/579 at 23m0s] samba.wbinfo_simple.check-secret.domain=$DOMAIN(nt4_dc:local) [537(2468)/579 at 23m0s] samba.wbinfo_simple.online-status.domain=$DOMAIN(nt4_dc:local) [538(2469)/579 at 23m0s] samba.wbinfo_simple.domain-users(nt4_dc:local) [539(2470)/579 at 23m0s] samba.wbinfo_simple.domain-groups(nt4_dc:local) [540(2471)/579 at 23m0s] samba.wbinfo_simple.name-to-sid=$DC_USERNAME(nt4_dc:local) [541(2472)/579 at 23m0s] samba.wbinfo_simple.name-to-sid=$DOMAIN/$DC_USERNAME(nt4_dc:local) [542(2473)/579 at 23m0s] samba.wbinfo_simple.user-info=$DOMAIN/$DC_USERNAME(nt4_dc:local) [543(2474)/579 at 23m0s] samba.wbinfo_simple.user-groups=$DOMAIN/$DC_USERNAME(nt4_dc:local) [544(2475)/579 at 23m0s] samba.wbinfo_simple.authenticate=$DOMAIN/$DC_USERNAME%$DC_PASSWORD(nt4_dc:local) [545(2476)/579 at 23m1s] samba.wbinfo_simple.allocate-uid(nt4_dc:local) [546(2477)/579 at 23m1s] samba.wbinfo_simple.allocate-gid(nt4_dc:local) [547(2478)/579 at 23m1s] samba.wbinfo_sids2xids.(nt4_dc:local)(nt4_dc:local) [548(2479)/579 at 23m7s] samba.ntlm_auth.diagnostics(nt4_dc:local)(nt4_dc:local) [549(2480)/579 at 23m8s] samba.ntlm_auth.(nt4_dc:local)(nt4_dc:local) [550(2499)/579 at 23m9s] samba.wbinfo_simple.ping(nt4_member:local) [551(2500)/579 at 23m9s] samba.wbinfo_simple.separator(nt4_member:local) [552(2501)/579 at 23m9s] samba.wbinfo_simple.own-domain(nt4_member:local) [553(2502)/579 at 23m9s] samba.wbinfo_simple.all-domains(nt4_member:local) [554(2503)/579 at 23m9s] samba.wbinfo_simple.trusted-domains(nt4_member:local) [555(2504)/579 at 23m10s] samba.wbinfo_simple.domain-info=BUILTIN(nt4_member:local) [556(2505)/579 at 23m10s] samba.wbinfo_simple.domain-info=$DOMAIN(nt4_member:local) [557(2506)/579 at 23m10s] samba.wbinfo_simple.online-status(nt4_member:local) [558(2507)/579 at 23m10s] samba.wbinfo_simple.online-status.domain=BUILTIN(nt4_member:local) [559(2508)/579 at 23m10s] samba.wbinfo_simple.online-status.domain=$DOMAIN(nt4_member:local) [560(2509)/579 at 23m10s] samba.wbinfo_simple.check-secret.domain=$DOMAIN(nt4_member:local) UNEXPECTED(failure): samba.wbinfo_simple.check-secret.domain=SAMBA-TEST.wbinfo(nt4_member:local) REASON: Exception: Exception: wbcCheckTrustCredentials(SAMBA-TEST): error code was NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (0xc0000233) failed to call wbcCheckTrustCredentials: WBC_ERR_AUTH_ERROR Could not check secret checking the trust secret for domain SAMBA-TEST via RPC calls failed FAILED (1 failures, 0 errors and 0 unexpected successes in 0 testsuites) A summary with detailed information can be found in: ./bin/ab/summary TOP 10 slowest tests samba3.raw.notify(nt4_dc) -> 102 samba3.smb2.notify(nt4_dc) -> 84 samba3.rpc.samr.passwords.lockout(nt4_dc) -> 62 samba4.rpc.echo on ncacn_np with object(nt4_dc) -> 60 samba3.smb2.compound_find(nt4_dc) -> 53 samba3.smb2.compound_find(nt4_dc) -> 52 samba3.rpc.samr.passwords.pwdlastset(nt4_dc) -> 48 samba3.smb2.lease(nt4_dc) -> 45 samba3.raw.oplock(nt4_dc) -> 44 samba3.raw.search(nt4_dc) -> 43 ERROR: test failed with exit code 1