Shell scripts eat almost 100% cpu openwrt 19.07.2

# top
Mem: 478152K used, 32112K free, 21428K shrd, 166224K buff, 102136K cached
CPU0:  5.9% usr 93.2% sys  0.0% nic  0.0% idle  0.0% io  0.0% irq  0.7% sirq
CPU1:  0.1% usr  0.0% sys  0.0% nic 99.8% idle  0.0% io  0.0% irq  0.0% sirq
CPU2:  1.0% usr  1.0% sys  0.0% nic 97.9% idle  0.0% io  0.0% irq  0.0% sirq
CPU3:  0.3% usr  1.7% sys  0.0% nic 97.6% idle  0.0% io  0.0% irq  0.1% sirq
Load average: 1.13 1.20 1.22 2/187 28873
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
22193 22190 root     R     1084  0.2   0 23.5 /bin/sh /etc/demo.sh

demo.sh just call some busybox command like ps, cat ...
the result of perf top -p 22193:

PerfTop:    3760 irqs/sec  kernel:94.4%  exact:  0.0% [4000Hz cpu-clock],  (target_pid: 22193)
24.45%  [kernel]       [k] do_page_fault
23.24%  [kernel]       [k] handle_mm_fault
 6.44%  [kernel]       [k] vmacache_find
 5.36%  busybox        [.] 0x00041b94
 4.98%  [kernel]       [k] mmioset
 4.51%  [kernel]       [k] preempt_count_add
 4.24%  [kernel]       [k] _raw_spin_unlock
 4.05%  [kernel]       [k] down_read_trylock
 2.89%  [kernel]       [k] _raw_spin_lock
 2.67%  [kernel]       [k] up_read
 2.49%  [kernel]       [k] __rcu_read_unlock
 2.37%  [kernel]       [k] ptep_set_access_flags
 1.93%  [kernel]       [k] preempt_count_sub
 1.42%  [kernel]       [k] in_lock_functions
 1.17%  [kernel]       [k] __rcu_read_lock
 1.12%  [kernel]       [k] do_PrefetchAbort
 1.05%  [kernel]       [k] __softirqentry_text_start

the result of perf record is as follow:

# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 604  of event 'cpu-clock'
# Event count (approx.): 6101010040
#
# Children      Self  Command  Shared Object      Symbol                         
# ........  ........  .......  .................  ...............................
#
    92.22%     0.50%  sh       [kernel.kallsyms]  [k] ret_from_exception
            |
            ---ret_from_exception
               |          
                --91.72%--do_PrefetchAbort
                          |          
                           --89.90%--do_page_fault
                                     |          
                                     |--50.33%--handle_mm_fault
                                     |          |          
                                     |          |--7.78%--_raw_spin_lock
                                     |          |          |          
                                     |          |           --5.79%--preempt_count_add
                                     |          |                     |          
                                     |          |                      --1.16%--in_lock_functions
                                     |          |          
                                     |          |--5.63%--_raw_spin_unlock
                                     |          |          |          
                                     |          |           --1.16%--preempt_count_sub
                                     |          |          
                                     |          |--5.46%--mmioset
                                     |          |          
                                     |          |--2.98%--__rcu_read_unlock
                                     |          |          
                                     |          |--1.49%--ptep_set_access_flags
                                     |          |          
                                     |          |--1.32%--__rcu_read_lock
                                     |          |          
                                     |           --0.66%--mem_cgroup_from_task
                                     |          
                                     |--6.95%--find_vma
                                     |          |          
                                     |           --6.29%--vmacache_find
                                     |          
                                     |--2.32%--down_read_trylock
                                     |          
                                      --1.99%--up_read

    91.72%     1.82%  sh       [kernel.kallsyms]  [k] do_PrefetchAbort
            |          
            |--89.90%--do_PrefetchAbort
            |          do_page_fault
            |          |          
            |          |--50.33%--handle_mm_fault
            |          |          |          
            |          |          |--7.78%--_raw_spin_lock
            |          |          |          |          
            |          |          |           --5.79%--preempt_count_add
            |          |          |                     |          
            |          |          |                      --1.16%--in_lock_functions
            |          |          |          
            |          |          |--5.63%--_raw_spin_unlock
            |          |          |          |          
            |          |          |           --1.16%--preempt_count_sub
            |          |          |          
            |          |          |--5.46%--mmioset
            |          |          |          
            |          |          |--2.98%--__rcu_read_unlock
            |          |          |          
            |          |          |--1.49%--ptep_set_access_flags
            |          |          |          
            |          |          |--1.32%--__rcu_read_lock
            |          |          |          
            |          |           --0.66%--mem_cgroup_from_task
            |          |          
            |          |--6.95%--find_vma
            |          |          |          
            |          |           --6.29%--vmacache_find
            |          |          
            |          |--2.32%--down_read_trylock
            |          |          
            |           --1.99%--up_read
            |          
             --1.82%--ret_from_exception
                       do_PrefetchAbort

    89.90%    27.98%  sh       [kernel.kallsyms]  [k] do_page_fault
            |          
            |--61.92%--do_page_fault
            |          |          
            |          |--50.33%--handle_mm_fault
            |          |          |          
            |          |          |--7.78%--_raw_spin_lock
            |          |          |          |          
            |          |          |           --5.79%--preempt_count_add
            |          |          |                     |          
            |          |          |                      --1.16%--in_lock_functions
            |          |          |          
            |          |          |--5.63%--_raw_spin_unlock
            |          |          |          |          
            |          |          |           --1.16%--preempt_count_sub
            |          |          |          
            |          |          |--5.46%--mmioset
            |          |          |          
            |          |          |--2.98%--__rcu_read_unlock
            |          |          |          
            |          |          |--1.49%--ptep_set_access_flags
            |          |          |          
            |          |          |--1.32%--__rcu_read_lock
            |          |          |          
            |          |           --0.66%--mem_cgroup_from_task
            |          |          
            |          |--6.95%--find_vma
            |          |          |          
            |          |           --6.29%--vmacache_find
            |          |          
            |          |--2.32%--down_read_trylock
            |          |          
            |           --1.99%--up_read
            |          
             --27.98%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault

    50.99%    25.00%  sh       [kernel.kallsyms]  [k] handle_mm_fault
            |          
            |--25.99%--handle_mm_fault
            |          |          
            |          |--7.78%--_raw_spin_lock
            |          |          |          
            |          |           --5.79%--preempt_count_add
            |          |                     |          
            |          |                      --1.16%--in_lock_functions
            |          |          
            |          |--5.63%--_raw_spin_unlock
            |          |          |          
            |          |           --1.16%--preempt_count_sub
            |          |          
            |          |--5.46%--mmioset
            |          |          
            |          |--2.98%--__rcu_read_unlock
            |          |          
            |          |--1.49%--ptep_set_access_flags
            |          |          
            |          |--1.32%--__rcu_read_lock
            |          |          
            |           --0.66%--mem_cgroup_from_task
            |          
             --24.50%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       handle_mm_fault

     7.78%     1.99%  sh       [kernel.kallsyms]  [k] _raw_spin_lock
            |          
            |--5.79%--_raw_spin_lock
            |          preempt_count_add
            |          |          
            |           --1.16%--in_lock_functions
            |          
             --1.99%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       handle_mm_fault
                       _raw_spin_lock

     6.95%     5.79%  sh       [kernel.kallsyms]  [k] preempt_count_add
            |          
            |--4.64%--ret_from_exception
            |          do_PrefetchAbort
            |          do_page_fault
            |          handle_mm_fault
            |          _raw_spin_lock
            |          preempt_count_add
            |          
             --2.32%--preempt_count_add
                       |          
                        --1.16%--in_lock_functions

     6.95%     0.66%  sh       [kernel.kallsyms]  [k] find_vma
            |          
            |--6.29%--find_vma
            |          vmacache_find
            |          
             --0.66%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       find_vma

     6.29%     6.29%  sh       [kernel.kallsyms]  [k] vmacache_find
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               find_vma
               vmacache_find

     5.63%     4.47%  sh       [kernel.kallsyms]  [k] _raw_spin_unlock
            |          
            |--4.47%--ret_from_exception
            |          do_PrefetchAbort
            |          do_page_fault
            |          handle_mm_fault
            |          _raw_spin_unlock
            |          
             --1.16%--_raw_spin_unlock
                       preempt_count_sub

     5.46%     5.46%  sh       [kernel.kallsyms]  [k] mmioset
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               handle_mm_fault
               mmioset

     4.64%     4.64%  sh       busybox            [.] 0x00041b94
     3.15%     2.81%  sh       [kernel.kallsyms]  [k] __rcu_read_unlock
            |          
             --2.65%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       handle_mm_fault
                       __rcu_read_unlock

     2.32%     2.32%  sh       [kernel.kallsyms]  [k] down_read_trylock
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               down_read_trylock

     2.15%     2.15%  sh       [kernel.kallsyms]  [k] ptep_set_access_flags
            |          
             --1.49%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       handle_mm_fault
                       ptep_set_access_flags

     1.99%     1.99%  sh       [kernel.kallsyms]  [k] up_read
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               up_read

     1.82%     1.82%  sh       [kernel.kallsyms]  [k] preempt_count_sub
            |          
             --1.16%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault
                       handle_mm_fault
                       _raw_spin_unlock
                       preempt_count_sub

     1.32%     1.32%  sh       [kernel.kallsyms]  [k] __rcu_read_lock
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               handle_mm_fault
               __rcu_read_lock

     1.16%     1.16%  sh       [kernel.kallsyms]  [k] in_lock_functions
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               handle_mm_fault
               _raw_spin_lock
               preempt_count_add
               in_lock_functions

     0.83%     0.66%  sh       [kernel.kallsyms]  [k] _raw_spin_unlock_irq
            |          
             --0.66%--ret_from_exception
                       do_PrefetchAbort
                       do_page_fault

     0.83%     0.00%  sh       [kernel.kallsyms]  [k] __sched_text_start
            |
            ---__sched_text_start
               finish_task_switch
               _raw_spin_unlock_irq

     0.83%     0.00%  sh       [kernel.kallsyms]  [k] finish_task_switch
            |
            ---finish_task_switch
               _raw_spin_unlock_irq

     0.66%     0.00%  sh       [kernel.kallsyms]  [k] svc_preempt
            |
            ---svc_preempt
               preempt_schedule_irq
               __sched_text_start
               finish_task_switch
               _raw_spin_unlock_irq

     0.66%     0.66%  sh       [kernel.kallsyms]  [k] mem_cgroup_from_task
            |
            ---ret_from_exception
               do_PrefetchAbort
               do_page_fault
               handle_mm_fault
               mem_cgroup_from_task

     0.66%     0.00%  sh       [kernel.kallsyms]  [k] preempt_schedule_irq
            |
            ---preempt_schedule_irq
               __sched_text_start
               finish_task_switch
               _raw_spin_unlock_irq

     0.50%     0.00%  sh       [unknown]          [k] 0xc0a08468
     0.50%     0.00%  sh       busybox            [.] 0x00031b94
     0.33%     0.33%  sh       [kernel.kallsyms]  [k] sync_mm_rss
     0.17%     0.17%  sh       [kernel.kallsyms]  [k] _raw_spin_unlock_irqrestore
     0.17%     0.00%  sh       [kernel.kallsyms]  [k] preempt_schedule_common
     0.17%     0.00%  sh       [kernel.kallsyms]  [k] __proc_info_end
     0.17%     0.00%  sh       [kernel.kallsyms]  [k] rcu_read_unlock_special
     0.17%     0.00%  sh       [unknown]          [k] 0x000001cc
     0.17%     0.00%  sh       [unknown]          [k] 0xce8e9ea4

/proc/22193/status is as follow:

/proc/22193# cat status
Name:   sh
Umask:  0022
State:  R (running)
Tgid:   22193
Ngid:   0
Pid:    22193
PPid:   22190
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 32
Groups:
VmPeak:     1084 kB
VmSize:     1084 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:       364 kB
VmRSS:       364 kB
RssAnon:              44 kB
RssFile:             320 kB
RssShmem:              0 kB
VmData:       28 kB
VmStk:       132 kB
VmExe:       388 kB
VmLib:       528 kB
VmPTE:         8 kB
VmPMD:         0 kB
VmSwap:        0 kB
Threads:        1
SigQ:   0/3978
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000000010002
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs:     0
Speculation_Store_Bypass:       unknown
Cpus_allowed:   1
Cpus_allowed_list:      0
voluntary_ctxt_switches:        0
nonvoluntary_ctxt_switches:     323758726

the page faults is as follow:

~# perf stat -e 'major-faults' -p 22193 -a sleep 5

 Performance counter stats for process id '22193':

                 0      major-faults

       5.002634302 seconds time elapsed

~# perf stat -e 'minor-faults' -p 22193 -a sleep 5

 Performance counter stats for process id '22193':

           4098002      minor-faults

       5.002344226 seconds time elapsed

openwrt branch: tags/v19.07.2
Target System:MediaTek Ralink ARM
Subtarget: MT7623
Target Profile: MTK7623a UniElec U7623-02 (eMMC/512MB RAM)

Could you show us the contents of "demo.sh", please?

Does the same happen with 19.07.8 / 21.02.1?

1 Like
yes > /dev/null

:rofl:

But seriously, @calcky -- without knowing what your demo.sh script is doing, nobody can actually determine if this is normal/expected behavior.

Also encountered logrotate or mwan account for 100% of the cpu,so I don’t think it has much to do with the demo.sh.
demo.sh accounted for 100% of the cpu and appeared on December 27. Before the problem occurred, there were some kernel prints. There are many prints like this

Nov 26 17:28:03 kernel: [181062.051905] BUG: Bad page map in process opkg  pte:83c3375f pmd:81bb8835\n
Nov 26 17:28:03 kernel: [181062.058704] page:dfc0072c count:1 mapcount:-1 mapping:c473e119 index:0x0\n
Nov 26 17:28:03 kernel: [181062.065477] flags: 0x40068(uptodate|lru|active|swapbacked)\n
Nov 26 17:28:03 kernel: [181062.071022] raw: 00040068 c473e119 00000000 fffffffe 00000001 dfd4c108 df404e08 00000000\n
Nov 26 17:28:03 kernel: [181062.079161] raw: df412000\n
Nov 26 17:28:03 kernel: [181062.081875] page dumped because: bad pte\n
Nov 26 17:28:03 kernel: [181062.085862] page->mem_cgroup:df412000\n
Nov 26 17:28:03 kernel: [181062.089588] addr:b6f2d000 vm_flags:00100873 anon_vma:c473e118 mapping:df15a9e4 index:68\n
Nov 26 17:28:03 kernel: [181062.097640] file:libc.so fault:filemap_fault mmap:generic_file_readonly_mmap readpage:squashfs_readpage\n
Nov 26 17:28:03 kernel: [181062.107128] CPU: 0 PID: 21711 Comm: opkg Tainted: G        W       4.14.171 #0\n
Nov 26 17:28:03 kernel: [181062.114376] Hardware name: Mediatek Cortex-A7 (Device Tree)\n
Nov 26 17:28:03 kernel: [181062.120001] [<c010ed64>] (unwind_backtrace) from [<c010add8>] (show_stack+0x10/0x14)\n
Nov 26 17:28:03 kernel: [181062.127771] [<c010add8>] (show_stack) from [<c0622a88>] (dump_stack+0x84/0x98)\n
Nov 26 17:28:03 kernel: [181062.135025] [<c0622a88>] (dump_stack) from [<c01f1510>] (print_bad_pte+0x188/0x19c)\n
Nov 26 17:28:03 kernel: [181062.142707] [<c01f1510>] (print_bad_pte) from [<c01f3444>] (unmap_page_range+0x310/0x650)\n
Nov 26 17:28:03 kernel: [181062.150908] [<c01f3444>] (unmap_page_range) from [<c01f3a34>] (unmap_vmas+0x28/0x58)\n
Nov 26 17:28:03 kernel: [181062.158676] [<c01f3a34>] (unmap_vmas) from [<c01f9840>] (exit_mmap+0xd8/0x14c)\n
Nov 26 17:28:03 kernel: [181062.165929] [<c01f9840>] (exit_mmap) from [<c011e7a4>] (mmput+0x38/0xe0)\n
Nov 26 17:28:03 kernel: [181062.172667] [<c011e7a4>] (mmput) from [<c0125284>] (do_exit+0x42c/0xa38)\n
Nov 26 17:28:03 kernel: [181062.179401] [<c0125284>] (do_exit) from [<c012597c>] (SyS_exit_group+0x0/0x10)\n
Nov 26 17:28:03 kernel: [181062.186652] [<c012597c>] (SyS_exit_group) from [<c192a000>] (0xc192a000)\n
Nov 26 17:28:03 kernel: [181062.193477] Disabling lock debugging due to kernel taint\n
Nov 26 17:28:03 kernel: [181062.203352] BUG: Bad page map in process opkg  pte:8cf9575f pmd:81bb8835\n
Nov 26 17:28:03 kernel: [181062.210132] page:dfd4c0f4 count:1 mapcount:-1 mapping:c473ef51 index:0x0\n
Nov 26 17:28:03 kernel: [181062.216901] flags: 0x40068(uptodate|lru|active|swapbacked)\n
Nov 26 17:28:03 kernel: [181062.222518] raw: 00040068 c473ef51 00000000 fffffffe 00000001 dfcc54f8 dfc00740 00000000\n
Nov 26 17:28:03 kernel: [181062.230677] raw: df412000\n
Nov 26 17:28:03 kernel: [181062.233374] page dumped because: bad pte\n
Nov 26 17:28:03 kernel: [181062.237371] page->mem_cgroup:df412000\n
Nov 26 17:28:03 kernel: [181062.241101] addr:b6f2f000 vm_flags:00100073 anon_vma:c473ef50 mapping:  (null) index:b6f2f\n
Nov 26 17:28:03 kernel: [181062.249394] file:  (null) fault:  (null) mmap:  (null) readpage:  (null)\n
Nov 26 17:28:03 kernel: [181062.256140] CPU: 0 PID: 21711 Comm: opkg Tainted: G    B   W       4.14.171 #0\n
Nov 26 17:28:03 kernel: [181062.263386] Hardware name: Mediatek Cortex-A7 (Device Tree)\n
Nov 26 17:28:03 kernel: [181062.269012] [<c010ed64>] (unwind_backtrace) from [<c010add8>] (show_stack+0x10/0x14)\n
Nov 26 17:28:03 kernel: [181062.276783] [<c010add8>] (show_stack) from [<c0622a88>] (dump_stack+0x84/0x98)\n
Nov 26 17:28:03 kernel: [181062.284038] [<c0622a88>] (dump_stack) from [<c01f1510>] (print_bad_pte+0x188/0x19c)\n
Nov 26 17:28:03 kernel: [181062.291720] [<c01f1510>] (print_bad_pte) from [<c01f3444>] (unmap_page_range+0x310/0x650)\n
Nov 26 17:28:03 kernel: [181062.299920] [<c01f3444>] (unmap_page_range) from [<c01f3a34>] (unmap_vmas+0x28/0x58)\n
Nov 26 17:28:03 kernel: [181062.307687] [<c01f3a34>] (unmap_vmas) from [<c01f9840>] (exit_mmap+0xd8/0x14c)\n
Nov 26 17:28:03 kernel: [181062.314940] [<c01f9840>] (exit_mmap) from [<c011e7a4>] (mmput+0x38/0xe0)\n
Nov 26 17:28:03 kernel: [181062.321676] [<c011e7a4>] (mmput) from [<c0125284>] (do_exit+0x42c/0xa38)\n
Nov 26 17:28:03 kernel: [181062.328410] [<c0125284>] (do_exit) from [<c012597c>] (SyS_exit_group+0x0/0x10)\n
Nov 26 17:28:03 kernel: [181062.335661] [<c012597c>] (SyS_exit_group) from [<c192a000>] (0xc192a000)\n
Nov 26 17:28:03 kernel: [181062.411363] BUG: Bad page map in process grep  pte:83b3e75f pmd:81a84835\n
Nov 26 17:28:03 kernel: [181062.418158] page:dfbfe4b8 count:0 mapcount:-1 mapping:  (null) index:0x1\n
Nov 26 17:28:03 kernel: [181062.424917] flags: 0x14(referenced|dirty)\n
Nov 26 17:28:03 kernel: [181062.428997] raw: 00000014 00000000 00000001 fffffffe 00000000 dfbffb28 dfc66878 00000000\n
Nov 26 17:28:03 kernel: [181062.437155] raw: 00000000\n
Nov 26 17:28:03 kernel: [181062.439846] page dumped because: bad pte\n
Nov 26 17:28:03 kernel: [181062.443839] addr:00081000 vm_flags:00100873 anon_vma:c473e2a0 mapping:df1ab7e4 index:61\n
Nov 26 17:28:03 kernel: [181062.451888] file:busybox fault:filemap_fault mmap:generic_file_readonly_mmap readpage:squashfs_readpage\n
Nov 26 17:28:03 kernel: [181062.461308] CPU: 0 PID: 21712 Comm: grep Tainted: G    B   W       4.14.171 #0\n
Nov 26 17:28:03 kernel: [181062.468554] Hardware name: Mediatek Cortex-A7 (Device Tree)\n
Nov 26 17:28:03 kernel: [181062.474177] [<c010ed64>] (unwind_backtrace) from [<c010add8>] (show_stack+0x10/0x14)\n
Nov 26 17:28:03 kernel: [181062.481947] [<c010add8>] (show_stack) from [<c0622a88>] (dump_stack+0x84/0x98)\n
Nov 26 17:28:03 kernel: [181062.489202] [<c0622a88>] (dump_stack) from [<c01f1510>] (print_bad_pte+0x188/0x19c)\n
Nov 26 17:28:03 kernel: [181062.496887] [<c01f1510>] (print_bad_pte) from [<c01f3444>] (unmap_page_range+0x310/0x650)\n
Nov 26 17:28:03 kernel: [181062.505087] [<c01f3444>] (unmap_page_range) from [<c01f3a34>] (unmap_vmas+0x28/0x58)\n
Nov 26 17:28:03 kernel: [181062.512855] [<c01f3a34>] (unmap_vmas) from [<c01f9840>] (exit_mmap+0xd8/0x14c)\n
Nov 26 17:28:03 kernel: [181062.520108] [<c01f9840>] (exit_mmap) from [<c011e7a4>] (mmput+0x38/0xe0)\n
Nov 26 17:28:03 kernel: [181062.526844] [<c011e7a4>] (mmput) from [<c0125284>] (do_exit+0x42c/0xa38)\n
Nov 26 17:28:03 kernel: [181062.533579] [<c0125284>] (do_exit) from [<c012597c>] (SyS_exit_group+0x0/0x10)\n
Nov 26 17:28:03 kernel: [181062.540830] [<c012597c>] (SyS_exit_group) from [<c1a30000>] (0xc1a30000)\n
Nov 26 17:28:03 kernel: [181062.550618] BUG: Bad page map in process sh  pte:8699175f pmd:81b22835\n
Nov 26 17:28:03 kernel: [181062.557233] page:dfc66864 count:0 mapcount:-1 mapping:  (null) index:0x1\n
Nov 26 17:28:03 kernel: [181062.563993] flags: 0x14(referenced|dirty)\n
Nov 26 17:28:03 kernel: [181062.568073] raw: 00000014 00000000 00000001 fffffffe 00000000 dfbfe4cc dfbe96d0 00000000\n
Nov 26 17:28:03 kernel: [181062.576198] raw: 00000000\n
Nov 26 17:28:03 kernel: [181062.578914] page dumped because: bad pte\n
Nov 26 17:28:03 kernel: [181062.582904] addr:00081000 vm_flags:00100873 anon_vma:c473e2d8 mapping:df1ab7e4 index:61\n
Nov 26 17:28:03 kernel: [181062.590955] file:busybox fault:filemap_fault mmap:generic_file_readonly_mmap readpage:squashfs_readpage\n
Nov 26 17:28:03 kernel: [181062.600374] CPU: 0 PID: 21710 Comm: sh Tainted: G    B   W       4.14.171 #0\n
Nov 26 17:28:03 kernel: [181062.607448] Hardware name: Mediatek Cortex-A7 (Device Tree)\n
Nov 26 17:28:03 kernel: [181062.613073] [<c010ed64>] (unwind_backtrace) from [<c010add8>] (show_stack+0x10/0x14)\n
Nov 26 17:28:03 kernel: [181062.620844] [<c010add8>] (show_stack) from [<c0622a88>] (dump_stack+0x84/0x98)\n
Nov 26 17:28:03 kernel: [181062.628098] [<c0622a88>] (dump_stack) from [<c01f1510>] (print_bad_pte+0x188/0x19c)\n
Nov 26 17:28:03 kernel: [181062.635781] [<c01f1510>] (print_bad_pte) from [<c01f3444>] (unmap_page_range+0x310/0x650)\n
Nov 26 17:28:03 kernel: [181062.643983] [<c01f3444>] (unmap_page_range) from [<c01f3a34>] (unmap_vmas+0x28/0x58)\n
Nov 26 17:28:03 kernel: [181062.651753] [<c01f3a34>] (unmap_vmas) from [<c01f9840>] (exit_mmap+0xd8/0x14c)\n
Nov 26 17:28:03 kernel: [181062.659008] [<c01f9840>] (exit_mmap) from [<c011e7a4>] (mmput+0x38/0xe0)\n
Nov 26 17:28:03 kernel: [181062.665745] [<c011e7a4>] (mmput) from [<c0125284>] (do_exit+0x42c/0xa38)\n
Nov 26 17:28:03 kernel: [181062.672479] [<c0125284>] (do_exit) from [<c012597c>] (SyS_exit_group+0x0/0x10)\n
Nov 26 17:28:03 kernel: [181062.679729] [<c012597c>] (SyS_exit_group) from [<c1ac4000>] (0xc1ac4000)\n
Nov 26 17:28:03 kernel: [181062.689468] BUG: Bad page map in process sh  pte:860277df pmd:8184c835\n
Nov 26 17:28:03 kernel: [181062.696125] page:dfc5157c count:0 mapcount:-1 mapping:  (null) index:0x1\n
Nov 26 17:28:03 kernel: [181062.702946] flags: 0x14(referenced|dirty)\n
Nov 26 17:28:03 kernel: [181062.707081] raw: 00000014 00000000 00000001 fffffffe 00000000 dfc8b0e8 dfc588bc 00000000\n
Nov 26 17:28:03 kernel: [181062.715205] raw: 00000000\n
Nov 26 17:28:03 kernel: [181062.717923] page dumped because: bad pte\n
Nov 26 17:28:03 kernel: [181062.721910] addr:b6f05000 vm_flags:00100073 anon_vma:c473e230 mapping:df15bb64 index:b\n
Nov 26 17:28:03 kernel: [181062.729894] file:libgcc_s.so.1 fault:filemap_fault mmap:generic_file_readonly_mmap readpage:squashfs_readpage\n
Nov 26 17:28:03 kernel: [181062.739846] CPU: 0 PID: 21710 Comm: sh Tainted: G    B   W       4.14.171 #0\n
Nov 26 17:28:03 kernel: [181062.746920] Hardware name: Mediatek Cortex-A7 (Device Tree)\n
Nov 26 17:28:03 kernel: [181062.752545] [<c010ed64>] (unwind_backtrace) from [<c010add8>] (show_stack+0x10/0x14)\n
Nov 26 17:28:03 kernel: [181062.760316] [<c010add8>] (show_stack) from [<c0622a88>] (dump_stack+0x84/0x98)\n
Nov 26 17:28:03 kernel: [181062.767570] [<c0622a88>] (dump_stack) from [<c01f1510>] (print_bad_pte+0x188/0x19c)\n
Nov 26 17:28:03 kernel: [181062.775253] [<c01f1510>] (print_bad_pte) from [<c01f3444>] (unmap_page_range+0x310/0x650)\n
Nov 26 17:28:03 kernel: [181062.783451] [<c01f3444>] (unmap_page_range) from [<c01f3a34>] (unmap_vmas+0x28/0x58)\n
Nov 26 17:28:03 kernel: [181062.791219] [<c01f3a34>] (unmap_vmas) from [<c01f9840>] (exit_mmap+0xd8/0x14c)\n
Nov 26 17:28:03 kernel: [181062.798473] [<c01f9840>] (exit_mmap) from [<c011e7a4>] (mmput+0x38/0xe0)\n

demo.sh is as follow:

while [ 1 ]
do
	if [ -z "$(ps w |grep hostapd |grep wlan0)" ]; then
		echo "disabled"
		return
    fi
    echo "ok"
    sleep 1
done

No, it's not the script; there is something wrong with that kernel. As advised by @tmomas, I would update to a more recent version first; there is a high chance that the issue has already been fixed.