Eh. Well. I'm a bit surprised that you won't allow forward slashes if you try to parse a path. It's actually a quite common character in the Linux world. Even other Unixes use it for separating components of a path. And since people use it so much, it should be as easy as possible to actually give a path to qemu. The excuse that it "is used to create special expressions" (which, btw?!) doesn't hold. I'm pretty confident that people use the '/' character to separate components of a path rather than doing "special expressions". Especially when a path the a file is expected! So if there are still "special expressions" needed in a path, it'd be better to select a different character.
Even if you don't agree on that, I really believe the user deserves some explanation along with the error message that is printed as I've pointed out in comment #0. ** Changed in: qemu-kvm (Ubuntu) Status: Invalid => New -- qemus pmemsave doesn't accept "/" in filename https://bugs.launchpad.net/bugs/543478 You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. Status in QEMU: Invalid Status in “qemu-kvm” package in Ubuntu: New Bug description: Binary package hint: qemu-kvm Please see my conversation with qemu: (qemu) pmemsave unexpected end of expression (qemu) help pmemsave pmemsave addr size file -- save to disk physical memory dump starting at 'addr' of size 'size' (qemu) pmemsave 0 512M /tmp/qemu.mem pmemsave: extraneous characters at the end of line (qemu) pmemsave 0 512 /tmp/qemu.mem invalid char in expression (qemu) pmemsave 0 512 /tmp/qemu invalid char in expression (qemu) pmemsave 0 512 qemu.mem (qemu) pmemsave 0 512M qemu.mem pmemsave: extraneous characters at the end of line Let me comment on each one of those: (qemu) pmemsave unexpected end of expression I expected some sort of hint as to where to get more information. Maybe just a "Type ``help pmemsave'' to get syntax information" would be sufficient. (qemu) help pmemsave pmemsave addr size file -- save to disk physical memory dump starting at 'addr' of size 'size' Nice. But an example would be nice. My proposal: "I.e.: pmemsave 0 1G /tmp/qemu.mem" (qemu) pmemsave 0 512M /tmp/qemu.mem pmemsave: extraneous characters at the end of line eh. Would be nice if it told me *which* character was "extraneous" and what "extraneous" means. My proposal: "Couldn't parse character at position 23, please see help pmemsave for an example". (qemu) pmemsave 0 512 /tmp/qemu.mem invalid char in expression Hm. Interesting. Again, would be nice if it printed me the offending character. My proposal: "Could not parse character at position 23, please see help pmemsave for an example". (qemu) pmemsave 0 512 /tmp/qemu invalid char in expression Now I got rid of almost everything but it still doesn't work. (qemu) pmemsave 0 512 qemu.mem aha! No slashes?! Seriously? (qemu) pmemsave 0 512M qemu.mem pmemsave: extraneous characters at the end of line And no "M" or "G" modifiers? If I want to dump 2GB then I'd have to calculate the number in bytes and paste that long string. I expected qemu to be able to parse the K, M, G suffixes. Also, I'm wondering why it doesn't offer to dump all memory. ProblemType: Bug Architecture: amd64 CurrentDmesg: [150870.676062] kvm_intel: Unknown symbol kvm_vcpu_on_spin [150947.222923] cron[24260]: segfault at 0 ip (null) sp 00007fffe865eed8 error 14 in cron[400000+9000] [150947.224187] cron[24261]: segfault at 0 ip (null) sp 00007fffe865eed8 error 14 in cron[400000+9000] Date: Sun Mar 21 15:03:13 2010 DistroRelease: Ubuntu 9.10 KvmCmdLine: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD muelli 23807 23806 13 239738 228464 0 14:54 pts/8 00:01:22 /usr/bin/kvm -S -M pc -m 512 -smp 1 -name vanilla_ubuntu -monitor stdio -boot c -drive file=/home/muelli/qemu/ubuntu8.10/ubuntu.img,if=ide,index=0,boot=on -drive file=,if=ide,media=cdrom,index=2 -net nic,model=rtl8139,macaddr=f0:00:BA:12:34:56 -net user,hostfwd=tcp::2223-:22,smb=/tmp/share -serial pty -snapshot MachineType: LENOVO 766636G Package: kvm 1:84+dfsg-0ubuntu16+0.11.0+0ubuntu6.3 PccardctlIdent: Socket 0: no product info available PccardctlStatus: Socket 0: no card ProcCmdLine: root=/dev/mapper/cryptroot source=UUID=9c3d5596-27c6-4fd5-bfcd-fa8eef6f1230 ro vdso32=0 quiet splash crashkernel=384M-2G:64M,2G-:128M ProcVersionSignature: Ubuntu 2.6.32-16.24-generic SourcePackage: qemu-kvm Uname: Linux 2.6.32-16-generic x86_64 dmi.bios.date: 03/12/2009 dmi.bios.vendor: LENOVO dmi.bios.version: 7NETC0WW (2.20 ) dmi.board.name: 766636G dmi.board.vendor: LENOVO dmi.board.version: Not Available dmi.chassis.asset.tag: No Asset Information dmi.chassis.type: 10 dmi.chassis.vendor: LENOVO dmi.chassis.version: Not Available dmi.modalias: dmi:bvnLENOVO:bvr7NETC0WW(2.20):bd03/12/2009:svnLENOVO:pn766636G:pvrThinkPadX61:rvnLENOVO:rn766636G:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable: dmi.product.name: 766636G dmi.product.version: ThinkPad X61 dmi.sys.vendor: LENOVO