After shutting down my machine, it hangs, forcing me to hold the power button

System Information:
Laptop: Lenovo ThinkPad P51S
OS: 5.14.16-arch1-1
Display Server: Xorg
Window Manager: dwm

Bug Description:
When I power off my maching, sometimes, I will be on a black screen with some prior (most likely non important) warning messages. After wait a few seconds, This will pop up:

Nov 06 23:46:11 arch systemd[1]: optimus-manager.service: Deactivated successfully.
Nov 06 23:46:11 arch systemd[1]: Stopped Optimus Manager Commands Daemon.
Nov 06 23:46:11 arch audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=optimus-manager comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 06 23:46:11 arch systemd[1]: optimus-manager.service: Consumed 1.436s CPU time.
Nov 06 23:46:48 arch kernel: BUG: kernel NULL pointer dereference, address: 0000000000000128
Nov 06 23:46:48 arch kernel: #PF: supervisor read access in kernel mode
Nov 06 23:46:48 arch kernel: #PF: error_code(0x0000) - not-present page
Nov 06 23:46:48 arch kernel: PGD 0 P4D 0 
Nov 06 23:46:48 arch kernel: Oops: 0000 [#1] PREEMPT SMP PTI
Nov 06 23:46:48 arch kernel: CPU: 0 PID: 1107 Comm: Xorg Tainted: P           OE     5.14.16-arch1-1 #1 ad87b876fa2ab6fdbd995dc1c9aab0ad8f767b2c
Nov 06 23:46:48 arch kernel: Hardware name: LENOVO 20HBCTO1WW/20HBCTO1WW, BIOS N1VET41W (1.31 ) 03/06/2018
Nov 06 23:46:48 arch kernel: RIP: 0010:_nv024646rm+0xba/0x1d0 [nvidia]
Nov 06 23:46:48 arch kernel: Code: 0f 85 da 00 00 00 48 8d 7d 30 31 f6 ba 10 00 00 00 e8 8a 14 2d 00 f6 45 30 03 75 0e 8b 45 0c c7 45 30 02 00 00 00 48 89 45 38 <49> 8b b5 28 01 00 00 4c 8d 4d 1c 4c 8d 45 28 48 8d 4d 30 44 89 e2
Nov 06 23:46:48 arch kernel: RSP: 0018:ffffbc644081f918 EFLAGS: 00010246
Nov 06 23:46:48 arch kernel: RAX: 0000000000000002 RBX: ffff934f53fa4008 RCX: 0000000000000000
Nov 06 23:46:48 arch kernel: RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff934f638bd7f0
Nov 06 23:46:48 arch kernel: RBP: ffff934f638bd7b0 R08: ffffffffc37932b0 R09: ffff934f638bd7e0
Nov 06 23:46:48 arch kernel: R10: 0000000000000453 R11: 0000000000000000 R12: 00000000c1e00003
Nov 06 23:46:48 arch kernel: R13: 0000000000000000 R14: ffff934f54b97008 R15: 0000000000000000
Nov 06 23:46:48 arch kernel: FS:  00007f01f412adc0(0000) GS:ffff9356ae400000(0000) knlGS:0000000000000000
Nov 06 23:46:48 arch kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 06 23:46:48 arch kernel: CR2: 0000000000000128 CR3: 00000001042e2001 CR4: 00000000003706f0
Nov 06 23:46:48 arch kernel: Call Trace:
Nov 06 23:46:48 arch kernel:  ? _nv036934rm+0x2d0/0x3c0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv024631rm+0x42/0x170 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv002245rm+0x9/0x20 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv003698rm+0x1b/0x70 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv014538rm+0x784/0x7f0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv035204rm+0xac/0xe0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv036727rm+0xb0/0x140 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv036726rm+0x392/0x4f0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv035115rm+0xbe/0x140 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv028229rm+0x37/0x50 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv028224rm+0x43/0x180 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv002272rm+0x9/0x20 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv003698rm+0x1b/0x70 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv014538rm+0x784/0x7f0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv035204rm+0xac/0xe0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv036727rm+0xb0/0x140 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv036726rm+0x30f/0x4f0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv035115rm+0xbe/0x140 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv035141rm+0x17b/0x180 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv022360rm+0xb7/0x310 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv002340rm+0x9/0x30 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv003698rm+0x1b/0x70 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv009804rm+0x6c/0x1a0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv022956rm+0x132/0x1d0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? _nv000759rm+0x1d7/0x2f0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? rm_shutdown_adapter+0x78/0x90 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? nv_close_device+0x15a/0x190 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? nvidia_close_callback+0x9d/0x1d0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? nvidia_close+0xea/0x300 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? nvidia_frontend_close+0x2b/0x50 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:46:48 arch kernel:  ? __fput+0x8c/0x230
Nov 06 23:46:48 arch kernel:  ? task_work_run+0x5c/0x90
Nov 06 23:46:48 arch kernel:  ? exit_to_user_mode_prepare+0x168/0x170
Nov 06 23:46:48 arch kernel:  ? syscall_exit_to_user_mode+0x23/0x40
Nov 06 23:46:48 arch kernel:  ? do_syscall_64+0x69/0x80
Nov 06 23:46:48 arch kernel:  ? exc_page_fault+0x72/0x170
Nov 06 23:46:48 arch kernel:  ? entry_SYSCALL_64_after_hwframe+0x44/0xae
Nov 06 23:46:48 arch kernel: Modules linked in: usbhid ses enclosure scsi_transport_sas nvidia(POE) joydev intel_rapl_msr intel_rapl_common mousedev snd_soc_skl snd_hda_codec_hdmi intel_tcc_cooling x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp ccm snd_hda_ext_core uvcvideo snd_ctl_led snd_soc_sst_ipc algif_aead snd_soc_sst_dsp snd_hda_codec_realtek videobuf2_vmalloc videobuf2_memops snd_hda_codec_generic videobuf2_v4l2 snd_soc_acpi_intel_match kvm_intel snd_soc_acpi cbc videobuf2_common videodev kvm snd_soc_core des_generic libdes btusb snd_compress btrtl ecb ac97_bus btbcm btintel think_lmi mc irqbypass iTCO_wdt intel_pmc_bxt ee1004 iTCO_vendor_support mei_hdcp uas mei_wdt bluetooth crct10dif_pclmul ecdh_generic firmware_attributes_class wmi_bmof intel_wmi_thunderbolt ecc usb_storage crc32_pclmul algif_skcipher snd_pcm_dmaengine ghash_clmulni_intel i915 snd_hda_intel 8021q garp mrp stp snd_intel_dspcfg llc aesni_intel iwlmvm i2c_algo_bit cmac crypto_simd snd_intel_sdw_acpi
Nov 06 23:46:48 arch kernel:  snd_hda_codec cryptd mac80211 snd_hda_core rapl intel_cstate intel_uncore libarc4 md4 ttm snd_hwdep algif_hash iwlwifi af_alg drm_kms_helper psmouse pcspkr i2c_i801 snd_pcm cec e1000e snd_timer i2c_smbus intel_gtt cfg80211 mei_me agpgart mei syscopyarea sysfillrect sysimgblt fb_sys_fops intel_xhci_usb_role_switch intel_pch_thermal ucsi_acpi typec_ucsi typec roles wmi thinkpad_acpi platform_profile ledtrig_audio rfkill snd soundcore tpm_crb tpm_tis tpm_tis_core tpm i2c_hid_acpi video i2c_hid mac_hid rng_core acpi_pad pkcs8_key_parser drm fuse bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 serio_raw atkbd libps2 crc32c_intel i8042 xhci_pci xhci_pci_renesas serio
Nov 06 23:46:48 arch kernel: CR2: 0000000000000128
Nov 06 23:46:48 arch kernel: ---[ end trace 387e544986df5a7a ]---
Nov 06 23:46:48 arch kernel: RIP: 0010:_nv024646rm+0xba/0x1d0 [nvidia]
Nov 06 23:46:48 arch kernel: Code: 0f 85 da 00 00 00 48 8d 7d 30 31 f6 ba 10 00 00 00 e8 8a 14 2d 00 f6 45 30 03 75 0e 8b 45 0c c7 45 30 02 00 00 00 48 89 45 38 <49> 8b b5 28 01 00 00 4c 8d 4d 1c 4c 8d 45 28 48 8d 4d 30 44 89 e2
Nov 06 23:46:48 arch kernel: RSP: 0018:ffffbc644081f918 EFLAGS: 00010246
Nov 06 23:46:48 arch kernel: RAX: 0000000000000002 RBX: ffff934f53fa4008 RCX: 0000000000000000
Nov 06 23:46:48 arch kernel: RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff934f638bd7f0
Nov 06 23:46:48 arch kernel: RBP: ffff934f638bd7b0 R08: ffffffffc37932b0 R09: ffff934f638bd7e0
Nov 06 23:46:48 arch kernel: R10: 0000000000000453 R11: 0000000000000000 R12: 00000000c1e00003
Nov 06 23:46:48 arch kernel: R13: 0000000000000000 R14: ffff934f54b97008 R15: 0000000000000000
Nov 06 23:46:48 arch kernel: FS:  00007f01f412adc0(0000) GS:ffff9356ae400000(0000) knlGS:0000000000000000
Nov 06 23:46:48 arch kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 06 23:46:48 arch kernel: CR2: 0000000000000128 CR3: 00000001042e2001 CR4: 00000000003706f0
Nov 06 23:47:41 arch systemd[1]: session-1.scope: Stopping timed out. Killing.
Nov 06 23:47:41 arch systemd[1]: session-1.scope: Killing process 1107 (Xorg) with signal SIGKILL.
Nov 06 23:47:41 arch systemd[1]: session-1.scope: Killing process 1118 (Xorg:gdrv0) with signal SIGKILL.
Nov 06 23:47:42 arch kernel: BUG: unable to handle page fault for address: ffffbc644081fd90
Nov 06 23:47:42 arch kernel: #PF: supervisor read access in kernel mode
Nov 06 23:47:42 arch kernel: #PF: error_code(0x0000) - not-present page
Nov 06 23:47:42 arch kernel: PGD 100000067 P4D 100000067 PUD 1001b5067 PMD 10eb43067 PTE 0
Nov 06 23:47:42 arch kernel: Oops: 0000 [#2] PREEMPT SMP PTI
Nov 06 23:47:42 arch kernel: CPU: 3 PID: 1118 Comm: Xorg:gdrv0 Tainted: P      D    OE     5.14.16-arch1-1 #1 ad87b876fa2ab6fdbd995dc1c9aab0ad8f767b2c
Nov 06 23:47:42 arch kernel: Hardware name: LENOVO 20HBCTO1WW/20HBCTO1WW, BIOS N1VET41W (1.31 ) 03/06/2018
Nov 06 23:47:42 arch kernel: RIP: 0010:_nv010113rm+0x3c/0x340 [nvidia]
Nov 06 23:47:42 arch kernel: Code: 07 0f 1f 44 00 00 31 d2 48 8b 07 48 85 c0 75 1a e9 a1 02 00 00 66 0f 1f 84 00 00 00 00 00 48 8b 48 10 48 85 c9 74 17 48 89 c8 <48> 39 30 77 ef 0f 83 29 02 00 00 48 8b 48 18 48 85 c9 75 e9 48 89
Nov 06 23:47:42 arch kernel: RSP: 0018:ffffbc64408cbad0 EFLAGS: 00010086
Nov 06 23:47:42 arch kernel: RAX: ffffbc644081fd90 RBX: ffffbc64408cbb18 RCX: 0033020b87595a78
Nov 06 23:47:42 arch kernel: RDX: ffffbc64408cbb70 RSI: 000000000000045e RDI: ffffffffc3926a18
Nov 06 23:47:42 arch kernel: RBP: ffff934f60623000 R08: 0000000000000001 R09: ffffbc64408cbb18
Nov 06 23:47:42 arch kernel: R10: 0000000000000001 R11: 000000000000a800 R12: ffffffffc21065d2
Nov 06 23:47:42 arch kernel: R13: ffffffffc3927d20 R14: ffff934f50ae6800 R15: ffffffffc3924160
Nov 06 23:47:42 arch kernel: FS:  0000000000000000(0000) GS:ffff9356ae580000(0000) knlGS:0000000000000000
Nov 06 23:47:42 arch kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 06 23:47:42 arch kernel: CR2: ffffbc644081fd90 CR3: 000000063a010006 CR4: 00000000003706e0
Nov 06 23:47:42 arch kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 06 23:47:42 arch kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Nov 06 23:47:42 arch kernel: Call Trace:
Nov 06 23:47:42 arch kernel:  ? _nv038672rm+0xb0/0x1c0 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:47:42 arch kernel:  ? rm_cleanup_file_private+0x42/0x170 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:47:42 arch kernel:  ? nvidia_close+0x150/0x300 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:47:42 arch kernel:  ? nvidia_frontend_close+0x2b/0x50 [nvidia d245fb1cdf39426d0e03e52244890046d17074b4]
Nov 06 23:47:42 arch kernel:  ? __fput+0x8c/0x230
Nov 06 23:47:42 arch kernel:  ? task_work_run+0x5c/0x90
Nov 06 23:47:42 arch kernel:  ? do_exit+0x361/0xac0
Nov 06 23:47:42 arch kernel:  ? do_group_exit+0x33/0xa0
Nov 06 23:47:42 arch kernel:  ? get_signal+0x13e/0x910
Nov 06 23:47:42 arch kernel:  ? arch_do_signal_or_restart+0x117/0x740
Nov 06 23:47:42 arch kernel:  ? do_futex+0x1bc/0xb10
Nov 06 23:47:42 arch kernel:  ? exit_to_user_mode_prepare+0xef/0x170
Nov 06 23:47:42 arch kernel:  ? syscall_exit_to_user_mode+0x23/0x40
Nov 06 23:47:42 arch kernel:  ? do_syscall_64+0x69/0x80
Nov 06 23:47:42 arch kernel:  ? __audit_syscall_exit+0x24d/0x2a0
Nov 06 23:47:42 arch kernel:  ? syscall_exit_to_user_mode+0x23/0x40
Nov 06 23:47:42 arch kernel:  ? do_syscall_64+0x69/0x80
Nov 06 23:47:42 arch kernel:  ? syscall_exit_to_user_mode+0x23/0x40
Nov 06 23:47:42 arch kernel:  ? do_syscall_64+0x69/0x80
Nov 06 23:47:42 arch kernel:  ? exc_page_fault+0x72/0x170
Nov 06 23:47:42 arch kernel:  ? entry_SYSCALL_64_after_hwframe+0x44/0xae
Nov 06 23:47:42 arch kernel: Modules linked in: usbhid ses enclosure scsi_transport_sas nvidia(POE) joydev intel_rapl_msr intel_rapl_common mousedev snd_soc_skl snd_hda_codec_hdmi intel_tcc_cooling x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp ccm snd_hda_ext_core uvcvideo snd_ctl_led snd_soc_sst_ipc algif_aead snd_soc_sst_dsp snd_hda_codec_realtek videobuf2_vmalloc videobuf2_memops snd_hda_codec_generic videobuf2_v4l2 snd_soc_acpi_intel_match kvm_intel snd_soc_acpi cbc videobuf2_common videodev kvm snd_soc_core des_generic libdes btusb snd_compress btrtl ecb ac97_bus btbcm btintel think_lmi mc irqbypass iTCO_wdt intel_pmc_bxt ee1004 iTCO_vendor_support mei_hdcp uas mei_wdt bluetooth crct10dif_pclmul ecdh_generic firmware_attributes_class wmi_bmof intel_wmi_thunderbolt ecc usb_storage crc32_pclmul algif_skcipher snd_pcm_dmaengine ghash_clmulni_intel i915 snd_hda_intel 8021q garp mrp stp snd_intel_dspcfg llc aesni_intel iwlmvm i2c_algo_bit cmac crypto_simd snd_intel_sdw_acpi
Nov 06 23:47:42 arch kernel:  snd_hda_codec cryptd mac80211 snd_hda_core rapl intel_cstate intel_uncore libarc4 md4 ttm snd_hwdep algif_hash iwlwifi af_alg drm_kms_helper psmouse pcspkr i2c_i801 snd_pcm cec e1000e snd_timer i2c_smbus intel_gtt cfg80211 mei_me agpgart mei syscopyarea sysfillrect sysimgblt fb_sys_fops intel_xhci_usb_role_switch intel_pch_thermal ucsi_acpi typec_ucsi typec roles wmi thinkpad_acpi platform_profile ledtrig_audio rfkill snd soundcore tpm_crb tpm_tis tpm_tis_core tpm i2c_hid_acpi video i2c_hid mac_hid rng_core acpi_pad pkcs8_key_parser drm fuse bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 serio_raw atkbd libps2 crc32c_intel i8042 xhci_pci xhci_pci_renesas serio
Nov 06 23:47:42 arch kernel: CR2: ffffbc644081fd90
Nov 06 23:47:42 arch kernel: ---[ end trace 387e544986df5a7b ]---
Nov 06 23:47:42 arch kernel: RIP: 0010:_nv024646rm+0xba/0x1d0 [nvidia]
Nov 06 23:47:42 arch kernel: Code: 0f 85 da 00 00 00 48 8d 7d 30 31 f6 ba 10 00 00 00 e8 8a 14 2d 00 f6 45 30 03 75 0e 8b 45 0c c7 45 30 02 00 00 00 48 89 45 38 <49> 8b b5 28 01 00 00 4c 8d 4d 1c 4c 8d 45 28 48 8d 4d 30 44 89 e2
Nov 06 23:47:42 arch kernel: RSP: 0018:ffffbc644081f918 EFLAGS: 00010246
Nov 06 23:47:42 arch kernel: RAX: 0000000000000002 RBX: ffff934f53fa4008 RCX: 0000000000000000
Nov 06 23:47:42 arch kernel: RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff934f638bd7f0
Nov 06 23:47:42 arch kernel: RBP: ffff934f638bd7b0 R08: ffffffffc37932b0 R09: ffff934f638bd7e0
Nov 06 23:47:42 arch kernel: R10: 0000000000000453 R11: 0000000000000000 R12: 00000000c1e00003
Nov 06 23:47:42 arch kernel: R13: 0000000000000000 R14: ffff934f54b97008 R15: 0000000000000000
Nov 06 23:47:42 arch kernel: FS:  0000000000000000(0000) GS:ffff9356ae580000(0000) knlGS:0000000000000000
Nov 06 23:47:42 arch kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 06 23:47:42 arch kernel: CR2: ffffbc644081fd90 CR3: 000000063a010006 CR4: 00000000003706e0
Nov 06 23:47:42 arch kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 06 23:47:42 arch kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Nov 06 23:47:42 arch kernel: note: Xorg:gdrv0[1118] exited with preempt_count 1
Nov 06 23:47:42 arch kernel: Fixing recursive fault but reboot is needed!

At first, I thought something with my compositor (picom) was causing an issue because it had been crashing a few times. Also, it seems like this message pops up after optimus-manager has been has been successfully deactivated. Judging from the output it seems like there may be some issues with nvidia driver handling the shutdown process. I would also like to note that startup_mode=integrated in my optimus-manager.conf file, which indicates that my graphics is rendered through the integrated graphics card.

I hope this was enough information. Any help would be much appreciated!

Thank you.