Bug#423437: parted-server: hangs on "command_set_name" if name is empty
reassign 423437 parman-base 105
retitle 423437 parted-server: hangs on "command_set_name" if name is empty
tags 423437 + confirmed
thanks
On Friday 11 May 2007 22:10, dth wrote:
> While trying to mount them at the right positions I accidentally
> hit the"name" tag, since i would want to use that I left it empty
> and hit return.
> The whole install procedure than stalls even pressing control-C and go
> back to main menu you wont be able to start a new partiion manager again
I have been able to reproduce this behavior after creating a new partition
table using the GPT label by just creating a new partition and then
changing its name, leaving the input blank.
Changing the name if some value is entered works, but leaving the name
empty of trying to delete an existing name by making the name empty
results in a hang.
I have traced this as far as the function command_set_name() in
parted-server.c:
if (1 != iscanf("%as", &id))
critical_error("Expected partition id");
part = partition_with_id(disk, id);
if (part == NULL || !ped_partition_is_active(part))
critical_error("No such active partition: %s", id);
log("Partition found (%s)", id);
if (1 != iscanf(" %a[^\n]", &name))
critical_error("No data in infifo!");
log("Changing name to %s", name);
The partman log shows the "Partition found", but not the "Changing name
to" log message, so presumably it hangs on the line in between.
The last that is shown in the syslog with set -x is:
+ open_dialog SET_NAME 17408-2147466751
+ command=SET_NAME
+ shift
+ open_infifo
+ exec
+ write_line SET_NAME =dev=scsi=host0=bus0=target0=lun0=disc
17408-2147466751
+ log IN: SET_NAME =dev=scsi=host0=bus0=target0=lun0=disc 17408-2147466751
+ local program
+ echo /lib/partman/active_partition/10change_name/do_option: IN:
SET_NAME =dev=scsi=host0=bus0=target0=lun0=disc 17408-2147466751
+ echo SET_NAME =dev=scsi=host0=bus0=target0=lun0=disc 17408-2147466751
+ open_outfifo
The "open_dialog" call is from active_partition/change_name in
partman-partitioning and looks like:
db_get partman-partitioning/set_name
open_dialog SET_NAME "$id" "$RET"
Reply to: