[15:49] <xnox> cyphermox, horum =(
[15:49] <xnox> i dasd formated the drives, formated the drives / partitions on them.
[15:50] <xnox> and now i'm trying to exit the lvm menu and that fails.
[15:50] <xnox> d-i is simply stuck in "Starting up the partitioner"
[15:50] <xnox> Scanning disks...
[15:50] <xnox> 45%
[15:50] <xnox> i wonder how i can troubleshoot this, or get it going again.
[15:59] <cyphermox> sswitch to another vt?
[16:00] <cyphermox> are there multiple vts on s390x?
[16:00] <xnox> no vts... i'm installing via ssh
[16:00] <xnox> there is syslog.
[16:00] <cyphermox> well syslog might give you a clue maybe
[16:00] <xnox> i'm blaming 30parted init.d script (part of partman init)
[16:00] <xnox> ERROR: unsupported sector size 4096 on /dev/dm-0.
[16:00] <xnox> horum.
[16:01] <cyphermox> why do you still have a dm-0?
[16:03] <cyphermox> I mean, if you want to run dasdfmt outside of parted generally, as a separate step that says something like "Reinitialize the drives", then that step probably should kick lvm hard enough that it forgets everything
[16:03] <cyphermox> and then probably udev-reload or whatever the command was
[16:04] <cyphermox> update-dev --settle >/dev/null  I think
[16:06] <cyphermox> right, and maybe not even because in theory when partman starts, partman-lvm is what will pvscan and vgscan, and then vgchange -a
[16:07] <cyphermox> which means dd if=/dev/zero  some beginning part of the drive might be enough to convince it that there isn't anything
[16:09] <cyphermox> xnox: have you started a debian vm after all, I'm curious about the udev rules that might be there
[16:10] <xnox> digging into this
[16:10] <xnox> it seems like open_dialog DUMP is called by 35dump script
[16:10] <xnox> and it tries to "dump" the dasd drive... and gets stuck
[16:10] <cyphermox> ah
[16:10] <xnox> is that command send to ... parted?
[16:10] <cyphermox> yes
[16:11] <xnox> how do i do that just from shell without e.g. all of the d-i and partman in the way?
[16:11] <xnox> parted -> not found.
[16:11] <xnox> horum
[16:11] <cyphermox> anna-install parted-udeb
[16:11] <cyphermox> partman uses libparted to do magic.
[16:12] <cyphermox> ah, yeah, parted must barf at dumping the partition table somehow
[16:12] <cyphermox> there ought to be some other message in syslog before that
[16:13] <cyphermox> or it's just the dm device that makes things ugly
[16:15] <xnox> hm, DUMP is not a parted command, now is it....
[16:16] <xnox> parted can print all the devices just fine.
[16:17] <xnox> aha
[16:17] <cjwatson> xnox: partman-command may help you
[16:18] <cjwatson> I got bored of debugging that stuff being hard a while back, and wrote a helper
[16:18] <xnox> hehe
[16:18] <xnox> http://paste.ubuntu.com/14867242/
[16:18] <cjwatson> xnox: parted_server.c in partman-base is what implements those commands
[16:18] <xnox> cjwatson, cyphermox ^ that can't be good, right?
[16:18] <cjwatson> eh, maybe?  depends if that's actually what it's hitting
[16:18] <cjwatson> check /var/log/partman to see if you see the same thing there
[16:19] <xnox> # partman-command DUMP
[16:19] <xnox>  /bin/partman-command: line 42: can't open /var/lib/partman/outfifo: no such file
[16:20] <cjwatson> parted_server has to be actually running at the time
[16:20] <xnox> ah
[16:20] <xnox> ok
[16:20] <cjwatson> if it's crashed then check /var/log/partman first
[16:22] <xnox> cyphermox, well, i purged lvms, now trying to install with lvms =)
[16:26] <xnox> today is not my day
[16:26] <xnox> http://paste.ubuntu.com/14867293/
[16:26] <cjwatson> that's probably the same thing
[16:26] <cjwatson> what does /var/log/partman say?
[16:28] <xnox> not much.
[16:28] <xnox> http://paste.ubuntu.com/14867315/
[16:28] <xnox> as if life is good.
[16:29] <cjwatson> OK, so that probably is the same thing
[16:29] <xnox> horum.
[16:29]  * xnox ponders how to reproduce this bug somewhere where i have gdb
[16:30] <xnox> hmmm.... http://comments.gmane.org/gmane.comp.gnu.parted.devel/4367
[16:31] <cjwatson> you could brutally shove gdb and the relevant bits and pieces of libraries and debug symbols into the installer env
[16:31] <cjwatson> wouldn't be the first time I've done that :)
[16:32] <cjwatson> xnox: pretty sure I already cherry-picked descendants of those patches
[16:33] <cjwatson> anyway, there's enough code that getting gdb in place is probably easier than guessing
[16:35] <xnox> yeah
[16:36] <xnox> hahaha, shove gdb into installer environment =)
[16:37] <xnox> anna-install gdb-udeb did not work. I shall ask doko to fix that =)
[16:38] <cjwatson> don't do that :)
[16:38] <cjwatson> anna-install openssh-client-udeb, scp the stuff you need from somewhere
[16:38] <xnox> i have ssh, yes.
[16:51] <xnox> launchpad timing out filing a bug...
[16:51] <xnox> (Error ID: OOPS-ffb6abd15e291af596278d1a8b6a07ac)
[16:54] <xnox> cjwatson, cyphermox - well that's a first for me =)
[16:54] <xnox> divide by zero!
[16:55] <cyphermox> cjwatson: ah, that's what you meant by *brutally* shoving things in the installer environment :)
[16:56] <xnox> https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1541510
[17:01] <cyphermox> well, I'd start by applying the patches you pointed out earlier
[17:01] <cyphermox> at least one hunk of [PATCH 2/2] isn't there.
[17:02] <cyphermox> or you know, whatever ended up being committed from those emails..
[17:08] <xnox> well, i can clone the parted trunk, rebuild it and retest with that.
[17:09] <xnox> cause if parted master is also broke, there is nothing to cherrypick
[17:09] <xnox> looking at the code.
[17:09] <xnox> it looks as if there is a simple ioctl performed that should return number of heads and doesnt
[17:16] <cyphermox> right, and the last few commits change what APIs are used to find out disk geometry.
[17:20] <cyphermox> heh, nevermind, we indeed do have at least some of this in the parted package
[17:21] <cjwatson> cyphermox: isn't there> you mean the bit that makes ped_device_like_dasd part of the API?  That was explicitly rejected and isn't necessary
[17:22] <cjwatson> the LP OOPS above is a not uncommon but transient problem
[17:25] <cyphermox> cjwatson: nah, I was looking at libparted/labels/dasd.c and failed to notice the patches weren't applied.
[17:28] <cjwatson> I think you're going to see the same thing upstream
[17:30] <cjwatson> The more generic _device_probe_geometry has explicit checks for getting non-zero sectors and heads back from HDIO_GETGEO
[17:30] <cjwatson> and if it doesn't get them it uses defaults
[17:30] <cjwatson> But fdasd_get_geometry doesn't have quite the same checks around its use of HDIO_GETGEO
[17:31] <cjwatson> You ought to compare with the relevant kernel code, but my suspicion is that you don't get a sensible geometry back for an LV
[17:32] <cjwatson> This is all inside dasd_probe, and an LV isn't really a DASD
[17:33] <cjwatson> So one thing I'd try is making that situation be an error from fdasd_get_geometry and seeing if that behaves reasonably
[17:34] <cjwatson> Something like http://paste.ubuntu.com/14868640/ maybe?
[17:35] <cjwatson> Ew is that file really tabstop=4?  Anyway
[18:03] <cjwatson> xnox: ^- suggestions above for you BTW
[18:05] <xnox> horum, ok.
[18:07] <xnox> cjwatson, i was like throwing SIGFPE is not nice for a library =) http://paste.ubuntu.com/14869013/
[18:08] <xnox> also library functions that have "void" return signature are also not nice.
[18:11] <xnox> xnox@devac03:~$ sudo parted /dev/mapper/new-lvol0
[18:11] <xnox> GNU Parted 3.2
[18:11] <xnox> Using /dev/mapper/new-lvol0
[18:11] <xnox> Welcome to GNU Parted! Type 'help' to view a list of commands.
[18:11] <xnox> (parted) print
[18:11] <xnox> BUG: trk is zero in vtoc_set_freespace call
[18:11] <xnox> BUG: trk is zero in vtoc_set_freespace call
[18:11] <xnox> Model: Linux device-mapper (linear) (dm)
[18:11] <xnox> Disk /dev/mapper/new-lvol0: 2097MB
[18:11] <xnox> Sector size (logical/physical): 4096B/4096B
[18:11] <xnox> Partition Table: dasd
[18:11] <xnox> Disk Flags:
[18:11] <xnox> Number  Start  End  Size  File system  Flags
[18:11] <xnox> nicer....
[18:12] <xnox> although, people really should not be trying to partition a logical volume, but meh, libvirt and openstack have other ideas....
[18:35] <cjwatson> xnox: I think that patch is a mistake.
[18:36] <cjwatson> xnox: It should be using some different probing method that isn't DASD in this case.
[18:36] <cjwatson> xnox: Can you try my patch above?
[18:36] <xnox> sure.
[18:36] <cjwatson> An LV is not a DASD and so the attempt to probe it as dasd ought to fail
[18:36] <cjwatson> IMO anyway
[18:37] <xnox> i thought that all the probing patches committed parted were specifically to do that, e.g. regardless of upper layers keep probing until one gets down to dasd....
[18:37] <xnox> or so i read the mailing list thread.
[18:38] <cjwatson> Maybe it needs to be adjusted at some other level (as well?) then
[18:44] <xnox> cjwatson, with just your patch, without mine, i get:
[18:44] <xnox> Error: FPE_INTDIV (Integer: divide by zero)
[18:44] <xnox> let me rebuild without stripping all the debug symbols, and run it in gdb to check where it exploades now.
[18:51] <xnox> same places... same bug...
[18:51] <xnox> i'm guessing fdasd_error() doesn't really do anything, and e.g. a goto error is needed too to go and do something else.
[20:05] <cjwatson> xnox: Yeah, maybe details need to be tweaked.  I still think this basic approach is closer to what you want than trying to make dasd struggle on in this mode
[20:06] <xnox> ok.
[20:06] <xnox> this thing kind of derailed my goal to install three zvms with lvm2 and like do a juju environment on them.
[20:06] <xnox> *sigh*
[20:24] <xnox> cjwatson, actually i agree with you. that code is about e.g. finding dasd exposed via virtio. not about lvm. these are not the drives parted is looking for.
[22:55] <Ruby_Rocks_007> HI
[22:55] <Ruby_Rocks_007> any one active now?
[22:55] <Ruby_Rocks_007> :)
[22:59] <cyphermox> Ruby_Rocks_007: there's mostly always someone around, you should just ask your question and stay around, waiting for someone to answer :)
[22:59] <cyphermox> (as per topic)
[23:00] <Ruby_Rocks_007> Sure,
[23:01] <Ruby_Rocks_007> My question is: how can I write a shell script, and ask preseed to call it?
[23:01] <Ruby_Rocks_007> my problem is: I have a SSD drive detected behind mechanical disk,
[23:02] <Ruby_Rocks_007> but my OS needs to be installed onto SSD drive (detected as sdm instead of sda),
[23:02] <Ruby_Rocks_007> how can I notify preseed to put OS on sdm, or sdy (if other 24 mechanical disks iinstalled), instead of sda?
[23:04] <cyphermox> there's a preseed you can set to pick the right drive, except you'd tell it /dev/sdm, or /dev/sdy, and it will use that drive, whatever it is
[23:04] <cyphermox> if you need more logic, then I would look into https://www.debian.org/releases/stable/i386/apbs05.html.en
[23:05] <cyphermox> it shows how you can preseed things as an early_command, or how to include another preseed file, or even run a script to set the debconf values.
[23:06] <Ruby_Rocks_007> I see your point, this company have close to 10 diff hardware combinations,
[23:06] <Ruby_Rocks_007> it’ll be great if preseed can call my shell to dynamically pick up the SSD drive. :)
[23:07] <Ruby_Rocks_007> I can not use a fixed one, say, sda, sdm, sdy, blah, that will be tedious and error-prone, I assume.