It's dash. dash source src/expand.c, function expmeta calls to readdir(), which may throw EOVERFLOW when some field size doesn't fit, and add AC_SYS_LARGEFILE to configure.ac fixes this problem.
=== BEGIN dash TRACE === Tracing started. waitforjob(%0) called pid 15608, evaltree(0xfffef918: 0, 1) called evalcommand(0xfffef918, 1) called expandmeta(0xfffef948, 3) called expandmeta(0xfffef968, 3) called expandmeta str: /usr/share/vim/* expmeta(/usr/share/vim/*, 16, 0) called expmeta metaflag 1 expmeta opendir(/usr/share/vim/) expmeta begin loop expmeta break loop: readdir error, errno 75 expmeta end loop evalcommand arg: ls evalcommand arg: /usr/share/vim/* searchexec "ls" returns "/usr/bin/ls" === END dash TRACE === You-Sheng Yang