On 27.03.2016 05:01, Yuriy M. Kaminskiy wrote:
On 27.03.2016 03:36, Kingsley G. Morse Jr. wrote:
Hi Yuriy,

OK, that all makes sense.

Here's the full trace with symbols:

#8 0x8017f167 in path_compare (a=<optimized out>, b=0x0) at ../src/basic/path-util.c:390
         d = <optimized out>
         __PRETTY_FUNCTION__ = "path_compare"

so, it assert() as `b == NULL`
#9  0x8017f308 in path_equal () at ../src/basic/path-util.c:433
No locals.
#10 0x8010c661 in device_setup_unit (m=m@entry=0x81f377f8, dev=dev@entry=0x0, path=path@entry=0x82005aa8 "/dev/sde1", main=false) at ../src/core/device.c:324
         e = 0x82006760 "dev-sde1.device"
         sysfs = <optimized out>
         u = 0x8200bad0
         delete = <optimized out>
         r = <optimized out>
         __PRETTY_FUNCTION__ = "device_setup_unit"
         __func__ = "device_setup_unit"

and here argument `b` is sysfs, so sysfs was NULL;
and it is NULL as dev was NULL.

#11 0x8010fbf3 in device_found_node (m=m@entry=0x81f377f8, node=0x82005aa8 "/dev/sde1", add=add@entry=true, found=DEVICE_FOUND_MOUNT, now=true) at ../src/core/device.c:830
         dev = 0x0
st = {st_dev = 53688455864, __pad1 = 0, __st_ino = 7, st_mode = 2149927392, st_nlink = 2149927392, st_uid = 2149927392, st_gid = 3219526928, st_rdev = 13827762142796840961, __pad2 = 5223, st_size = -5234089312160518424, st_blksize = -1218656384, st_blocks = -5234089864091353088, st_atim = {tv_sec = 224449792, tv_nsec = -2113906008}, st_mtim = { tv_sec = -2113877109, tv_nsec = -2146119061}, st_ctim = {tv_sec = -2145039904, tv_nsec = -2113876944}, st_ino = 13827762864351346689}
         __PRETTY_FUNCTION__ = "device_found_node"
         __func__ = "device_found_node"

and here dev could be NULL only if stat() returned error, and that error was ENOENT (see line 822).

Regression by commit v228-745-gac9d396. Before that commit, device_setup_unit checked that sysfs is not NULL before calling path_equals().
I'd guess this commit should be just reverted.

See also upstream commit 5e1558f4a09e596561c9168384f2258e7c0718a1

P.S. asserts, asserts, asserts everywhere. /me hates.

[...]

I hope that helps,
Kingsley



Reply via email to