Opened 9 years ago

Closed 9 years ago

#776 closed defect (fixed)

modoarchive fails if option '-e' is not supported by genisoimage / mkisofs

Reported by: GVR Owned by: Bruno Cornec
Priority: high Milestone: 3.2.2
Component: mondo Version: 3.2.1
Severity: normal Keywords:
Cc: philippe.michel@…

Description

Hi Bruno

Versions :

Debian version 8.1 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
mondoarchive v3.2.1-r3456
Paquet libmondorescue-perl : 3.2.1-1
Paquet mindi : 3.0.1-1
Paquet mindi-busybox : 1.21.1-1
Paquet mondo : 3.2.1-1

Backup made on a sshfs shares with the following command fail when invoking genisoimage :

/usr/sbin/mondoarchive -OV -F -G -N -n sshfs://vx8@vx1.violay.hp: -s40000m -E '/gv0|/gv2|/home|/media|/mnt|/var/cache|/vir0' -3 -S /gv2/mondo/scratch -T /gv2/mondo/tmp/ -p mbackup_test_150831_1600

...
---progress-form---4--- TASK:  [********************]  98% done;  0:00 to go
---progress-form---1--- I am backing up your live filesystem now.
---progress-form---2--- sshfs 1: [*...................] 1% used
---progress-form---3--- Please wait. This may take a couple of hours.
---progress-form---E---
---progress-form---4--- TASK:  [********************] 100% done;  0:00 to go
Your regular files have been archived successfully.
Done.
Archiving large files to media
Done.
Writing any remaining data to media
Please be patient. Do not be alarmed by on-screen inactivity.
Call to mkisofs to make ISO (sshfs #1) ...failed
*** Error in `/usr/sbin/mondoarchive': munmap_chunk(): invalid pointer: 0x0000000001a40188 ***
SIGABRT signal received from OS
Abort - probably failed assertion. I'm sleeping for a few seconds so you can rea
Fatal error... MondoRescue is terminating in response to a signal from the OS
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
---FATALERROR--- MondoRescue is terminating in response to a signal from the OS
If you require technical support, please contact the mailing list.
See http://www.mondorescue.org for details.
The list's members can help you, if you attach that file to your e-mail.
Log file: /var/log/mondoarchive.log
Mondo has aborted.
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /gv2/mondo/tmp//mondo.tmp.MMWmlG/mondo-run-prog-thing.tmp: Directory nonexistent
*** Error in `/usr/sbin/mondoarchive': munmap_chunk(): invalid pointer: 0x0000000001a40188 ***
root@vx8:~# echo $?
0

Extract from the log file mondoarchive.log :

INFO: Please be patient. Do not be alarmed by on-screen inactivity.
DBG4: [Main] libmondo-fork.c->eval_call_to_make_ISO#144: Calling open_evalcall_form() with what_i_am_doing='Running mkisofs to make sshfs #1'
DBG3: [Main] libmondo-fork.c->eval_call_to_make_ISO#173: command = 'genisoimage -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4  -eltorito-alt-boot -e images/mindi-bootroot.img -no-emul-boot -o '/mnt/vx1///mbackup_test_150831_1623-1.iso' -V 1 . >> /var/log/mondoarchive.log'
DBG3: [Main] libmondo-fork.c->run_external_binary_with_percentage_indicator_NEW#645: command = 'genisoimage -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4  -eltorito-alt-boot -e images/mindi-bootroot.img -no-emul-boot -o '/mnt/vx1///mbackup_test_150831_1623-1.iso' -V 1 . >> /var/log/mondoarchive.log 2>> /var/log/mondoarchive.log'
INFO: Running mkisofs to make sshfs #1
DBG4: [Main] libmondo-fork.c->run_prog_in_bkgd_then_exit#609: sz_command = 'genisoimage -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4  -eltorito-alt-boot -e images/mindi-bootroot.img -no-emul-boot -o '/mnt/vx1///mbackup_test_150831_1623-1.iso' -V 1 . >> /var/log/mondoarchive.log 2>> /var/log/mondoarchive.log'
INFO:   Running mkisofs to make sshfs #1 
genisoimage: option '-e' is ambiguous; possibilities: '--eltorito-boot' '--exchange' '--ethershare' '--exclude-list' '--exclude' '--eltorito-catalog' '--eltorito-alt-boot'
Usage: genisoimage [options] -o file directory ...

Use genisoimage -help
to get a list of valid options.

Report problems to debburn-devel@lists.alioth.debian.org.
DBG4: [Main] libmondo-fork.c->run_prog_in_bkgd_then_exit#614: child res = 256
DBG3: [Main] libmondo-fork.c->run_external_binary_with_percentage_indicator_NEW#685: Parent res = 256
INFO: Call to mkisofs to make ISO (sshfs #1) ...failed
DBG1: [Main] libmondo-archive.c->make_iso_fs#1883: WARNING - make_iso_fs returned an error
DBG3: [Main] ../common/newt-specific.c->ask_me_yes_or_no#132: Exiting at first interaction request due to -F

Moreover, whatever the reason, when mondoarchive ends with an error (the current problem or out of disk space ...), the return code "$?" is always zero, which does not allow scripts to detect the problem properly.

Regards,

Joel Girot

Change History (6)

comment:1 by Philippe Michel, 9 years ago

Cc: philippe.michel@… added
Summary: genisoimage: option '-e' is ambiguousmodoarchive fails if option '-e' is not supported by genisoimage / mkisofs

Mondoarchive fails on rhel5 with a similar error. In this OS release, mkisofs has no -e option yet.

DBG4: [Main] libmondo-fork.c->run_prog_in_bkgd_then_exit#609: sz_command = 'mkisofs -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4 -eltorito-alt-boot -e images/mindi-bootroot.img -no-emul-boot -o '/tmp/shiva-1.iso' -V 1 . >> /var/log/mondoarchive.log 2>> /var/log/mondoarchive.log' mkisofs: option `-e' is ambiguous Usage: mkisofs [options] file...

Use mkisofs -help to get a list of valid options. DBG4: [Main] libmondo-fork.c->run_prog_in_bkgd_then_exit#614: child res = 256

comment:2 by Bruno Cornec, 9 years ago

Status: newassigned

Ok, I'll have to make the usage of the -e option conditional to the distribution as even among the newest such as Debian 8 it doesn't seem to be supported.

comment:3 by Bruno Cornec, 9 years ago

Rev [3460] should fix that issue. Please test the versions at ftp://ftp.mondorescue.org/test/rhel/5 and ftp://ftp.mondorescue.org/test/debian/8

Note that the option will be used if you have a UEFI based system, so I'm unsure how Debian is panning to handle that, excpet if they do not support UEFI yet in version 8 which I didn't check.

RHEL 5 doesn't support UEFI so it's not an issue for it.

Version 0, edited 9 years ago by Bruno Cornec (next)

comment:4 by Philippe Michel, 9 years ago

The test version seems to work for me on rhel5.

I didn't try a restore or even simply booting the iso image yet, but archiving completes sucessfully.

comment:5 by GVR, 9 years ago

Also works for me with mondoarchive v3.2.220150904015359-r3461 and Debian 8.

the -e option problem is resolved, but not the invalid pointer issue, neither the following problem : whatever the reason, when mondoarchive ends with an error (example out of disk space ...), the return code "$?" is always zero, which does not allow scripts to detect the problem properly.

display after successful execution :

...
---evalcall---1---     Verifying sshfs #1's tarballs
---evalcall---2--- TASK:  [********************]  98% done;  0:00 to go
---evalcall---E---
Done.
Done.
Backup and/or verify ran to completion. Everything appears to be fine.
/var/cache/mindi/mondorescue.iso, a boot/utility CD, is available if you want it
Data archived OK.
Mondoarchive ran OK.
See /var/log/mondoarchive.log for details of backup run.
*** Error in `/usr/sbin/mondoarchive': munmap_chunk(): invalid pointer: 0x0000000000a80188 ***
# echo $?
0

display after failed execution, return code ($?) is always 0 :

...
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
Done.
*** Error in `/usr/sbin/mondoarchive': munmap_chunk(): invalid pointer: 0x00000000025bc188 ***
SIGABRT signal received from OS
Abort - probably failed assertion. I'm sleeping for a few seconds so you can rea
Fatal error... MondoRescue is terminating in response to a signal from the OS
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
---FATALERROR--- MondoRescue is terminating in response to a signal from the OS
If you require technical support, please contact the mailing list.
See http://www.mondorescue.org for details.
The list's members can help you, if you attach that file to your e-mail.
Log file: /var/log/mondoarchive.log
Mondo has aborted.
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
sh: 1: cannot create /tmp/mondo.tmp.5qcRm1/mondo-run-prog-thing.tmp: Directory nonexistent
*** Error in `/usr/sbin/mondoarchive': munmap_chunk(): invalid pointer: 0x00000000025bc188 ***
root@vx8:~# echo $?
0

Joel Girot

comment:6 by Bruno Cornec, 9 years ago

Resolution: fixed
Status: assignedclosed

Fine, so I'll close tat bug as the other problem is followed in #766

Note: See TracTickets for help on using tickets.