[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#602568: squeeze-di-beta1 installer: partman hang



I now have a backtrace:

Backtrace has 20 calls on stack:
  20: ./libparted/.libs/libparted.so.0(ped_assert+0x28) [0xb77d9073]
  19: ./libparted/.libs/libparted.so.0(ped_geometry_new+0x5a) [0xb77e2aed]
18: ./libparted/.libs/libparted.so.0(ped_geometry_duplicate+0x73) [0xb77e2bc6] 17: ./libparted/.libs/libparted.so.0(ped_constraint_init+0x15e) [0xb77e3c92] 16: ./libparted/.libs/libparted.so.0(ped_constraint_new+0x82) [0xb77e3d54]
  15: ./libparted/.libs/libparted.so.0(+0x504c8) [0xb781c4c8]
  14: ./libparted/.libs/libparted.so.0(+0x50bdd) [0xb781cbdd]
  13: ./libparted/.libs/libparted.so.0(+0x51249) [0xb781d249]
  12: ./libparted/.libs/libparted.so.0(+0x517b7) [0xb781d7b7]
  11: ./libparted/.libs/libparted.so.0(+0x1328f) [0xb77df28f]
10: ./libparted/.libs/libparted.so.0(ped_disk_add_partition+0x15f) [0xb77e1a7a]
  9: ./libparted/.libs/libparted.so.0(+0x4e72c) [0xb781a72c]
  8: ./libparted/.libs/libparted.so.0(+0x4e94e) [0xb781a94e]
  7: ./libparted/.libs/libparted.so.0(ped_disk_new+0xd2) [0xb77dddbe]
  6: /home/jcdr/install-O2/sbin/parted() [0x804dec5]
  5: /home/jcdr/install-O2/sbin/parted() [0x804b26d]
  4: /home/jcdr/install-O2/sbin/parted() [0x8054b7f]
  3: /home/jcdr/install-O2/sbin/parted() [0x8051a52]
  2: /lib/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb768bc76]
  1: /home/jcdr/install-O2/sbin/parted() [0x804af21]

I can reproduce this with this command from the package build:

parted-2.3/build-udeb$ LD_LIBRARY_PATH=./libparted/.libs/ ~/install-O2/sbin/parted /dev/sdb print


While analyzing the debian/rules I found this:

# Workaround/fix bug #442308
CFLAGS += -fgnu89-inline
UDEB_CFLAGS += -fgnu89-inline

This bug is tracked here:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=442308

This workaround is now obsolete as is was introduced 3 years ago for parted 1.8-7 and we now use parted 2.3-3 that compile just fine without this option. But unfortunately this is not the cause of my problem.


After a lot of test with different config.status file, I found this picture by testing only the build-udeb:

library fail with CFLAGS=' -Werror'
library fail with CFLAGS='-g  -Werror'
library good with CFLAGS='-g -O2  -Werror'
library good with CFLAGS='-O2  -Werror'

Something wrong without the -O2 optimization ? Seem incredible. But... I just want to check:

library good in build-deb with CFLAGS='-g -O2 -fgnu89-inline -Werror'
library good in build-udeb with CFLAGS='-O2 -fgnu89-inline -Werror'
library fail in build-deb with CFLAGS='-g -fgnu89-inline -Werror'
library fail in build-udeb with CFLAGS='-fgnu89-inline -Werror'

Ouch! It better to use the -O2 optimizer !


Ok, now at this stage I can give some facts:

1) The lib/partman/init.d/30parted script is unable to detect and report abnormal parted-server end.

2) The CFLAGS -fgnu89-inline option from the bug #442308 can be removed for the current version of parted-2.3-3

3) Something bad happen with the parted-2.3-3 code when the -O2 optimization is not used.

Enough for me. Please, someone from Debian, give me some instruction of what action must be taken now. Should I open others bugs report for 1) and 2) ?

Regards,

Jean-Christian de Rivaz



Reply to: