[Bug 1818285] Re: [disco desktop] Installation fails with parted_server: No data in infifo. parted_server: Line 2387. CRITICAL ERROR!!! EXITING.
Iain Lane
iain at orangesquash.org.uk
Mon Mar 4 11:25:26 UTC 2019
* An archaic GNU extension to scanf, under which '%as', '%aS', and
'%a[...]' meant to scan a string and allocate space for it with
malloc, is now restricted to programs compiled in C89 or C++98 mode
with _GNU_SOURCE defined. This extension conflicts with C99's use of
'%a' to scan a hexadecimal floating-point number, which is now
available to programs compiled as C99 or C++11 or higher, regardless
of _GNU_SOURCE.
POSIX.1-2008 includes the feature of allocating a buffer for string input
with malloc, using the modifier letter 'm' instead. Programs using
'%as', '%aS', or '%a[...]' with the old GNU meaning should change to
'%ms', '%mS', or '%m[...]' respectively. Programs that wish to use
the C99 '%a' no longer need to avoid _GNU_SOURCE.
GCC's -Wformat warnings can detect most uses of this extension, as
long as all functions that call vscanf, vfscanf, or vsscanf are
annotated with __attribute__ ((format (scanf, ...))).
I should think the bug is due to this, from the glibc 2.29 update.
partman-base uses '%as' a lot. Indeed the build log does show warnings
along those lines:
parted_server.c: In function ‘scan_device_name’:
parted_server.c:1187:25: warning: format ‘%a’ expects argument of type ‘float *’, but argument 3 has type ‘char **’ [-Wformat=]
if (1 != iscanf("%as", &device_name))
^~~~~ ~~~~~~~~~~~~
I've locally tested a change to replace '%as' (and one occurrence of
'%a[...]') with '%ms' ('%m[...]') and my first test (running 30parted
directly) works.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
https://bugs.launchpad.net/bugs/1818285
Title:
[disco desktop] Installation fails with parted_server: No data in
infifo. parted_server: Line 2387. CRITICAL ERROR!!! EXITING.
Status in partman-base package in Ubuntu:
Confirmed
Status in ubiquity package in Ubuntu:
Confirmed
Status in partman-base source package in Disco:
Confirmed
Status in ubiquity source package in Disco:
Confirmed
Bug description:
Ubuntu Desktop Disco amd64
Last known good version: ubiquity 19.04.5
Automated preseeded tests of Ubuntu Desktop Disco, started failing on
Feb. 4th with this error in partman log:
/bin/partman: *******************************************************
/lib/partman/init.d/30parted: *******************************************************
parted_server: ======= Starting the server
parted_server: main_loop: iteration 1
parted_server: Opening infifo
/lib/partman/init.d/30parted: IN: OPEN =dev=vda /dev/vda
parted_server: No data in infifo.
parted_server: Line 2387. CRITICAL ERROR!!! EXITING.
/var/log/ and journal attached to this report.
Maybe it's a coincidence but it started after the upload of partman-
crypto.
Manual installation with Ubiquity fails too with the same error.
Test Case:
1. Boot to the live session
2. Launch Ubiquity
3. Press 'Next' on all the steps keeping the default
Actual Result:
You cannot go beyond the 'Updates and Other software' page.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/partman-base/+bug/1818285/+subscriptions
More information about the foundations-bugs
mailing list