Why does blkid fails on systems with more than 128 block devices ?

Solution Verified - Updated -

Issue

  • blkid takes very long to return when run on a system with more than 128 block devices attached an called without any arguments.

  • When blkid is called with an empty cache and a list of block devices (>128 again) it fails with a dump or segmentation fault:

root@blnfj1444 # blkid -c /dev/null /dev/sda* /dev/sdb* /dev/sdc*
/dev/sdd* /dev/cciss/c0d0* /dev/cciss/c0d1* /dev/cciss/c0d2* /dev/x*
/dev/sda1: LABEL="BOOT" UUID="cb1182ac-ceb4-46fe-b6b5-007746bc6209" SEC_TYPE="ext2" TYPE="ext3"
[...]
/dev/sddz: LABEL="" TYPE="oracleasm"
*** glibc detected *** blkid: munmap_chunk(): invalid pointer: 0x00007fffcec00be0 ***
======= Backtrace: =========
/lib64/libc.so.6(cfree+0x166)[0x2b33477469d6]
blkid[0x40134a]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2b33476f1994]
blkid[0x400df9]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:11 553374                             /sbin/blkid
00601000-00602000 rw-p 00001000 08:11 553374                             /sbin/blkid
1d164000-1d196000 rw-p 1d164000 00:00 0                                  [heap]
2b3346e86000-2b3346ea2000 r-xp 00000000 08:11 1887619                    /lib64/ld-2.5.so
2b3346ea2000-2b3346ea5000 rw-p 2b3346ea2000 00:00 0
2b33470a1000-2b33470a2000 r--p 0001b000 08:11 1887619                    /lib64/ld-2.5.so
[...]
2b3348521000-2b3348522000 rw-p 0000d000 08:11 1887853                    /lib64/libgcc_s-4.1.2-20080825.so.1
7fffcebec000-7fffcec01000 rw-p 7ffffffe9000 00:00 0                      [stack]
7fffced49000-7fffced4d000 r-xp 7fffced49000 00:00 0                      [vdso]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vsyscall]
Aborted

**********************************
root@blnfj1444 # blkid -c
/dev/null /dev/sda* /dev/sdb* /dev/sdc* /dev/sdd* /dev/cciss/c0d0*
/dev/cciss/c0d1* /dev/cciss/c0d2* /dev/cciss/c0d3*
/dev/sda1: LABEL="BOOT" UUID="cb1182ac-ceb4-46fe-b6b5-007746bc6209" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda2: LABEL="ADVOS0" UUID="52da8bf0-deb7-469f-baa2-00e0e2a699f9" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: LABEL="ADVAPPL0" UUID="03a56d9b-477f-42f7-9a84-bf9298de3f43" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: LABEL="ADVDATABASE" UUID="2e2f8e8b-8670-44b8-9fd3-0d38a72d7a7b" TYPE="ext3"
/dev/sda6: LABEL="ADVOS0.eh" UUID="c2726e19-e0e2-490e-ac58-7985be09b94d" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda7: LABEL="TMP" UUID="a5d01a7c-9050-4e31-adbf-fca6012fcfe6" TYPE="ext3"
/dev/sda8: LABEL="ADVOS0.var" UUID="f6e4a635-e3c7-4a4b-8e0f-16f7c51361f0" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdab: LABEL="" TYPE="oracleasm"
/dev/sdad: LABEL="" TYPE="oracleasm"
...
/dev/sddx: LABEL="" TYPE="oracleasm"
/dev/sddz: LABEL="" TYPE="oracleasm"
*** glibc detected *** blkid: munmap_chunk(): invalid pointer: 0x00007fffa9db5bd7 ***
======= Backtrace: =========
/lib64/libc.so.6(cfree+0x166)[0x2aba28e839d6]
blkid[0x40134a]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2aba28e2e994]
blkid[0x400df9]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:11 553374                             /sbin/blkid
00601000-00602000 rw-p 00001000 08:11 553374                             /sbin/blkid
0abb7000-0abe9000 rw-p 0abb7000 00:00 0                                  [heap]
2aba285c3000-2aba285df000 r-xp 00000000 08:11 1887619                    /lib64/ld-2.5.so
2aba285df000-2aba285e2000 rw-p 2aba285df000 00:00 0
...
2aba29a51000-2aba29a5e000 r-xp 00000000 08:11 1887853                    /lib64/libgcc_s-4.1.2-20080825.so.1
2aba29a5e000-2aba29c5e000 ---p 0000d000 08:11 1887853                    /lib64/libgcc_s-4.1.2-20080825.so.1
2aba29c5e000-2aba29c5f000 rw-p 0000d000 08:11 1887853                    /lib64/libgcc_s-4.1.2-20080825.so.1
7fffa9da1000-7fffa9db6000 rw-p 7ffffffe9000 00:00 0                      [stack]
7fffa9dfc000-7fffa9e00000 r-xp 7fffa9dfc000 00:00 0                      [vdso]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vsyscall]
Aborted

**************************************
root@blnfj1444 # blkid
-c /dev/null /dev/sda* /dev/sdb* /dev/sdc* /dev/sdd* /dev/cciss/c0d0*
/dev/cciss/c0d1* /dev/cciss/c0d2* /dev/sdd*
Segmentation fault

Environment

  • Red Hat Enterprise Linux, all releases
  • more than 128 block ( storage ) devices attached

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.