| Summary: | Value too large for defined data type | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | David <h264959> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | critical | CC: | busybox-cvs, camelot |
| Priority: | P5 | ||
| Version: | 1.19.x | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Other | ||
| Host: | Target: | ||
| Build: | |||
| Attachments: | config | ||
> I//system/xbin/busybox( 109): run-parts: /system/etc/init.d: Value too large for defined data type
> I/logwrapper( 109): /system/xbin/busybox terminated by exit(0)
bug still exist in the v1.20 stable
(In reply to comment #0) > Created attachment 4268 [details] > config > > I just cross compiled busybox (android 4.0.4) v1.19.4 > > that's the error I get: > I//system/xbin/busybox( 109): run-part:s /system/etc/init.d: Value too large > for defined data type I believe that's E2BIG error returned by one of system calls. Can you strace the run-parts invocation which causes this, and show its command line and input data (the file inside /system/etc/init.d which causes this)? BusyBox v1.20.2 shows "Value too large for defined data type" by "df" applet.
This only if a dav2fs share is mounted. This worked some while ago
strace -f /bin/df
...
statfs("/proc/fs/nfsd", {f_type=0x6e667364, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0
statfs("/var/media/autofs", {f_type=0x187, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0
statfs("/var/media/autofs/GMX", 0x7fb59f28) = -1 EOVERFLOW (Value too large for defined data type)
brk(0x49f000) = 0x49f000
brk(0x4a0000) = 0x4a0000
write(2, "df: /var/media/autofs/GMX: Value"..., 65df: /var/media/autofs/GMX: Value too large for defined data type
) = 65
read(3, "", 4096) = 0
close(3) = 0
exit(1) = ?
addition to my last comment: I "fixed" the problem by removing some files. 100% (or more) of 1GB space were used. Now 24% and the problem is gone -.- (In reply to comment #3) > BusyBox v1.20.2 shows "Value too large for defined data type" by "df" applet. > This only if a dav2fs share is mounted. This worked some while ago > > > strace -f /bin/df > ... > statfs("/proc/fs/nfsd", {f_type=0x6e667364, f_bsize=4096, f_blocks=0, > f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0 > statfs("/var/media/autofs", {f_type=0x187, f_bsize=4096, f_blocks=0, f_bfree=0, > f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0 > statfs("/var/media/autofs/GMX", 0x7fb59f28) = -1 EOVERFLOW (Value too large for > defined data type) Hmm. The problem is that it uses statfs syscall, not statfs64. But C source uses statfs _function_ call, not _syscall_, it's the duty of libc to use correct _syscall_. I just verified on my machine that glibc uses statfs64 syscall to implement statfs (with LFS=y), but, for example, uclibc uses statfs (and is probably prone to the same failure you see). |
Created attachment 4268 [details] config I just cross compiled busybox (android 4.0.4) v1.19.4 that's the error I get: I//system/xbin/busybox( 109): run-part:s /system/etc/init.d: Value too large for defined data type I/logwrapper( 109): /system/xbin/busybox terminated by exit(0) in the config (attached) CONFIG_LFS is set to Y. reading about on some forums over the net seems to be a busybox bug. my linuxbox: ubuntu 11.04 x64 (sorry for my english)