Comment 0 for bug 1713002

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

[Summary]
oem-config crashed when using some UTF-8 based languages

[Reproduce Steps]
1. Use live-build to generate a customized Ubuntu image with dell-recovery.
2. Use the customized Ubuntu image to install the system.
3. Select tradition Chinese language in oem-config-gtk's language page.
4. Select the recovery media creation in oem-config-gtk's dell-recovery plugin.

[Results]
Expected: The installation process will work fine without any problem.
Actual: Ubiquity crashed in the middle.

[Additional Information]

Traceback (most recent call last):
  File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 362, in run
    self.update_interface()
  File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 256, in update_interface
    self.status_change(pkgname, float(percent), status_str.strip())
  File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 341, in status_change
    self.db.subst(self.info, 'DESCRIPTION', status)
  File "/usr/lib/python3/dist-packages/debconf.py", line 62, in <lambda>
    lambda *args, **kw: self.command(command, *args, **kw))
  File "/usr/lib/python3/dist-packages/debconf.py", line 66, in command
    self.write.write("%s %s\n" % (command, ' '.join(map(str, params))))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 44-45: ordinal not in range(128)

...

PROGRESS STOP
Exception during installation:
Traceback (most recent call last):
  File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 405, in run
    res = pm.do_install(self.write_stream.fileno())
SystemError: E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe), E:寫入錯誤 - write (32: Broken pipe)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/ubiquity/plugininstall.py", line 1779, in <module>
    install.run()
  File "/usr/share/ubiquity/plugininstall.py", line 78, in wrapper
    func(self)
  File "/usr/share/ubiquity/plugininstall.py", line 249, in run
    self.remove_oem_extras()
  File "/usr/share/ubiquity/plugininstall.py", line 1340, in remove_oem_extras
    self.do_remove(regular)
  File "/usr/share/ubiquity/plugininstall.py", line 1114, in do_remove
    if not cache.commit(fetchprogress, installprogress):
  File "/usr/lib/python3/dist-packages/apt/cache.py", line 515, in commit
    res = self.install_archives(pm, install_progress)
  File "/usr/lib/python3/dist-packages/apt/cache.py", line 479, in install_archives
    res = install_progress.run(pm)
  File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 409, in run
    os.write(control_write, b'\1')
BrokenPipeError: [Errno 32] Broken pipe