Bug 31978 - isodumper fails when GPG database contains accented char, also it dont create persistence.
Summary: isodumper fails when GPG database contains accented char, also it dont create...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: papoteur
QA Contact:
URL:
Whiteboard:
Keywords: feedback
Depends on:
Blocks:
 
Reported: 2023-05-30 22:13 CEST by Daniel Tartavel
Modified: 2023-06-18 14:49 CEST (History)
3 users (show)

See Also:
Source RPM: isodumper-1.46-1.mga9.noarch.rpm
CVE:
Status comment:


Attachments

Description Daniel Tartavel 2023-05-30 22:13:53 CEST
Description of problem:

when selecting usb key, isodumper do nothing, no log,  all gadgets stay disabled
if no key is  inserted , it does not display the error message.

When upgrading from mageia 8 isodumper run well (lib64yui12 stay installed)

Version-Release number of selected component (if applicable):
isodumper 1.45
lib64yui16 4.4.4

How reproducible:
launch isodumper
select usk key
Comment 1 Dave Hodgins 2023-05-31 00:04:18 CEST
This is likely a duplicate or at least very similar to bug 31898
which was closed when it started working for the reporter, and could
not be replicated by others.

Assigning to papoteur

CC: (none) => davidwhodgins
Assignee: bugsquad => yves.brungard_mageia

Comment 2 Morgan Leijström 2023-05-31 10:04:13 CEST
(In reply to Daniel Tartavel from comment #0)
> 
> When upgrading from mageia 8 isodumper run well (lib64yui12 stay installed)

Interesting. I assume reinstalling that mga8 package makes isodumper work?
This is a test that others hitting this problem could test.
Also see https://bugs.mageia.org/show_bug.cgi?id=31898#c43 for list of related packages.
Does not seem to give a clear clue though but maybe something...
The OP in that report had problems both on an upgraded, and a clean install.

@Daniel T, what mga8 packages do you have on your system?

CC: (none) => fri

Morgan Leijström 2023-05-31 10:05:58 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=31898

Comment 3 papoteur 2023-05-31 10:51:58 CEST
I submitted a release 1.46 of isodumper in updates_testing.
I think that the problem is when there is more than one device and that the selected is the second one.
Comment 4 Stephen Germany 2023-05-31 15:59:49 CEST
I ran into that problem.  Had a external hard drive hooked up, plugged in a usb thumb drive, and it was listed as the second device.  After choosing it, isodumper was not functional.

CC: (none) => stephengermany

Comment 5 Stephen Germany 2023-05-31 23:29:50 CEST
Installed isodumper 1.46 and it works as expected.

I left the external hard drive plugged in, inserted a thumb drive, chose the thumb drive and it let me work on it.

@papoteur
Good job!
Comment 6 Daniel Tartavel 2023-06-01 20:04:42 CEST
I have just installed version 1.46.

on mageia9 upgraded from mageia8
De-installed lib64yui12

when selecting iso image, isodumper crash whith error:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/isodumper/isodumper.py", line 1200, in run
    self._handleEvents()
  File "/usr/lib/python3.10/site-packages/manatools/ui/basedialog.py", line 207, in _handleEvents
    self.eventManager.widgetEvent(widget, wEvent)
  File "/usr/lib/python3.10/site-packages/manatools/eventmanager.py", line 98, in widgetEvent
    self._widgetEvent(widget, *args, **kargs)
  File "/usr/lib/python3.10/site-packages/manatools/event.py", line 73, in fire
    handler.handler()
  File "/usr/lib/python3.10/site-packages/isodumper/isodumper.py", line 944, in ask_image
    self.get_sum(self.img_name)
  File "/usr/lib/python3.10/site-packages/isodumper/isodumper.py", line 336, in get_sum
    keys_list = gpg.list_keys()
  File "/usr/lib/python3.10/site-packages/gnupg.py", line 1496, in list_keys
    return self._get_list_output(p, 'list')
  File "/usr/lib/python3.10/site-packages/gnupg.py", line 1447, in _get_list_output
    lines = result.data.decode(self.encoding, self.decode_errors).splitlines()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 9343: invalid continuation byte
terminate called after throwing an instance of 'YUIInvalidWidgetException'
  what():  Invalid widget
Abandon (core dumped)
Comment 7 Dave Hodgins 2023-06-01 22:34:52 CEST
(In reply to Daniel Tartavel from comment #6)
>   File "/usr/lib/python3.10/site-packages/gnupg.py", line 1447, in
> _get_list_output
>     lines = result.data.decode(self.encoding,
> self.decode_errors).splitlines()
> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 9343:
> invalid continuation byte
> terminate called after throwing an instance of 'YUIInvalidWidgetException'
>   what():  Invalid widget
> Abandon (core dumped)

What's the output of "gpg --list-keys" run as root?
Comment 8 papoteur 2023-06-02 08:06:59 CEST
What I will do is avoid that isodumper crashes in such a case.
But the problem lies in python module gpg which fails because of non expected encoding. This should be reported here:
https://github.com/vsajip/python-gnupg/issues
papoteur 2023-06-02 08:07:24 CEST

Source RPM: isodumper-1.45-1.mga9.noarch.rpm => isodumper-1.46-1.mga9.noarch.rpm

papoteur 2023-06-02 08:08:32 CEST

Summary: isodumper is not functional at all => isodumper fails when GPG database contains accented characters

Comment 9 papoteur 2023-06-06 10:36:30 CEST
Isodumper 1.47 is coming to catch error when listing of GPG keys fails.

@Daniel
It could be interesting to have this:
> What's the output of "gpg --list-keys" run as root?
If there is no confidential data, of course.
Comment 10 Daniel Tartavel 2023-06-07 09:01:19 CEST
Hi,
I've redacted the email addresses and fields that didn't include accents.

pub   dsa1024 2000-07-10 [SCA]
      BB737822CB91B327219168CC9AA8D0D022458A98
uid          [ inconnue] Mandrake Linux Security Team <security@mandrakesoft.com>
uid          [ inconnue] Linux Mandrake Security Team <security@linux-mandrake.com>
sub   elg1024 2000-07-10 [E]

pub   dsa1024 2002-03-13 [SCA]
      ED655537C36EEE0E309ABA84E7898AE070771FF3
uid          [ inconnue] Mandrake Linux <mandrake@mandrakesoft.com>
sub   elg1024 2002-03-13 [E]

pub   dsa1024 2000-01-06 [SCA]
      63A28CBDA7A8387E1A532C1E59E70DEE9B4A4024
uid          [ inconnue] MandrakeSoft (MandrakeSoft official keys) <mandrake@mandrakesoft.com>
sub   elg1024 2000-01-06 [E]

pub   dsa1024 2003-01-16 [SC]
      1E8326EEA2F187E558654DBFF2B49083F44CAE88
uid          [ inconnue] Teletchéa Stéphane (perso) <>
uid          [ inconnue] Teletchéa Stéphane (steletch) <r>
sub   elg1024 2003-01-16 [E]

pub   dsa1024 2001-07-13 [SCA]
      8EBAB71086A64F0488EE464202AF0BF2BE708FE3
uid          [ inconnue] Arnaud de Lorbeau (IS-team) <adelorbeau@mandrakesoft.com>
sub   elg1024 2001-07-13 [E]

pub   dsa1024 2000-08-23 [SCA]
      035AF6DD9BACAAEDC52E3318A86A87E34087A817
uid          [ inconnue] Chmouel Boudjnah <chmouel@mandrakesoft.com>
sub   elg1024 2000-08-23 [E]

pub   dsa1024 2003-02-15 [SC]
      CEC14C0C06DB1AEA642D6B5330E74968F44DB96C
uid          [ inconnue] J\xe9\x72\xf4\x6de Blanc (Respectons la vie priv\xe9\x65) <>
uid          [ inconnue] J\xe9\x72\xf4\x6de Blanc <>
uid          [ inconnue] J\xe9\x72\xf4\x6de Blanc (Respectons la vie priv\xe9\x65) <>
uid          [ inconnue] J\xe9\x72\xf4\x6de Blanc (Respectons la vie priv\xe9\x65) <>
sub   elg1024 2003-02-15 [E]

pub   dsa1024 2007-11-30 [SCA]
      214D264CE1C009DE9C6B32DEB4FACA006DEA15FF
uid          [  ultime ] Cécile Bertaux <>
sub   elg1024 2007-11-30 [E]

pub   dsa1024 2005-11-22 [SCA]
      D1392E6D1748BF3CAC042C9D0B2E2F5B9D9F4F7E
uid          [  ultime ] Bertrand Bruyère <>
sub   elg1024 2005-11-22 [E]

pub   rsa2048 2011-01-04 [SC] [expirée : 2016-01-03]
      5A393BABD2D4E3203828A753BD5C9EF9E1FCCD19
uid          [ expirée ] Hex-Rays Sales (Key for encrypting order forms) <>

pub   rsa2048 2011-05-19 [SCEA]
      78638C72973799D76AFD4F203B292DBC973B91BB
uid          [  totale ] S\xe9\x62astien Dos Santos <>

pub   rsa4096 2012-04-18 [SCEA] [expirée : 2020-12-30]
      B21076A0CBE4D93D66A9D08D835E41F4EDCA7A90
uid          [ expirée ] Mageia Release <release@mageia.org>
Comment 11 Dave Hodgins 2023-06-07 18:00:09 CEST
Thanks. So it has both encoded strings such as J\xe9\x72\xf4\x6de
and utf8 accented characters such as in Bruyère.

Daniel, can you test the update from Mageia 9 core updates testing?
isodumper-1.47-1.mga9.noarch.rpm
isodumper-gtk-1.47-1.mga9.noarch.rpm
isodumper-qt-1.47-1.mga9.noarch.rpm
Comment 12 Daniel Tartavel 2023-06-08 13:52:57 CEST
Hi,

this version is ok, no more errors, but the persistant partition is not created as asked.
Comment 13 Morgan Leijström 2023-06-09 22:25:41 CEST
1.47-1 is now in core release.

(In reply to Daniel Tartavel from comment #12)
> the persistant partition is not created

I confirm that.
I used the dropdown, leaving the label field empty.

BTW, I suggest a GUI improvement for clarity:
When persistence is chosen by the dropdown: fill the label entry box with the correct label and disable editing of it.

Keywords: (none) => feedback

Morgan Leijström 2023-06-10 11:45:23 CEST

Summary: isodumper fails when GPG database contains accented characters => isodumper fails when GPG database contains accented char, also it dont create persistence.

Comment 14 papoteur 2023-06-10 14:33:35 CEST
Please test with isodumper-1.48-1.mga9 (actually in updates_testing)
Comment 15 Daniel Tartavel 2023-06-10 20:46:21 CEST
test ok, persistant partition is present now
Comment 16 Morgan Leijström 2023-06-11 01:13:58 CEST
Yes OK for me too.
And it is really nice and educative that when selecting persistenc in the dropdown, it change to ext4 and fills in "mgalive-persist" as label :)

So, good to move to release
Comment 17 papoteur 2023-06-18 14:49:19 CEST
This is now in release

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.