Bug 137323 - scripts/basic/split-include fails to stat include/linux/autoconf.h
scripts/basic/split-include fails to stat include/linux/autoconf.h
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-10-27 11:29 EDT by Christoph Hellwig
Modified: 2015-01-04 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-10-05 23:56:24 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Christoph Hellwig 2004-10-27 11:29:01 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.7.3)
Gecko/20041007 Epiphany/1.2.8

Description of problem:
When trying to build a kernel (rpmbuild --rebuild
kernel-2.6.9-1.643.src.rpm or manual build of mainline) the build
fails with

-------- snip --------
scripts/basic/split-include: include/linux/autoconf.h: Invalid argument
make: *** [include/config/MARKER] Error 1
-------- snip --------

putting some instrumentation in there shows that the first stat
(in line 76) fails with -ENODEV.

strace doesn't really give usefull output, it doesn't even include
the failing stat:

-------- snip --------
execve("./scripts/basic/split-include",
["./scripts/basic/split-include", "include/linux/autoconf.h",
"include/linux/config"], [/* 23 vars */]) = 0
uname({sys="Linux", node="bunny.lst.de", ...}) = 0
brk(0)                                  = 0x502000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95556000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=112215, ...}) = 0
mmap(NULL, 112215, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2a95557000
close(3)                                = 0
open("/lib64/tls/libc.so.6", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\305\301"...,
640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"...,
32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=1606872, ...}) = 0
mmap(0x3fd8c00000, 2297832, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fd8c00000
mprotect(0x3fd8d28000, 1085416, PROT_NONE) = 0
mmap(0x3fd8e00000, 184320, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x3fd8e00000
mmap(0x3fd8e2d000, 16360, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3fd8e2d000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95573000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95574000
mprotect(0x3fd8e27000, 16384, PROT_READ) = 0
mprotect(0x3fd8b14000, 4096, PROT_READ) = 0
arch_prctl(0x1002, 0x2a95573b00)        = 0
munmap(0x2a95557000, 112215)            = 0
write(2, "./scripts/basic/split-include: ", 31) = 31
write(2, "include/linux/autoconf.h: Invali"..., 43) = 43
exit_group(0x1, 0x1, 0x3fd8c64d60, 0, 0x3c <unfinished ... exit status 1>
-------- snip --------

This is a FC3 install updated to yersterday's rawhide.

Version-Release number of selected component (if applicable):
2.6.9-1.643

How reproducible:
Always

Steps to Reproduce:
1. try to build a kernel
2.
3.
    

Actual Results:  split-include aborts

Expected Results:  split-include creates include/linux/config/* files

Additional info:
Comment 1 Dave Jones 2004-10-28 20:00:44 EDT
-ENODEV  ?! wtf ?

can you add a printf ("FOO! %s\n", str_file_autoconf);

and find out what its trying to open ?
Here it seems to do the right thing (on the -637 kernel, and nothing really
stands out as obvious candidate between 637 -> 643).

I'll reboot in a sec, and try to reproduce.

Does your /dev look ok ?  Running latest udev ?
Comment 2 Dave Jones 2004-10-28 20:09:56 EDT
hmm, works just fine for me (on x86-64 too)

with my above debug printf it just prints out 'include/linux/autoconf.h'
as expected. I'm strongly suspecting something has hosed your /dev
Comment 3 Dave Jones 2005-09-28 06:04:00 EDT
did this ever get fixed ?

Note You need to log in before you can comment on or make changes to this bug.