Gentoo Archives: gentoo-user

From: Alexander Kapshuk <alexander.kapshuk@×××××.com>
To: Gentoo mailing list <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] kernel 4.9.77 error segfault in compile.
Date: Tue, 23 Jan 2018 08:20:27
Message-Id: CAJ1xhMUDBd1Pa2Agg6gFUcKPwPU1PjHjjG69_Xy7MG9FePmK1Q@mail.gmail.com
In Reply to: Re: [gentoo-user] kernel 4.9.77 error segfault in compile. by Corbin Bird
1 On Tue, Jan 23, 2018 at 10:03 AM, Corbin Bird <corbinbird@×××××××.net> wrote:
2 >
3 >
4 > On 01/23/2018 01:42 AM, Alexander Kapshuk wrote:
5 >> On Tue, Jan 23, 2018 at 4:34 AM, Corbin Bird <corbinbird@×××××××.net> wrote:
6 >>> On 01/22/2018 11:56 AM, Rich Freeman wrote:
7 >>>> On Mon, Jan 22, 2018 at 12:11 PM, Alexander Kapshuk
8 >>>> <alexander.kapshuk@×××××.com> wrote:
9 >>>>> On Mon, Jan 22, 2018 at 5:51 PM, Corbin Bird <corbinbird@×××××××.net> wrote:
10 >>>>>> Anyone else getting this error? ( kernel 4.9.77 )
11 >>>>>>
12 >>>>>>> CC fs/ext4/mballoc.o
13 >>>>>>> CC fs/ext4/block_validity.o
14 >>>>>>> CC fs/ext4/move_extent.o
15 >>>>>>> CC fs/ext4/mmp.o
16 >>>>>>> CC fs/ext4/indirect.o
17 >>>>>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't
18 >>>>>>> find jump dest instruction at .text+0x56c
19 >>>>>>> CC fs/ext4/extents_status.o
20 >>>>>>> /bin/sh: line 1: 31735 Segmentation fault ./tools/objtool/objtool
21 >>>>>>> check "fs/ext4/extents_status.o"
22 >>>>>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o]
23 >>>>>>> Error 139
24 >>>>>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2
25 >>>>>>> make: *** [Makefile:995: fs] Error 2
26 >>>>>> Corbin
27 >>>>>>
28 >>>>>>
29 >>>>> Based on the output you supplied, objtool isn't happy with
30 >>>>> fs/ext4/indirect.o and fs/ext4/extents_status.o.
31 >>>>> Did you do 'make clean' prior to building the kernel?
32 >>>>> If you did, it might be worth doing a 'make mrproper' before
33 >>>>> rebuilding the kernel.
34 >>>>> Don't forget to back up your .config before running mrproper.
35 >>>>>
36 >>>> While this is going to cause a bit more building, I personally tend to
37 >>>> redirect kernel build output. I add O=/var/tmp/linux to all my make
38 >>>> commands, which leaves /usr/src untouched and builds faster besides
39 >>>> (tmpfs).
40 >>>>
41 >>>> The main downsides to this are:
42 >>>> 1. Make can't re-use objects from previous builds, so rebuilds will
43 >>>> go slower. Though, IMO this is worthwhile if re-using those objects
44 >>>> causes issues (which I assume is due to imperfect makefiles).
45 >>>> 2. When building packages that install kernel modules the prepared
46 >>>> sources won't exist. This requires going back and re-preparing them
47 >>>> (make O=/var/tmp/linux modules_prepare). For packages like zfs-kmod
48 >>>> that use Module.symvers this is even more painful as you can only get
49 >>>> that by rebuilding the whole thing.
50 >>>>
51 >>> Tried both approaches ... the results :
52 >>>> make distclean
53 >>>> make mrproper
54 >>>> --> copy over .config
55 >>>> make modules_prepare
56 >>>> make && make modules_install
57 >>>>
58 >>>> CC fs/ext4/block_validity.o
59 >>>> CC fs/ext4/move_extent.o
60 >>>> CC fs/ext4/mmp.o
61 >>>> CC fs/ext4/indirect.o
62 >>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't
63 >>>> find jump dest instruction at .text+0x56c
64 >>>> CC fs/ext4/extents_status.o
65 >>>> /bin/sh: line 1: 24095 Segmentation fault ./tools/objtool/objtool
66 >>>> check "fs/ext4/extents_status.o"
67 >>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o]
68 >>>> Error 139
69 >>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2
70 >>>> make: *** [Makefile:995: fs] Error 2
71 >>>>
72 >>>>
73 >>> Try 2 :
74 >>>> make distclean
75 >>>> make mrproper
76 >>>> --> copy over .config
77 >>>> make O=/var/tmp/linux modules_prepare
78 >>>> make O=/var/tmp/linux && make O=/var/tmp/linux modules_install
79 >>>>
80 >>>> CC fs/ext4/move_extent.o
81 >>>> CC fs/ext4/mmp.o
82 >>>> CC fs/ext4/indirect.o
83 >>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't
84 >>>> find jump dest instruction at .text+0x56c
85 >>>> CC fs/ext4/extents_status.o
86 >>>> /bin/sh: line 1: 21028 Segmentation fault ./tools/objtool/objtool
87 >>>> check "fs/ext4/extents_status.o"
88 >>>> make[3]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:294:
89 >>>> fs/ext4/extents_status.o] Error 139
90 >>>> make[2]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:544:
91 >>>> fs/ext4] Error 2
92 >>>> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:995: fs] Error 2
93 >>>> make[1]: Leaving directory '/var/tmp/linux'
94 >>>> make: *** [Makefile:150: sub-make] Error 2
95 >>> Try 2 gave an error warning about needing an 'make mrproper' ... the error :
96 >>>> CHK include/config/kernel.release
97 >>>> UPD include/config/kernel.release
98 >>>> Using /usr/src/linux-4.9.77-gentoo as source for kernel
99 >>>> /usr/src/linux-4.9.77-gentoo is not clean, please run 'make mrproper'
100 >>>> in the '/usr/src/linux-4.9.77-gentoo' directory.
101 >>>> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:1021: prepare3]
102 >>>> Error 1
103 >>>> make[1]: Leaving directory '/var/tmp/linux'
104 >>>> make: *** [Makefile:150: sub-make] Error 2
105 >>> So ... I followed directions :
106 >>>> Darkstar /usr/src/linux # cd /usr/src/linux-4.9.77-gentoo
107 >>>> Darkstar /usr/src/linux-4.9.77-gentoo # make mrproper
108 >>>> CLEAN scripts/basic
109 >>>> CLEAN scripts/kconfig
110 >>>> CLEAN .config
111 >>> Still get the same error ...
112 >>>
113 >>> Corbin
114 >>>
115 >> Is this a distribution supplied kernel or vanilla or one with your own
116 >> customisations/modifications?
117 >>
118 >
119 > Using 'sys-kernel/gentoo-sources-4.9.77' with USE flags : modules
120 > symlink experimental.
121 > Both gcc && binutils have been upgraded to the latest stable / no signs
122 > of them giving trouble.
123 >
124 > Beginning to think that something corrupted during the emerge process ...
125 >
126 > Corbin
127 >
128 >
129
130 The 4.9.77 announcement upstream did introduce a number of objtool
131 changes. See below.
132 https://lkml.org/lkml/2018/1/17/198
133 Josh Poimboeuf (4):
134 objtool, modules: Discard objtool annotation sections for modules
135 objtool: Detect jumps to retpoline thunks
136 objtool: Allow alternatives to be ignored
137 objtool: Fix retpoline support for pre-ORC objtool
138
139 I can't seem to remember seeing reports of the issue you're having on
140 the LMKL, since 4.9.77 was announced.
141 As you said, try re-emerging the gentoo kernel, make mrproper, no need
142 for distclean, which does run mrproper as part of its operation, and
143 see if that helps.
144 Alternatively, you could try building the upstream version of 4.9.77,
145 and see if that works. Let me know if you need instructions on how to
146 proceed with that.

Replies

Subject Author
Re: [gentoo-user] kernel 4.9.77 error segfault in compile. Corbin Bird <corbinbird@×××××××.net>