[LU-7452] (obd_class.h:815:obd_connect()) ASSERTION( (!(data != ((void *)0)) || ((data->ocd_connect_flags & ocf) == data->ocd_connect_flags)) ) failed Created: 20/Nov/15  Updated: 20/Nov/15  Resolved: 20/Nov/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.8.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: John Hammond Assignee: WC Triage
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates LU-7185 restore flags on ptlrpc_connect_impor... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

There are error paths in client_connect_import() that leave OBD_CONNECT_MULTIMODRPCS set in ocd_connect_flags triggering the assertion in obd_connect():

        rc = OBP(obd, connect)(env, exp, obd, cluuid, data, localdata);
        /* check that only subset is granted */
        LASSERT(ergo(data != NULL, (data->ocd_connect_flags & ocf) ==
                                    data->ocd_connect_flags));

For example:

# mount /tmp/lustre-mdt1 /mnt/mds1 -t lustre -o loop
# mount /tmp/lustre-ost1 /mnt/ost1 -t lustre -o loop
# mount /tmp/lustre-ost2 /mnt/ost2 -t lustre -o loop
# lctl conf_param lustre.srpc.flavor.default=gssnull
# sleep 10
# mount $HOSTNAME@tcp:/lustre /mnt/lustre -t lustre
[  264.668376] LustreError: 2848:0:(obd_class.h:815:obd_connect()) ASSERTION( (!(data != ((void *)0)) || ((data->ocd_connect_flags & ocf) == data->ocd_connect_flags)) ) failed: 
[  264.673915] LustreError: 2848:0:(obd_class.h:815:obd_connect()) LBUG
[  264.675538] Pid: 2848, comm: mount.lustre
[  264.676474] 
[  264.676475] Call Trace:
[  264.677453]  [<ffffffffa02be8b5>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
[  264.679089]  [<ffffffffa02beeb7>] lbug_with_loc+0x47/0xb0 [libcfs]
[  264.680640]  [<ffffffffa09336a9>] lmv_connect_mdc+0x1189/0x11f0 [lmv]
[  264.682140]  [<ffffffffa093a606>] ? lmv_check_connect+0x106/0x880 [lmv]
[  264.683726]  [<ffffffffa093a673>] lmv_check_connect+0x173/0x880 [lmv]
[  264.704985]  [<ffffffffa042303b>] ? lprocfs_register+0x1b/0x80 [obdclass]
[  264.726177]  [<ffffffffa0941388>] lmv_connect+0x2b8/0x380 [lmv]
[  264.746110]  [<ffffffffa0f91498>] client_common_fill_super+0x318/0x4a10 [lustre]
[  264.775932]  [<ffffffff812ace70>] ? sprintf+0x40/0x50
[  264.807793]  [<ffffffffa0f96847>] ? ll_fill_super+0xcb7/0x1460 [lustre]
[  264.820487]  [<ffffffffa0f96922>] ll_fill_super+0xd92/0x1460 [lustre]
[  264.832801]  [<ffffffffa044685d>] lustre_fill_super+0x74d/0x990 [obdclass]
[  264.847970]  [<ffffffffa0446110>] ? lustre_fill_super+0x0/0x990 [obdclass]
[  264.858582]  [<ffffffff811a645f>] get_sb_nodev+0x5f/0xa0
[  264.866192]  [<ffffffffa043d7b5>] lustre_get_sb+0x25/0x30 [obdclass]
[  264.880634]  [<ffffffff811a5a4b>] vfs_kern_mount+0x7b/0x1b0
[  264.889468]  [<ffffffff811a5bf2>] do_kern_mount+0x52/0x130
[  264.898648]  [<ffffffff811c7d2b>] do_mount+0x2fb/0x920
[  264.908643]  [<ffffffff811c83e0>] sys_mount+0x90/0xe0
[  264.924500]  [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
[  264.945139] 


 Comments   
Comment by Jeremy Filizetti [ 20/Nov/15 ]

This is a duplicate of LU-7185 I believe. I've already posted a patch for that but it likely needs to be refreshed.

Generated at Sat Feb 10 02:09:02 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.