Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel Oops on 32-bit ARM #4048

Closed
gordan-bobic opened this issue Nov 26, 2015 · 18 comments
Closed

Kernel Oops on 32-bit ARM #4048

gordan-bobic opened this issue Nov 26, 2015 · 18 comments
Milestone

Comments

@gordan-bobic
Copy link
Contributor

[ 5259.711586] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 5259.711600] pgd = c0004000
[ 5259.711609] [00000048] *pgd=00000000
[ 5259.711624] Internal error: Oops: 17 [#1] SMP ARM
[ 5259.711632] Modules linked in: xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops btmrvl_sdio mwifiex_sdio btmrvl videobuf2_core mwifiex v4l2_common videodev bluetooth cfg80211 media s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate ipv6
[ 5259.711891] CPU: 3 PID: 484 Comm: kswapd0 Tainted: P O 4.3.0-1.el7.armv5tel #1
[ 5259.711898] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 5259.711905] task: e063e900 ti: e04c8000 task.ti: e04c8000
[ 5259.712227] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 5259.712243] LR is at __wake_up_bit+0x20/0x54
[ 5259.712252] pc : [] lr : [] psr: 00000113
sp : e04c9d90 ip : e04c9d50 fp : 0000008a
[ 5259.712263] r10: 00002001 r9 : bf302b08 r8 : bf2e2b08
[ 5259.712271] r7 : e04d0d00 r6 : e04d0d00 r5 : 00000000 r4 : 00007000
[ 5259.712279] r3 : e04d0b00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 5259.712289] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 5259.712297] Control: 10c5387d Table: 259b006a DAC: 00000051
[ 5259.712306] Process kswapd0 (pid: 484, stack limit = 0xe04c8210)
[ 5259.712315] Stack: (0xe04c9d90 to 0xe04ca000)
[ 5259.712324] 9d80: ffffffff 00008007 00000000 e04c9df8
[ 5259.712335] 9da0: bf26ea80 00000000 c066240c bf11afbc 00000000 bf1edad0 00008007 00000080
[ 5259.712344] 9dc0: 00000000 c00add48 e04c9e1c e04c9e18 00000000 00000080 00000056 00000000
[ 5259.712354] 9de0: 00000000 00000000 0000015c 000000d0 00000000 0001024c 000000d0 00000080
[ 5259.712363] 9e00: 00000000 00000000 c0697500 c0697500 e04c9f04 0000002f c0697810 00000000
[ 5259.712373] 9e20: 00000004 00000000 00000001 c00afcc0 00000000 c004fbcc 00000000 00000000
[ 5259.712384] 9e40: dc7e1400 0001024c 00000000 e04c9f00 00000000 00000008 00000000 e04c8000
[ 5259.712394] 9e60: 000008c1 00000001 00000000 00000000 00000000 00000000 00000481 00000000
[ 5259.712405] 9e80: 00000000 0000003f 00000041 00000481 e04c9e90 e04c9e90 e04c9e98 e04c9e98
[ 5259.712414] 9ea0: e04c9ea0 e04c9ea0 e063e900 c06970c0 00000001 00000000 c0697500 00000000
[ 5259.712424] 9ec0: 0000044a c06977bc e063e900 c00b0938 c000a608 ffffffff 00000000 000004a0
[ 5259.712433] 9ee0: 00000000 00000001 c0662418 c0662414 00000001 00000000 e04c8000 00000001
[ 5259.712442] 9f00: 00000641 000008c1 000000d0 00000000 00000000 00000000 00000009 00000007
[ 5259.712452] 9f20: 00000057 0000002f c00b031c e060e700 00000000 c06970c0 c00b031c 00000000
[ 5259.712461] 9f40: 00000000 00000000 00000000 c003c280 0420804c 00000000 c066b930 c06970c0
[ 5259.712471] 9f60: 00000000 00000000 dead4ead ffffffff ffffffff e04c9f74 e04c9f74 00000000
[ 5259.712481] 9f80: 00000000 dead4ead ffffffff ffffffff e04c9f90 e04c9f90 e04c9fac e060e700
[ 5259.712490] 9fa0: c003c1a4 00000000 00000000 c000edf8 00000000 00000000 00000000 00000000
[ 5259.712499] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 5259.712508] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 5259.712706] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 5259.712787] [](arc_shrinker_func_scan_objects [zfs]) from
[ 5259.712803] from
[ 5259.712814] from
[ 5259.712830] from
[ 5259.712846] from
[ 5259.712860] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 5259.712919] ---[ end trace 58e3248830d2802c ]---
[ 5259.759073] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 5259.759090] pgd = dcfd0000
[ 5259.759099] [00000048] *pgd=00000000
[ 5259.759115] Internal error: Oops: 5 [#2] SMP ARM
[ 5259.759123] Modules linked in: xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops btmrvl_sdio mwifiex_sdio btmrvl videobuf2_core mwifiex v4l2_common videodev bluetooth cfg80211 media s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate ipv6
[ 5259.759391] CPU: 0 PID: 4239 Comm: systemd-journal Tainted: P D O 4.3.0-1.el7.armv5tel #1
[ 5259.759400] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 5259.759409] task: e0553c00 ti: dcfa0000 task.ti: dcfa0000
[ 5259.759772] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 5259.759784] LR is at __wake_up_bit+0x20/0x54
[ 5259.759794] pc : [] lr : [] psr: 00000113
sp : dcfa1c08 ip : dcfa1bc8 fp : 00000098
[ 5259.759803] r10: 00001fe0 r9 : bf302b08 r8 : bf2e2b08
[ 5259.759812] r7 : e04d0d00 r6 : e04d0d00 r5 : 00000000 r4 : 00007000
[ 5259.759820] r3 : e04d0b00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 5259.759830] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 5259.759838] Control: 10c5387d Table: 3cfd006a DAC: 00000051
[ 5259.759846] Process systemd-journal (pid: 4239, stack limit = 0xdcfa0210)
[ 5259.759854] Stack: (0xdcfa1c08 to 0xdcfa2000)
[ 5259.759864] 1c00: ffffffff 00007f82 00000000 dcfa1c70 bf26ea80 00000000
[ 5259.759874] 1c20: c066240c bf11afbc 00000000 bf1edad0 00007f82 00000080 00000000 c00add48
[ 5259.759884] 1c40: dcfa1c94 dcfa1c90 00000000 00000080 0000001e 00000000 00000000 00000000
[ 5259.759893] 1c60: 0000007c 000200da 00000000 0001020d 000200da 00000080 00000000 00000000
[ 5259.759903] 1c80: c0697500 c0697500 dcfa1d74 00000036 c0697810 00000000 00000004 00000000
[ 5259.759912] 1ca0: 00000020 c00afcc0 000002cb 00000000 00000000 00000000 00000000 0001020d
[ 5259.759921] 1cc0: 00000000 dcfa1df8 00000000 00000017 00000000 dcfa0000 00000020 00000001
[ 5259.759931] 1ce0: 00000000 00000000 00000000 00000000 e135202c 00000000 00000000 0000001f
[ 5259.759941] 1d00: 00000020 e135202c dcfa1d08 dcfa1d08 dcfa1d10 dcfa1d10 dcfa1d18 dcfa1d18
[ 5259.759951] 1d20: de1dc100 c0697500 c0697d84 c0662420 0000001b 00000000 00000002 00000001
[ 5259.759961] 1d40: 00000000 c00b0254 000002dc c00a721c 000000c0 000200da c0697d80 0000000c
[ 5259.759971] 1d60: c0697d94 00000000 00000001 00000002 60000113 00000020 000200da 00000000
[ 5259.759980] 1d80: 00000000 00000000 0000000a 00000007 0000001f 00000036 00000000 000200da
[ 5259.759989] 1da0: dcfa0000 000000c0 00000000 00000000 00000001 00000000 00000000 c00a7918
[ 5259.759999] 1dc0: 00000000 dcfa1df4 dcfa1df3 dcfa1dc8 00000000 00000040 00000000 00000050
[ 5259.760008] 1de0: 000000c0 00000000 00000010 00000002 006d3480 00000000 00001572 c042b8ec
[ 5259.760017] 1e00: 00000000 c00bd98c c0697d80 00000000 c0697500 00000001 00000002 00000002
[ 5259.760027] 1e20: c9dfd000 c514faa8 b0efb000 00000000 c9dfd3ec dcfd0000 00000000 e0e35f80
[ 5259.760037] 1e40: c9dfd000 c00c0ebc 00000001 c0665140 20000193 c042b8ec 80000193 c042b8ec
[ 5259.760046] 1e60: 00000587 00000055 000000fb 000003ec dcfd2c38 14da126c 00000000 e0553c48
[ 5259.760056] 1e80: dd77f0c0 001b46e9 00000000 c004819c 00000001 e0f10900 0000232d dcfa1fb0
[ 5259.760066] 1ea0: b0efb000 00000055 e0553c00 e0e35f80 00000817 e0e35fc4 c514faa8 c001a184
[ 5259.760077] 1ec0: a09b3275 000004c8 00f1ef33 00000000 e134f190 00000000 b0efa000 00000000
[ 5259.760087] 1ee0: 00000800 00000000 de1dc100 00000817 b0efb000 c066cde4 dcfa1fb0 10c5387d
[ 5259.760097] 1f00: 00000000 beffcda0 b6efd928 c00092b8 dc490a00 c042b8fc e0553c00 c003fe2c
[ 5259.760108] 1f20: c000a608 ffffffff 00000000 c003cf48 dba5a018 e0553c00 e134f140 de1dc100
[ 5259.760118] 1f40: e0e35f80 e076d500 c0668e84 c0665140 dcfa1f8c c0427914 c0662568 00000000
[ 5259.760126] 1f60: e0c10000 00000001 00000000 dcfa0000 dcfa1fb0 00000000 10c5387d 00000000
[ 5259.760136] 1f80: dcfa0000 beffcda0 dcfa1f9c c0427b98 dcfa1fa0 dcfa0000 b6efd928 b6d6fb88
[ 5259.760144] 1fa0: 20000010 ffffffff 10c5387d c00132fc b0745008 00000000 0088b000 b0efb000
[ 5259.760153] 1fc0: 7f5b4d70 ffffffff 7f5b4d70 b6fc6eb8 7f5b4cb8 00000000 beffcda0 b6efd928
[ 5259.760162] 1fe0: 00000000 beffcd18 b6ef43e0 b6d6fb88 20000010 ffffffff 00000000 00000000
[ 5259.760351] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 5259.760428] [](arc_shrinker_func_scan_objects [zfs]) from
[ 5259.760443] from
[ 5259.760456] from
[ 5259.760474] from
[ 5259.760493] from
[ 5259.760512] from
[ 5259.760526] from
[ 5259.760537] from
[ 5259.760545] Exception stack(0xdcfa1fb0 to 0xdcfa1ff8)
[ 5259.760553] 1fa0: b0745008 00000000 0088b000 b0efb000
[ 5259.760563] 1fc0: 7f5b4d70 ffffffff 7f5b4d70 b6fc6eb8 7f5b4cb8 00000000 beffcda0 b6efd928
[ 5259.760571] 1fe0: 00000000 beffcd18 b6ef43e0 b6d6fb88 20000010 ffffffff
[ 5259.760582] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 5259.760621] ---[ end trace 58e3248830d2802d ]---
[ 5259.853561] systemd-journald[14179]: File /run/log/journal/4e24bd32ade844409612a9d6bbc40e5d/system.journal corrupted or uncleanly shut down, renaming and replacing.
[ 5259.996657] systemd-journald[14179]: Received request to flush runtime journal from PID 1
[ 5344.599944] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 5344.599956] pgd = c5e90000
[ 5344.599963] [00000048] *pgd=3cec9831, *pte=00000000, *ppte=00000000
[ 5344.599983] Internal error: Oops: 17 [#3] SMP ARM
[ 5344.599990] Modules linked in: xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops btmrvl_sdio mwifiex_sdio btmrvl videobuf2_core mwifiex v4l2_common videodev bluetooth cfg80211 media s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate ipv6
[ 5344.600201] CPU: 1 PID: 14203 Comm: as Tainted: P D O 4.3.0-1.el7.armv5tel #1
[ 5344.600208] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 5344.600216] task: d0e91400 ti: c5e54000 task.ti: c5e54000
[ 5344.600526] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 5344.600537] LR is at __wake_up_bit+0x20/0x54
[ 5344.600545] pc : [] lr : [] psr: 00000113
sp : c5e55c08 ip : c5e55bc8 fp : 0000008a
[ 5344.600553] r10: 00001fe9 r9 : bf302b08 r8 : bf2e2b08
[ 5344.600560] r7 : e04d0d00 r6 : e04d0d00 r5 : 00000000 r4 : 00007000
[ 5344.600566] r3 : e04d0b00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 5344.600575] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 5344.600583] Control: 10c5387d Table: 25e9006a DAC: 00000051
[ 5344.600590] Process as (pid: 14203, stack limit = 0xc5e54210)
[ 5344.600597] Stack: (0xc5e55c08 to 0xc5e56000)
[ 5344.600607] 5c00: ffffffff 00007fa5 00000000 c5e55c70 bf26ea80 00000000
[ 5344.600616] 5c20: c066240c bf11afbc 00000000 bf1edad0 00007fa5 00000080 00000000 c00add48
[ 5344.600627] 5c40: c5e55c94 c5e55c90 00000000 00000080 0000001a 00000000 00000000 00000000
[ 5344.600639] 5c60: 0000006c 000200da 00000000 00010142 000200da 00000080 00000000 00000000
[ 5344.600650] 5c80: c0697500 c0697500 c5e55d74 00000005 c0697810 00000000 00000004 00000000
[ 5344.600661] 5ca0: 00000010 c00afcc0 004bc3a0 00000000 00000000 00000000 004bc3a0 00010142
[ 5344.600671] 5cc0: 00000000 c5e55df8 00000000 00000002 00000000 c5e54000 00000020 00000001
[ 5344.600682] 5ce0: 00000000 00000000 00000000 00000000 e135e02c 00000000 00000000 0000000f
[ 5344.600694] 5d00: 00000010 e135e02c c5e55d08 c5e55d08 c5e55d10 c5e55d10 c5e55d18 c5e55d18
[ 5344.600706] 5d20: e135b190 c0697500 c0697d84 c0662420 0000000e 00000000 00000002 00000001
[ 5344.600717] 5d40: 00000000 c00b0254 000002dc c00a721c 000000c0 000200da c0697d80 0000000c
[ 5344.600727] 5d60: c0697d94 00000000 00000001 00000002 60000113 00000020 000200da 00000000
[ 5344.600736] 5d80: 00000000 00000000 0000000b 00000007 0000001b 00000005 e135b140 000200da
[ 5344.600744] 5da0: c5e54000 000000c0 00000000 00000000 00000001 00000000 00000000 c00a7918
[ 5344.600753] 5dc0: 00000000 c5e55df4 c5e55df3 c5e55dc8 00000000 00000040 00000000 00000050
[ 5344.600763] 5de0: 000000c0 00000000 00000010 00000002 006d3480 00000000 00001558 c042b8ec
[ 5344.600771] 5e00: 00000000 c00bd98c c0697d80 00000000 c0697500 00000001 00000002 00000002
[ 5344.600780] 5e20: c549f000 c6206948 007f4000 00000000 c549f7d0 c5e90000 00000000 e0e36840
[ 5344.600789] 5e40: c549f000 c00c0ebc c5e55e80 e0559800 e0e1b210 c006b67c 565723dc 3a501850
[ 5344.600798] 5e60: 00000003 00000055 000001f4 000007d0 c5e90018 c00f3388 dafe67d0 d9603600
[ 5344.600806] 5e80: e0e1b210 00001000 00000000 00000000 dafe67d0 c00f4b28 565723dc c5e55fb0
[ 5344.600815] 5ea0: 007f4474 00000055 d0e91400 e0e36840 00000817 e0e36884 c6206948 c001a184
[ 5344.600823] 5ec0: 00000001 00000007 c0437e80 c5e55f0c 00000000 00000000 007f348c 00000000
[ 5344.600832] 5ee0: 00000800 00000000 0009a5e4 00000817 007f4474 c066cde4 c5e55fb0 10c5387d
[ 5344.600841] 5f00: 00002710 007f4470 b6e654fc c00092b8 00000000 00000000 c5e55f0c 00000001
[ 5344.600849] 5f20: d0bce500 00000000 00000000 00000000 00000000 d0bce500 00001000 d0bce508
[ 5344.600857] 5f40: 00000001 dafe67d0 00000000 00000000 0009a5e4 c00de270 00000000 00000000
[ 5344.600866] 5f60: 00001000 00000000 00000000 d0bce500 d0bce500 00001000 0009a5e4 c00de9ac
[ 5344.600875] 5f80: 00000000 00000000 00001000 00000000 ffffffff ffffffff 00000003 b6d8ff10
[ 5344.600883] 5fa0: 60000010 ffffffff 10c5387d c00132fc 00000fe9 00000fe9 00000000 00001b91
[ 5344.600893] 5fc0: 00000001 007f3490 b6e654cc 007f3488 007838e8 00002710 007f4470 b6e654fc
[ 5344.600901] 5fe0: 00000062 bec8f038 b6d91f0c b6d8ff10 60000010 ffffffff 00000000 00000000
[ 5344.601070] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 5344.601144] [](arc_shrinker_func_scan_objects [zfs]) from
[ 5344.601157] from
[ 5344.601167] from
[ 5344.601184] from
[ 5344.601200] from
[ 5344.601218] from
[ 5344.601230] from
[ 5344.601241] from
[ 5344.601247] Exception stack(0xc5e55fb0 to 0xc5e55ff8)
[ 5344.601256] 5fa0: 00000fe9 00000fe9 00000000 00001b91
[ 5344.601264] 5fc0: 00000001 007f3490 b6e654cc 007f3488 007838e8 00002710 007f4470 b6e654fc
[ 5344.601272] 5fe0: 00000062 bec8f038 b6d91f0c b6d8ff10 60000010 ffffffff
[ 5344.601282] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 5344.601293] ---[ end trace 58e3248830d2802e ]---
[ 6350.895147] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 6350.895158] pgd = c8cec000
[ 6350.895165] [00000048] *pgd=29a84831, *pte=00000000, *ppte=00000000
[ 6350.895183] Internal error: Oops: 17 [#4] SMP ARM
[ 6350.895190] Modules linked in: xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops btmrvl_sdio mwifiex_sdio btmrvl videobuf2_core mwifiex v4l2_common videodev bluetooth cfg80211 media s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate ipv6
[ 6350.895370] CPU: 3 PID: 8548 Comm: bash Tainted: P D O 4.3.0-1.el7.armv5tel #1
[ 6350.895377] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 6350.895384] task: e063a300 ti: c8810000 task.ti: c8810000
[ 6350.895672] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 6350.895682] LR is at __wake_up_bit+0x20/0x54
[ 6350.895690] pc : [] lr : [] psr: 00000013
sp : c8811e00 ip : c8811dc0 fp : 0000fe4a
[ 6350.895697] r10: 00001fce r9 : bf302b08 r8 : bf2e2b08
[ 6350.895704] r7 : e04d0d00 r6 : e04d0d00 r5 : 00000000 r4 : 00007000
[ 6350.895710] r3 : e04d0b00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 6350.895717] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 6350.895724] Control: 10c5387d Table: 28cec06a DAC: 00000051
[ 6350.895730] Process bash (pid: 8548, stack limit = 0xc8810210)
[ 6350.895737] Stack: (0xc8811e00 to 0xc8812000)
[ 6350.895745] 1e00: ffffffff 00007f39 00000000 c8811e68 bf26ea80 00016b5d c066240c bf11afbc
[ 6350.895754] 1e20: 00000000 bf1edad0 00007f39 00000080 00016b5d c00add48 e2aa4d80 e294eec0
[ 6350.895761] 1e40: 00000000 00000080 0000fe30 00000000 e0144400 00000000 00000fa0 000000d0
[ 6350.895769] 1e60: 00000000 000003e8 000000d0 00000080 00000000 00000000 e0144044 00000000
[ 6350.895777] 1e80: c066e63c 00000001 b6f0f000 c8811f80 00000002 00000002 00000000 c00adee8
[ 6350.895785] 1ea0: c06da5a8 c0121acc c8811f80 00000001 e0c1a000 c012db00 c8811f80 b6f0f000
[ 6350.895793] 1ec0: 00000002 00000002 c012db1c b6f0f000 d680ba00 c8811f80 00000002 b6f0f000
[ 6350.895801] 1ee0: 00000000 c012db2c 00000001 b6f0f000 00000002 c00ddc38 c8811fb0 10c5387d
[ 6350.895808] 1f00: 00000000 00000000 bebc8a2c c000936c 00000000 c8811f18 00000000 0000000a
[ 6350.895816] 1f20: bebc8a2c c00f5e8c 00000001 d680ba00 c8811f80 00000002 00000000 c00585a8
[ 6350.895824] 1f40: d680ba00 b6f0f000 c8811f80 00000002 00000002 c00de33c d680ba00 b6f0f000
[ 6350.895832] 1f60: 00000002 00000000 00000000 d680ba00 d680ba00 00000002 b6f0f000 c00dea28
[ 6350.895839] 1f80: 00000002 00000000 00000002 00000002 b6f0f000 b6e74b38 00000004 c000ef04
[ 6350.895847] 1fa0: c8810000 c000ed40 00000002 b6f0f000 00000001 b6f0f000 00000002 00000000
[ 6350.895855] 1fc0: 00000002 b6f0f000 b6e74b38 00000004 00000002 00000002 b6f0f000 00000000
[ 6350.895863] 1fe0: 00000000 bebc894c b6d96068 b6df6b8c 60000010 00000001 00021036 01e0fa8d
[ 6350.895992] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 6350.896059] [](arc_shrinker_func_scan_objects [zfs]) from
[ 6350.896071] from
[ 6350.896082] from
[ 6350.896092] from
[ 6350.896101] from
[ 6350.896112] from
[ 6350.896121] from
[ 6350.896130] from
[ 6350.896144] from
[ 6350.896153] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 6350.896162] ---[ end trace 58e3248830d2802f ]---
[ 6372.937607] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 6372.937619] pgd = db564000
[ 6372.937626] [00000048] *pgd=3c57a831, *pte=00000000, *ppte=00000000
[ 6372.937646] Internal error: Oops: 17 [#5] SMP ARM
[ 6372.937653] Modules linked in: xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops btmrvl_sdio mwifiex_sdio btmrvl videobuf2_core mwifiex v4l2_common videodev bluetooth cfg80211 media s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate ipv6
[ 6372.937866] CPU: 0 PID: 14927 Comm: bash Tainted: P D O 4.3.0-1.el7.armv5tel #1
[ 6372.937873] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 6372.937880] task: de099e00 ti: c6db0000 task.ti: c6db0000
[ 6372.938195] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 6372.938205] LR is at __wake_up_bit+0x20/0x54
[ 6372.938212] pc : [] lr : [] psr: 00000013
sp : c6db1e00 ip : c6db1dc0 fp : 000118a0
[ 6372.938219] r10: 00002314 r9 : bf302b08 r8 : bf2e2b08
[ 6372.938226] r7 : e04d0d00 r6 : e04d0d00 r5 : 00000000 r4 : 00007000
[ 6372.938232] r3 : e04d0b00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 6372.938239] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 6372.938245] Control: 10c5387d Table: 3b56406a DAC: 00000051
[ 6372.938252] Process bash (pid: 14927, stack limit = 0xc6db0210)
[ 6372.938258] Stack: (0xc6db1e00 to 0xc6db2000)
[ 6372.938267] 1e00: ffffffff 00008c50 00000000 c6db1e68 bf26ea80 000000ec c066240c bf11afbc
[ 6372.938275] 1e20: 00000000 bf1edad0 00008c50 00000080 000000ec c00add48 e2aa4d80 e294eec0
[ 6372.938283] 1e40: 00000000 00000080 00011858 00000000 e0144400 00000000 00000fa0 000000d0
[ 6372.938291] 1e60: 00000000 000003e8 000000d0 00000080 00000000 00000000 e0144044 00000000
[ 6372.938299] 1e80: c066e63c 00000001 b6ff7000 c6db1f80 00000002 00000002 00000000 c00adee8
[ 6372.938307] 1ea0: c06da5a8 c0121acc c6db1f80 00000001 e0c1a000 c012db00 c6db1f80 b6ff7000
[ 6372.938315] 1ec0: 00000002 00000002 c012db1c b6ff7000 d0457800 c6db1f80 00000002 b6ff7000
[ 6372.938322] 1ee0: 00000000 c012db2c 00000001 b6ff7000 00000002 c00ddc38 c4abaf60 00000301
[ 6372.938330] 1f00: 00000000 000001bc 00000000 00000000 00000000 c6db1f18 00000000 0000000a
[ 6372.938338] 1f20: be81aa2c c00f5e8c 00000001 d0457800 c6db1f80 00000002 00000000 c00585a8
[ 6372.938346] 1f40: d0457800 b6ff7000 c6db1f80 00000002 00000002 c00de33c d0457800 b6ff7000
[ 6372.938353] 1f60: 00000002 00000000 00000000 d0457800 d0457800 00000002 b6ff7000 c00dea28
[ 6372.938361] 1f80: 00000002 00000000 00000002 00000002 b6ff7000 b6f5bb38 00000004 c000ef04
[ 6372.938369] 1fa0: c6db0000 c000ed40 00000002 b6ff7000 00000001 b6ff7000 00000002 00000000
[ 6372.938376] 1fc0: 00000002 b6ff7000 b6f5bb38 00000004 00000002 00000002 b6ff7000 00000000
[ 6372.938384] 1fe0: 00000000 be81a94c b6e7d068 b6eddb8c 60000010 00000001 00021236 01e15ef3
[ 6372.938507] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 6372.938575] [](arc_shrinker_func_scan_objects [zfs]) from
[ 6372.938586] from
[ 6372.938597] from
[ 6372.938608] from
[ 6372.938617] from
[ 6372.938628] from
[ 6372.938637] from
[ 6372.938646] from
[ 6372.938659] from
[ 6372.938669] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 6372.942198] ---[ end trace 58e3248830d28030 ]---

This is several Oopses that happened in quick succession. The machine is still running and remains responsive, but echo 3 > /proc/sys/vm/drop_caches now causes another Oops to happen every time it is run.

The ZFS/SPL is 0.6.5.3 with the patch for spl issue #2505 applied.

@tuxoko
Copy link
Contributor

tuxoko commented Nov 27, 2015

This should be fixed in master d0c614e

@gordan-bobic
Copy link
Contributor Author

I can confirm that commit d0c614e doesn't fix this. I applied the patch, rebuild zfs modules, rebooted, and I still just got the following:

[ 3267.702370] Unable to handle kernel NULL pointer dereference at virtual address 00000048
[ 3267.702383] pgd = db848000
[ 3267.702390] [00000048] *pgd=3e5c9831, *pte=00000000, *ppte=00000000
[ 3267.702409] Internal error: Oops: 17 [#2] SMP ARM
[ 3267.702417] Modules linked in: xt_tcpudp ipt_REJECT nf_reject_ipv4 xt_conntrack ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_raw iptable_filter ip_tables x_tables cmac ecb snd_soc_snow ext4 mbcache jbd2 snd_soc_i2s snd_soc_idma snd_soc_s3c_dma snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev mwifiex_sdio media mwifiex cfg80211 btmrvl_sdio btmrvl bluetooth s5p_sss zfs(PO) zunicode(PO) zavl(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate
[ 3267.702597] CPU: 3 PID: 29034 Comm: cc1plus Tainted: P D O 4.3.0-3.el7.armv5tel #1
[ 3267.702604] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 3267.702611] task: ca415a00 ti: ca74e000 task.ti: ca74e000
[ 3267.702918] PC is at arc_kmem_reap_now+0x64/0xec [zfs]
[ 3267.702927] LR is at __wake_up_bit+0x20/0x54
[ 3267.702936] pc : [] lr : [] psr: 00000013
sp : ca74fc80 ip : ca74fc40 fp : 000000a1
[ 3267.702943] r10: 00002bf8 r9 : bf299b08 r8 : bf279b08
[ 3267.702950] r7 : e00dac00 r6 : e00dac00 r5 : 00000000 r4 : 00007000
[ 3267.702956] r3 : e00dab00 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 3267.702964] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 3267.702971] Control: 10c5387d Table: 3b84806a DAC: 00000051
[ 3267.702979] Process cc1plus (pid: 29034, stack limit = 0xca74e210)
[ 3267.702986] Stack: (0xca74fc80 to 0xca750000)
[ 3267.702994] fc80: ffffffff 0000afe0 00000000 ca74fce8 bf205a80 00000000 c060640c bf0b1fbc
[ 3267.703003] fca0: 00000000 bf184ad8 0000afe0 00000080 00000000 c00add48 ca74fd0c ca74fd08
[ 3267.703011] fcc0: 00000000 00000080 00000065 00000000 00000000 00000000 000000c8 000200d2
[ 3267.703020] fce0: 00000000 0000ade1 000200d2 00000080 00000000 00000000 c063b300 c063b300
[ 3267.703028] fd00: ca74fdec 00000006 c063b610 00000000 00000004 00000000 00000011 c00afcc0
[ 3267.703036] fd20: 000008f9 dce55300 00000000 00000000 00000000 0000ade1 00000000 ca74fe70
[ 3267.703044] fd40: 00000000 00000006 00000000 ca74e000 00000020 00000001 00000000 00000000
[ 3267.703052] fd60: 00000000 00000000 f5257d14 00000000 00000000 00000019 00000011 f5257d14
[ 3267.703060] fd80: ca74fd80 ca74fd80 ca74fd88 ca74fd88 ca74fd90 ca74fd90 dcab5c00 c063b300
[ 3267.703069] fda0: c063bb84 c0606420 00000020 00000000 00000001 00000001 00000000 c00b0254
[ 3267.703077] fdc0: 000002dc c00a721c 00000040 000200d2 c063bb80 0000000c c063bb94 00000000
[ 3267.703086] fde0: 00000001 e1373140 ca415a48 00000020 000200d2 00000000 00000000 00000000
[ 3267.703094] fe00: 0000000a 00000007 00000032 00000006 ca415a00 000200d2 ca74e000 00000040
[ 3267.703102] fe20: 00000000 00000000 00000001 00000000 00000000 c00a7918 00000000 ca74fe6c
[ 3267.703110] fe40: ca74fe6b c0609140 ca74fe84 00000040 00000000 00000050 00000040 00000000
[ 3267.703118] fe60: 00000010 00000000 0089f900 00000000 00000824 c00f3388 d089f900 00000006
[ 3267.703126] fe80: c063bb80 00000000 c063b300 00000001 00000000 00000001 d64bc700 00000000
[ 3267.703134] fea0: d64bc700 00000000 c609d300 ca74ff0c 00000009 ca62e4d8 ca74e000 c00e4778
[ 3267.703142] fec0: ca833782 e17e52c0 000000d8 ca62e400 e1373190 00000000 00000000 c609d300
[ 3267.703150] fee0: ca74ff80 00001000 b6fbb000 00000000 00a2e771 c00ddcb4 00001000 10c5387d
[ 3267.703158] ff00: 00bfdfec b6fbb000 00001000 00000001 00000000 00001000 ca74ff04 00000001
[ 3267.703166] ff20: c609d300 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3267.703174] ff40: c609d300 b6fbb000 ca74ff80 00001000 00001000 c00de33c c609d300 b6fbb000
[ 3267.703182] ff60: 00001000 00000000 00000000 c609d300 c609d300 00001000 b6fbb000 c00dea28
[ 3267.703190] ff80: 00000000 00000000 00001000 00001000 b6fbb000 b6deab38 00000004 c000ef04
[ 3267.703198] ffa0: ca74e000 c000ed40 00001000 b6fbb000 00000001 b6fbb000 00001000 00000000
[ 3267.703206] ffc0: 00001000 b6fbb000 b6deab38 00000004 00001000 00001000 b6fbb000 00a2e771
[ 3267.703214] ffe0: 00000000 bec71e54 b6d0c068 b6d6cb8c 60000010 00000001 00020236 01e02e2e
[ 3267.703350] [](arc_kmem_reap_now [zfs]) from [](arc_shrinker_func_scan_objects+0xb8/0x1ac [zfs])
[ 3267.703421] [](arc_shrinker_func_scan_objects [zfs]) from
[ 3267.703432] from
[ 3267.703442] from
[ 3267.703456] from
[ 3267.703471] from
[ 3267.703482] from
[ 3267.703490] from
[ 3267.703500] from
[ 3267.703513] from
[ 3267.703523] Code: e7945008 e1550003 0a000002 e1a00005 (e5951048)
[ 3267.703534] ---[ end trace dc546e8d1acc9b3e ]---

@tuxoko
Copy link
Contributor

tuxoko commented Nov 28, 2015

@gordan-bobic
You need to check if the loaded module is indeed the new built module.
If zfs module is loaded during initrd. You need to also rebuild the initrd with new zfs.ko

@gordan-bobic
Copy link
Contributor Author

I did, it is, and I did, in that order.

@tuxoko
Copy link
Contributor

tuxoko commented Nov 29, 2015

@gordan-bobic
That doesn't seems right.
PC is at arc_kmem_reap_now+0x64/0xec [zfs]
This line is the same before and after, which should not happen if the patch is built and loaded correctly.

Can you objdump the function arc_kmem_reap_now before and after the patch.

@gordan-bobic
Copy link
Contributor Author

Hmm, I just checked the new and old zfs.ko and they are exactly the same size, which is odd. I wonder if _ILP32 is not getting defined...

i just re-patched the source, and rebuilt and reinstalled dkms packages, and rebuild the kernel modules. zfs.ko is still the same size.

@behlendorf
Copy link
Contributor

Or the zio_buf_cache array global isn't being NULL initialized which is causing the NULL check to fail. Dropping a printk in there for debugging would make things clear.

@behlendorf behlendorf added this to the 0.7.0 milestone Dec 7, 2015
@tuxoko
Copy link
Contributor

tuxoko commented Dec 7, 2015

zio_buf_cache is global so it must be NULL. The oops also show it's NULL. The problem is @gordan-bobic not building the binary properly with dkms.

I'm not sure what's the proper way to patch a dkms'ed source. What I always do is to purge the zfs stuffs in /var/lib/dkms, patch the source in /usr/src/zfs-0.x.y, and do dkms add. Otherwise, dkms might use the stale source in /var/lib/dkms

@gordan-bobic
Copy link
Contributor Author

There is only one set of sources, as least as set up by DKMS on EL7: in /usr/src/zfs-0.6.5.3.
/var/lib/dkms/zfs-0.6.5.3/source is a symlink to /usr/src/zfs-0.6.5.3.

I am not sure what else could be going on. I'll try rebuilding the modules without dkms and see if that produces different results.

@tuxoko
Copy link
Contributor

tuxoko commented Dec 7, 2015

@gordan-bobic
On my ubuntu, there's a build besides source which contains a copy of the source.

@gordan-bobic
Copy link
Contributor Author

On EL7 that is not the case. I have just verified that the only copy of arc.c on the machine is in fact patched. I have purged all traces of previous build directories and modules for the current kernel and am rebuilding the modules. Will report back shortly, but since the last build was made with the same sources, I expect the same result. If that is the case, it really would imply that _ILP32 is not defined on armv5tel/GCC 4.8.x.

Edit: Yes, the above kernel error is still reproducible using:
echo 3 > /proc/sys/vm/drop_caches

And since there is only one copy of arc.c on the entire system and it is patched, there is nowhere else that the zfs.ko could have been built from.

Edit 2: And just for cross-check, I removed the #ifdef / #endif lines, so that the fix is built in unconditionally, and that makes the problem go away.

Based on that, it really does look like _ILP32 being defined cannot be counted on to work reliably. Which also has implications on the other instances of it's use (9 in zfs and 4 in spl, as of 0.6.5.3).

GCC version is 4.8.3, armv5tel platform.

behlendorf added a commit to behlendorf/spl that referenced this issue Dec 9, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs/zfs#4048
behlendorf added a commit to behlendorf/zfs that referenced this issue Dec 9, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#4048
Requires-spl: refs/pull/508/head
@behlendorf
Copy link
Contributor

@gordan-bobic you're absolutely right, it was entirely possible for _ILP32 and _LP64 not to be defined on some arm, powerpc, and sparc builds. Things were correct on x86 and x86_64 bit systems which is why it worked for @tuxoko.

I've opened #4082 with a fix but as you're well aware the test coverage on non-x86 systems leaves something we to desired. There is an ARMv7 builder in the mix but that's it.

On a related note I just recently followed up on your zfs-discuss post from June 2015 asking what could be done to improve the test coverage of the buildbot. Bottom line it's now much easier for us to do that. If you can offer up a machine with internet access I'd like to pursue adding it as builder. It should be straight forward.

@tuxoko
Copy link
Contributor

tuxoko commented Dec 9, 2015

@behlendorf But if _ILP32 is not defined, why would there be NULL in zio_buf_cache?
https://github.com/behlendorf/zfs/blob/master/module/zfs/zio.c#L120

@gordan-bobic Can you dump gcc macros with this command?
gcc -dM -E - < /dev/null.

@behlendorf
Copy link
Contributor

@tuxoko on 32-bit systems kmem_cache_create() will return NULL when requesting caches with very large objects.

@gordan-bobic
Copy link
Contributor Author

@tuxoko:
$ gcc -dM -E - < /dev/null
#define DBL_MIN_EXP (-1021)
#define HQ_FBIT 15
#define UINT_LEAST16_MAX 65535
#define ARM_SIZEOF_WCHAR_T 32
#define __ATOMIC_ACQUIRE 2
#define __SFRACT_IBIT
0
#define FLT_MIN 1.1754943508222875e-38F
#define UFRACT_MAX 0XFFFFP-16UR
#define UINT_LEAST8_TYPE unsigned char
#define DQ_FBIT 63
#define INTMAX_C(c) c ## LL
#define __ULFRACT_FBIT
32
#define SACCUM_EPSILON 0x1P-7HK
#define CHAR_BIT 8
#define USQ_IBIT 0
#define UINT8_MAX 255
#define ACCUM_FBIT 15
#define WINT_MAX 4294967295U
#define USFRACT_FBIT 8
#define ORDER_LITTLE_ENDIAN 1234
#define SIZE_MAX 4294967295U
#define ARM_ARCH_ISA_ARM 1
#define __WCHAR_MAX
4294967295U
#define LACCUM_IBIT 32
#define DBL_DENORM_MIN ((double)4.9406564584124654e-324L)
#define GCC_ATOMIC_CHAR_LOCK_FREE 1
#define __FLT_EVAL_METHOD
0
#define unix 1
#define LLACCUM_MAX 0X7FFFFFFFFFFFFFFFP-31LLK
#define GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
#define __FRACT_FBIT
15
#define UINT_FAST64_MAX 18446744073709551615ULL
#define SIG_ATOMIC_TYPE int
#define UACCUM_FBIT 16
#define DBL_MIN_10_EXP (-307)
#define FINITE_MATH_ONLY 0
#define ARMEL 1
#define LFRACT_IBIT 0
#define GNUC_PATCHLEVEL 3
#define LFRACT_MAX 0X7FFFFFFFP-31LR
#define UINT_FAST8_MAX 255
#define DEC64_MAX_EXP 385
#define INT8_C(c) c
#define __UINT_LEAST64_MAX
18446744073709551615ULL
#define SA_FBIT 15
#define SHRT_MAX 32767
#define LDBL_MAX 1.7976931348623157e+308L
#define FRACT_MAX 0X7FFFP-15R
#define UFRACT_FBIT 16
#define ARM_FP 12
#define __UFRACT_MIN
0.0UR
#define UINT_LEAST8_MAX 255
#define GCC_ATOMIC_BOOL_LOCK_FREE 1
#define __UINTMAX_TYPE
long long unsigned int
#define LLFRACT_EPSILON 0x1P-63LLR
#define linux 1
#define __DEC32_EPSILON
1E-6DF
#define CHAR_UNSIGNED 1
#define UINT32_MAX 4294967295U
#define ULFRACT_MAX 0XFFFFFFFFP-32ULR
#define TA_IBIT 64
#define LDBL_MAX_EXP 1024
#define WINT_MIN 0U
#define linux 1
#define ULLFRACT_MIN 0.0ULLR
#define SCHAR_MAX 127
#define WCHAR_MIN 0U
#define INT64_C(c) c ## LL
#define __DBL_DIG
15
#define ARM_NEON_FP 4
#define __GCC_ATOMIC_POINTER_LOCK_FREE 1
#define __LLACCUM_MIN
(-0X1P31LLK-0X1P31LLK)
#define SIZEOF_INT 4
#define SIZEOF_POINTER 4
#define USACCUM_IBIT 8
#define USER_LABEL_PREFIX
#define STDC_HOSTED 1
#define LDBL_HAS_INFINITY 1
#define LFRACT_MIN (-0.5LR-0.5LR)
#define HA_IBIT 8
#define TQ_IBIT 0
#define FLT_EPSILON 1.1920928955078125e-7F
#define APCS_32 1
#define USFRACT_IBIT 0
#define LDBL_MIN 2.2250738585072014e-308L
#define FRACT_MIN (-0.5R-0.5R)
#define DEC32_MAX 9.999999E96DF
#define DA_IBIT 32
#define ARM_SIZEOF_MINIMAL_ENUM 4
#define __INT32_MAX
2147483647
#define UQQ_FBIT 8
#define SIZEOF_LONG 4
#define UACCUM_MAX 0XFFFFFFFFP-16UK
#define STDC_IEC_559 1
#define STDC_ISO_10646 201103L
#define UINT16_C(c) c
#define __DECIMAL_DIG
17
#define LFRACT_EPSILON 0x1P-31LR
#define ULFRACT_MIN 0.0ULR
#define gnu_linux 1
#define LDBL_HAS_QUIET_NAN 1
#define ULACCUM_IBIT 32
#define UACCUM_EPSILON 0x1P-16UK
#define GNUC 4
#define ULLACCUM_MAX 0XFFFFFFFFFFFFFFFFP-32ULLK
#define HQ_IBIT 0
#define FLT_HAS_DENORM 1
#define SIZEOF_LONG_DOUBLE 8
#define ARM_ARCH_5T 1
#define BIGGEST_ALIGNMENT 8
#define DQ_IBIT 0
#define DBL_MAX ((double)1.7976931348623157e+308L)
#define ULFRACT_IBIT 0
#define INT_FAST32_MAX 2147483647
#define DBL_HAS_INFINITY 1
#define ACCUM_IBIT 16
#define DEC32_MIN_EXP (-94)
#define THUMB_INTERWORK 1
#define LACCUM_MAX 0X7FFFFFFFFFFFFFFFP-31LK
#define INT_FAST16_TYPE int
#define LDBL_HAS_DENORM 1
#define DEC128_MAX 9.999999999999999999999999999999999E6144DL
#define INT_LEAST32_MAX 2147483647
#define ARM_PCS 1
#define __DEC32_MIN
1E-95DF
#define ACCUM_MAX 0X7FFFFFFFP-15K
#define DBL_MAX_EXP 1024
#define USACCUM_EPSILON 0x1P-8UHK
#define DEC128_EPSILON 1E-33DL
#define SFRACT_MAX 0X7FP-7HR
#define FRACT_IBIT 0
#define PTRDIFF_MAX 2147483647
#define UACCUM_MIN 0.0UK
#define STDC_NO_THREADS 1
#define UACCUM_IBIT 16
#define LONG_LONG_MAX 9223372036854775807LL
#define SIZEOF_SIZE_T 4
#define ULACCUM_MAX 0XFFFFFFFFFFFFFFFFP-32ULK
#define SIZEOF_WINT_T 4
#define SA_IBIT 16
#define ULLACCUM_MIN 0.0ULLK
#define GXX_ABI_VERSION 1002
#define __UTA_FBIT
64
#define SOFTFP 1
#define FLT_MIN_EXP (-125)
#define USFRACT_MAX 0XFFP-8UHR
#define UFRACT_IBIT 0
#define INT_FAST64_TYPE long long int
#define DBL_MIN ((double)2.2250738585072014e-308L)
#define LACCUM_MIN (-0X1P31LK-0X1P31LK)
#define ULLACCUM_FBIT 32
#define GXX_TYPEINFO_EQUALITY_INLINE 0
#define __ULLFRACT_EPSILON
0x1P-64ULLR
#define DEC128_MIN 1E-6143DL
#define REGISTER_PREFIX
#define UINT16_MAX 65535
#define DBL_HAS_DENORM 1
#define ACCUM_MIN (-0X1P15K-0X1P15K)
#define SQ_IBIT 0
#define UINT8_TYPE unsigned char
#define UHA_FBIT 8
#define NO_INLINE 1
#define SFRACT_MIN (-0.5HR-0.5HR)
#define UTQ_FBIT 128
#define FLT_MANT_DIG 24
#define VERSION "4.8.3 20140911 (Red Hat 4.8.3-9)"
#define UINT64_C(c) c ## ULL
#define __ULLFRACT_FBIT
64
#define FRACT_EPSILON 0x1P-15R
#define ULACCUM_MIN 0.0ULK
#define _STDC_PREDEF_H 1
#define UDA_FBIT 32
#define LLACCUM_EPSILON 0x1P-31LLK
#define GCC_ATOMIC_INT_LOCK_FREE 1
#define __FLOAT_WORD_ORDER
ORDER_LITTLE_ENDIAN
#define USFRACT_MIN 0.0UHR
#define UQQ_IBIT 0
#define STDC_IEC_559_COMPLEX 1
#define INT32_C(c) c
#define __DEC64_EPSILON
1E-15DD
#define ORDER_PDP_ENDIAN 3412
#define DEC128_MIN_EXP (-6142)
#define UHQ_FBIT 16
#define LLACCUM_FBIT 31
#define INT_FAST32_TYPE int
#define UINT_LEAST16_TYPE short unsigned int
#define unix 1
#define INT16_MAX 32767
#define SIZE_TYPE unsigned int
#define UINT64_MAX 18446744073709551615ULL
#define UDQ_FBIT 64
#define INT8_TYPE signed char
#define ELF 1
#define ULFRACT_EPSILON 0x1P-32ULR
#define LLFRACT_FBIT 63
#define FLT_RADIX 2
#define INT_LEAST16_TYPE short int
#define LDBL_EPSILON 2.2204460492503131e-16L
#define UINTMAX_C(c) c ## ULL
#define __GNUC_RH_RELEASE
9
#define SACCUM_MAX 0X7FFFP-7HK
#define SIG_ATOMIC_MAX 2147483647
#define GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
#define __VFP_FP
1
#define SIZEOF_PTRDIFF_T 4
#define LACCUM_EPSILON 0x1P-31LK
#define DEC32_SUBNORMAL_MIN 0.000001E-95DF
#define INT_FAST16_MAX 2147483647
#define UINT_FAST32_MAX 4294967295U
#define UINT_LEAST64_TYPE long long unsigned int
#define USACCUM_MAX 0XFFFFP-8UHK
#define SFRACT_EPSILON 0x1P-7HR
#define FLT_HAS_QUIET_NAN 1
#define FLT_MAX_10_EXP 38
#define LONG_MAX 2147483647L
#define DEC128_SUBNORMAL_MIN 0.000000000000000000000000000000001E-6143DL
#define FLT_HAS_INFINITY 1
#define unix 1
#define __USA_FBIT
16
#define UINT_FAST16_TYPE unsigned int
#define DEC64_MAX 9.999999999999999E384DD
#define CHAR16_TYPE short unsigned int
#define PRAGMA_REDEFINE_EXTNAME 1
#define __INT_LEAST16_MAX
32767
#define DEC64_MANT_DIG 16
#define INT64_MAX 9223372036854775807LL
#define UINT_LEAST32_MAX 4294967295U
#define SACCUM_FBIT 7
#define GCC_ATOMIC_LONG_LOCK_FREE 1
#define __INT_LEAST64_TYPE
long long int
#define ARM_FEATURE_CLZ 1
#define __INT16_TYPE
short int
#define INT_LEAST8_TYPE signed char
#define SQ_FBIT 31
#define DEC32_MAX_EXP 97
#define ARM_ARCH_ISA_THUMB 1
#define __INT_FAST8_MAX
127
#define ARM_ARCH 5
#define __INTPTR_MAX
2147483647
#define QQ_FBIT 7
#define linux 1
#define UTA_IBIT 64
#define LDBL_MANT_DIG 53
#define SFRACT_FBIT 7
#define SACCUM_MIN (-0X1P7HK-0X1P7HK)
#define DBL_HAS_QUIET_NAN 1
#define SIG_ATOMIC_MIN (-SIG_ATOMIC_MAX - 1)
#define INTPTR_TYPE int
#define UINT16_TYPE short unsigned int
#define WCHAR_TYPE unsigned int
#define SIZEOF_FLOAT 4
#define USQ_FBIT 32
#define UINTPTR_MAX 4294967295U
#define DEC64_MIN_EXP (-382)
#define ULLACCUM_IBIT 32
#define INT_FAST64_MAX 9223372036854775807LL
#define GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG
6
#define UINT_FAST64_TYPE long long unsigned int
#define INT_MAX 2147483647
#define LACCUM_FBIT 31
#define USACCUM_MIN 0.0UHK
#define UHA_IBIT 8
#define INT64_TYPE long long int
#define FLT_MAX_EXP 128
#define UTQ_IBIT 0
#define DBL_MANT_DIG 53
#define INT_LEAST64_MAX 9223372036854775807LL
#define GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
#define __DEC64_MIN
1E-383DD
#define WINT_TYPE unsigned int
#define UINT_LEAST32_TYPE unsigned int
#define SIZEOF_SHORT 2
#define ULLFRACT_IBIT 0
#define LDBL_MIN_EXP (-1021)
#define arm 1
#define UDA_IBIT 32
#define INT_LEAST8_MAX 127
#define LFRACT_FBIT 31
#define LDBL_MAX_10_EXP 308
#define ATOMIC_RELAXED 0
#define __DBL_EPSILON
((double)2.2204460492503131e-16L)
#define UINT8_C(c) c
#define __INT_LEAST32_TYPE
int
#define SIZEOF_WCHAR_T 4
#define UINT64_TYPE long long unsigned int
#define LLFRACT_MAX 0X7FFFFFFFFFFFFFFFP-63LLR
#define TQ_FBIT 127
#define INT_FAST8_TYPE signed char
#define ULLACCUM_EPSILON 0x1P-32ULLK
#define UHQ_IBIT 0
#define LLACCUM_IBIT 32
#define DBL_DECIMAL_DIG 17
#define DEC_EVAL_METHOD 2
#define TA_FBIT 63
#define UDQ_IBIT 0
#define ORDER_BIG_ENDIAN 4321
#define ACCUM_EPSILON 0x1P-15K
#define UINT32_C(c) c ## U
#define __INTMAX_MAX
9223372036854775807LL
#define BYTE_ORDER ORDER_LITTLE_ENDIAN
#define FLT_DENORM_MIN 1.4012984643248171e-45F
#define LLFRACT_IBIT 0
#define INT8_MAX 127
#define UINT_FAST32_TYPE unsigned int
#define CHAR32_TYPE unsigned int
#define FLT_MAX 3.4028234663852886e+38F
#define USACCUM_FBIT 8
#define INT32_TYPE int
#define SIZEOF_DOUBLE 8
#define FLT_MIN_10_EXP (-37)
#define UFRACT_EPSILON 0x1P-16UR
#define INTMAX_TYPE long long int
#define DEC128_MAX_EXP 6145
#define ATOMIC_CONSUME 1
#define __GNUC_MINOR
8
#define UINTMAX_MAX 18446744073709551615ULL
#define DEC32_MANT_DIG 7
#define HA_FBIT 7
#define DBL_MAX_10_EXP 308
#define LDBL_DENORM_MIN 4.9406564584124654e-324L
#define INT16_C(c) c
#define __STDC
1
#define PTRDIFF_TYPE int
#define LLFRACT_MIN (-0.5LLR-0.5LLR)
#define ATOMIC_SEQ_CST 5
#define __DA_FBIT
31
#define UINT32_TYPE unsigned int
#define UINTPTR_TYPE unsigned int
#define USA_IBIT 16
#define DEC64_SUBNORMAL_MIN 0.000000000000001E-383DD
#define ARM_EABI 1
#define DEC128_MANT_DIG 34
#define LDBL_MIN_10_EXP (-307)
#define SIZEOF_LONG_LONG 8
#define ULACCUM_EPSILON 0x1P-32ULK
#define SACCUM_IBIT 8
#define GCC_ATOMIC_LLONG_LOCK_FREE 1
#define __LDBL_DIG
15
#define FLT_DECIMAL_DIG 9
#define UINT_FAST16_MAX 4294967295U
#define GNUC_GNU_INLINE 1
#define GCC_ATOMIC_SHORT_LOCK_FREE 1
#define __ULLFRACT_MAX
0XFFFFFFFFFFFFFFFFP-64ULLR
#define UINT_FAST8_TYPE unsigned char
#define USFRACT_EPSILON 0x1P-8UHR
#define ULACCUM_FBIT 32
#define QQ_IBIT 0
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3

@behlendorf: Thanks, I missed that post on the list. I will try to put a RedSleeve 7 machine up for the buildbot and reply on the above thread.

@tuxoko
Copy link
Contributor

tuxoko commented Dec 10, 2015

Yeah, it seems gcc only defines _LP64 but never define _ILP32.

@gordan-bobic
Copy link
Contributor Author

Right. So to conclude, this issue IS fixed by the following commit set:
d0c614e
behlendorf/spl@625a421
behlendorf@1288d09

Given that all of the 32-bit specific code based on _ILP32 is in fact going to be ignored, I'm amazed ZoL works quite well on armv5tel as it is. I am not regularly hitting any other bugs.

What release are these likely to make it into (0.6.5.4?), and is there any indication on when that release is expected to land (days/weeks/months)?

@behlendorf
Copy link
Contributor

@gordan-bobic great news. Yes, I'm a little surprised things have worked so well too. Although, many of the checks in the code (and there aren't too many) actually check for _LP64 being defined and assume _ILP32 when it's not.

I'll get the remaining fixes in to master shortly, and we're planning for an 0.6.5.4 within weeks. Not months.

behlendorf added a commit to openzfs/spl that referenced this issue Dec 10, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: tuxoko <[email protected]>
Issue openzfs/zfs#4048
tuxoko pushed a commit to tuxoko/spl that referenced this issue Dec 14, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: tuxoko <[email protected]>
Issue openzfs/zfs#4048
tuxoko pushed a commit to tuxoko/zfs that referenced this issue Dec 14, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes openzfs#4048
behlendorf added a commit to openzfs/spl that referenced this issue Dec 24, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: tuxoko <[email protected]>
Issue openzfs/zfs#4048
behlendorf added a commit that referenced this issue Dec 24, 2015
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes #4048
ryao pushed a commit to ryao/zfs that referenced this issue Jan 4, 2016
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes openzfs#4048
goulvenriou pushed a commit to Alyseo/zfs that referenced this issue Jan 17, 2016
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes openzfs#4048
goulvenriou pushed a commit to Alyseo/zfs that referenced this issue Feb 4, 2016
For some arm, powerpc, and sparc platforms it was possible that
neither _ILP32 of _LP64 would be defined.  Update the isa_defs.h
header to explicitly set these macros and generate a compile error
in the case neither are defined.

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes openzfs#4048
@behlendorf behlendorf modified the milestones: 0.6.5.4, 0.7.0 Mar 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants