* [bug#74183] [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page.
@ 2024-11-03 9:13 Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 1/2] gnu: btop: Generate and install the " Artyom V. Poptsov
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Artyom V. Poptsov @ 2024-11-03 9:13 UTC (permalink / raw)
To: 74183; +Cc: Artyom V. Poptsov
This patchset improves btop package in two ways: firstly it fixes a SEGFAULT
error that occurs on Intel GPUs; secondly it allows btop to generate its man
page so it gets installed along with the tool.
Artyom V. Poptsov (2):
gnu: btop: Generate and install the man page.
gnu: btop: Fix SEGFAULT error on Intel GPUs.
gnu/local.mk | 1 +
gnu/packages/admin.scm | 6 ++-
.../btop-fix-segfault-on-intel-gpus.patch | 47 +++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
base-commit: 653121e1abe7e5400d39b326522ea327d90c9e58
--
2.46.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#74183] [PATCH 1/2] gnu: btop: Generate and install the man page.
2024-11-03 9:13 [bug#74183] [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
@ 2024-11-03 9:14 ` Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs Artyom V. Poptsov
2024-11-03 10:15 ` bug#74183: [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
2 siblings, 0 replies; 5+ messages in thread
From: Artyom V. Poptsov @ 2024-11-03 9:14 UTC (permalink / raw)
To: 74183; +Cc: Artyom V. Poptsov
* gnu/packages/admin.scm (btop)[native-inputs]: Add lowdown to allow
generation and installation of the program man page.
Change-Id: I1eb0c9491d89f21ef408cbcb4fb10f99be46690e
---
gnu/packages/admin.scm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 86f35d49ad..bc8f0efdef 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -159,6 +159,7 @@ (define-module (gnu packages admin)
#:use-module (gnu packages m4)
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
+ #:use-module (gnu packages markup)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
@@ -774,6 +775,7 @@ (define-public btop
(base32
"0vgw6hwqh6zbzrvrn3i0xwi9ykm1qdvhqcyz3mjakd7w303lx603"))))
(build-system gnu-build-system)
+ (native-inputs (list lowdown))
(arguments
(list #:tests? #f ;no test suite
#:make-flags #~(list (string-append "PREFIX=" #$output)
--
2.46.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs.
2024-11-03 9:13 [bug#74183] [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 1/2] gnu: btop: Generate and install the " Artyom V. Poptsov
@ 2024-11-03 9:14 ` Artyom V. Poptsov
2024-11-03 9:48 ` Z572
2024-11-03 10:15 ` bug#74183: [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
2 siblings, 1 reply; 5+ messages in thread
From: Artyom V. Poptsov @ 2024-11-03 9:14 UTC (permalink / raw)
To: 74183; +Cc: Artyom V. Poptsov
btop would fail on built-in Intel GPUs, this patch fixes that (see
<https://github.com/aristocratos/btop/pull/958>.)
* gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/admin.scm (btop): Use it.
Change-Id: Ic2bbf55a5f892a37bde17db6fb15025733b9bad6
---
gnu/local.mk | 1 +
gnu/packages/admin.scm | 4 +-
.../btop-fix-segfault-on-intel-gpus.patch | 47 +++++++++++++++++++
3 files changed, 51 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 1040b3927b..6f96cf5794 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1018,6 +1018,7 @@ dist_patch_DATA = \
%D%/packages/patches/bsd-games-number.c-and-test.patch \
%D%/packages/patches/bsd-games-prevent-name-collisions.patch \
%D%/packages/patches/bsd-games-stdio.h.patch \
+ %D%/packages/patches/btop-fix-segfault-on-intel-gpus.patch \
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index bc8f0efdef..4ae4db641f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -773,7 +773,9 @@ (define-public btop
(file-name (git-file-name name version))
(sha256
(base32
- "0vgw6hwqh6zbzrvrn3i0xwi9ykm1qdvhqcyz3mjakd7w303lx603"))))
+ "0vgw6hwqh6zbzrvrn3i0xwi9ykm1qdvhqcyz3mjakd7w303lx603"))
+ (patches
+ (search-patches "btop-fix-segfault-on-intel-gpus.patch"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
diff --git a/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch b/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
new file mode 100644
index 0000000000..d3618a374a
--- /dev/null
+++ b/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
@@ -0,0 +1,47 @@
+From 0ed4e9e907b3a3f1c2ae209b1dab384b1fa7a490 Mon Sep 17 00:00:00 2001
+From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
+Date: Sun, 3 Nov 2024 09:02:45 +0300
+Subject: [PATCH] intel_name_lookup_shim.c (get_intel_device_name): Fix
+ SEGFAULT
+
+btop would always fail with "Segmentation fault" when used on machines where the
+GPU does not have a codename (e.g. on embedded Intel graphics on Intel(R)
+Atom(TM) CPU D2500.) The reason for this behavior is that when a GPU does not
+have codename (it is NULL) the call to "strcpy" segfaults as the procedure
+effectively tries to access a NULL pointer.
+
+* src/linux/intel_gpu_top/intel_name_lookup_shim.c (get_intel_device_name): Add
+a check if "info->codename" is null; if it is, set the device name to
+"(unknown)" to prevent the SEGFAULT error.
+---
+ src/linux/intel_gpu_top/intel_name_lookup_shim.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/linux/intel_gpu_top/intel_name_lookup_shim.c b/src/linux/intel_gpu_top/intel_name_lookup_shim.c
+index e714f80..38f87fa 100644
+--- a/src/linux/intel_gpu_top/intel_name_lookup_shim.c
++++ b/src/linux/intel_gpu_top/intel_name_lookup_shim.c
+@@ -84,10 +84,14 @@ char *get_intel_device_name(const char *device_id) {
+ char full_name[256];
+ const struct intel_device_info *info = intel_get_device_info(devid);
+ if (info) {
+- strcpy(dev_name, info->codename);
+- dev_name[0] = toupper(dev_name[0]);
++ if (info->codename == NULL) {
++ strcpy(dev_name, "(unknown)");
++ } else {
++ strcpy(dev_name, info->codename);
++ dev_name[0] = toupper(dev_name[0]);
++ }
+ snprintf(full_name, sizeof(full_name), "Intel %s (Gen%u)", dev_name, info->graphics_ver);
+ return strdup(full_name);
+ }
+ return NULL;
+-}
+\ No newline at end of file
++}
+
+base-commit: 2e7208d59c54515080027a5ecbb89d2054047985
+--
+2.46.0
+
--
2.46.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs.
2024-11-03 9:14 ` [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs Artyom V. Poptsov
@ 2024-11-03 9:48 ` Z572
0 siblings, 0 replies; 5+ messages in thread
From: Z572 @ 2024-11-03 9:48 UTC (permalink / raw)
To: Artyom V. Poptsov; +Cc: 74183
[-- Attachment #1: Type: text/plain, Size: 4621 bytes --]
"Artyom V. Poptsov" <poptsov.artyom@gmail.com> writes:
> btop would fail on built-in Intel GPUs, this patch fixes that (see
> <https://github.com/aristocratos/btop/pull/958>.)
>
> * gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/admin.scm (btop): Use it.
>
> Change-Id: Ic2bbf55a5f892a37bde17db6fb15025733b9bad6
> ---
> gnu/local.mk | 1 +
> gnu/packages/admin.scm | 4 +-
> .../btop-fix-segfault-on-intel-gpus.patch | 47 +++++++++++++++++++
> 3 files changed, 51 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 1040b3927b..6f96cf5794 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1018,6 +1018,7 @@ dist_patch_DATA = \
> %D%/packages/patches/bsd-games-number.c-and-test.patch \
> %D%/packages/patches/bsd-games-prevent-name-collisions.patch \
> %D%/packages/patches/bsd-games-stdio.h.patch \
> + %D%/packages/patches/btop-fix-segfault-on-intel-gpus.patch \
> %D%/packages/patches/beancount-disable-googleapis-fonts.patch \
> %D%/packages/patches/beignet-correct-file-names.patch \
> %D%/packages/patches/bidiv-update-fribidi.patch \
> diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
> index bc8f0efdef..4ae4db641f 100644
> --- a/gnu/packages/admin.scm
> +++ b/gnu/packages/admin.scm
> @@ -773,7 +773,9 @@ (define-public btop
> (file-name (git-file-name name version))
> (sha256
> (base32
> - "0vgw6hwqh6zbzrvrn3i0xwi9ykm1qdvhqcyz3mjakd7w303lx603"))))
> + "0vgw6hwqh6zbzrvrn3i0xwi9ykm1qdvhqcyz3mjakd7w303lx603"))
> + (patches
> + (search-patches "btop-fix-segfault-on-intel-gpus.patch"))))
> (build-system gnu-build-system)
> (native-inputs (list lowdown))
> (arguments
> diff --git a/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch b/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
> new file mode 100644
> index 0000000000..d3618a374a
> --- /dev/null
> +++ b/gnu/packages/patches/btop-fix-segfault-on-intel-gpus.patch
> @@ -0,0 +1,47 @@
please add "https://github.com/aristocratos/btop/pull/958" on
btop-fix-segfault-on-intel-gpus.patch, Let others know the source
without having to look it up. other LGTM.
> +From 0ed4e9e907b3a3f1c2ae209b1dab384b1fa7a490 Mon Sep 17 00:00:00 2001
> +From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
> +Date: Sun, 3 Nov 2024 09:02:45 +0300
> +Subject: [PATCH] intel_name_lookup_shim.c (get_intel_device_name): Fix
> + SEGFAULT
> +
> +btop would always fail with "Segmentation fault" when used on machines where the
> +GPU does not have a codename (e.g. on embedded Intel graphics on Intel(R)
> +Atom(TM) CPU D2500.) The reason for this behavior is that when a GPU does not
> +have codename (it is NULL) the call to "strcpy" segfaults as the procedure
> +effectively tries to access a NULL pointer.
> +
> +* src/linux/intel_gpu_top/intel_name_lookup_shim.c (get_intel_device_name): Add
> +a check if "info->codename" is null; if it is, set the device name to
> +"(unknown)" to prevent the SEGFAULT error.
> +---
> + src/linux/intel_gpu_top/intel_name_lookup_shim.c | 10 +++++++---
> + 1 file changed, 7 insertions(+), 3 deletions(-)
> +
> +diff --git a/src/linux/intel_gpu_top/intel_name_lookup_shim.c b/src/linux/intel_gpu_top/intel_name_lookup_shim.c
> +index e714f80..38f87fa 100644
> +--- a/src/linux/intel_gpu_top/intel_name_lookup_shim.c
> ++++ b/src/linux/intel_gpu_top/intel_name_lookup_shim.c
> +@@ -84,10 +84,14 @@ char *get_intel_device_name(const char *device_id) {
> + char full_name[256];
> + const struct intel_device_info *info = intel_get_device_info(devid);
> + if (info) {
> +- strcpy(dev_name, info->codename);
> +- dev_name[0] = toupper(dev_name[0]);
> ++ if (info->codename == NULL) {
> ++ strcpy(dev_name, "(unknown)");
> ++ } else {
> ++ strcpy(dev_name, info->codename);
> ++ dev_name[0] = toupper(dev_name[0]);
> ++ }
> + snprintf(full_name, sizeof(full_name), "Intel %s (Gen%u)", dev_name, info->graphics_ver);
> + return strdup(full_name);
> + }
> + return NULL;
> +-}
> +\ No newline at end of file
> ++}
> +
> +base-commit: 2e7208d59c54515080027a5ecbb89d2054047985
> +--
> +2.46.0
> +
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#74183: [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page.
2024-11-03 9:13 [bug#74183] [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 1/2] gnu: btop: Generate and install the " Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs Artyom V. Poptsov
@ 2024-11-03 10:15 ` Artyom V. Poptsov
2 siblings, 0 replies; 5+ messages in thread
From: Artyom V. Poptsov @ 2024-11-03 10:15 UTC (permalink / raw)
To: 74183-done
[-- Attachment #1: Type: text/plain, Size: 386 bytes --]
Reviewed by Z572 <zhengjunjie@iscas.ac.cn>.
Merged to the "master" branch as:
- 0d7115b867424240425e5eef20efcf6abf6b7e92
- da70c25a3b6e722a16e15e758373b08d1099ded1
- avp
--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-11-03 10:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-03 9:13 [bug#74183] [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 1/2] gnu: btop: Generate and install the " Artyom V. Poptsov
2024-11-03 9:14 ` [bug#74183] [PATCH 2/2] gnu: btop: Fix SEGFAULT error on Intel GPUs Artyom V. Poptsov
2024-11-03 9:48 ` Z572
2024-11-03 10:15 ` bug#74183: [PATCH 0/2] gnu: btop: Fix SEGFAULT error on Intel GPUs; install man page Artyom V. Poptsov
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).