Opened 18 years ago
Closed 17 years ago
#179 closed defect (fixed)
mondo fails with fatal error...
Reported by: | mread | Owned by: | Bruno Cornec |
---|---|---|---|
Priority: | normal | Milestone: | 2.2.5 |
Component: | mondo | Version: | 2.2.4 |
Severity: | major | Keywords: | mondo fails fatal error |
Cc: |
Description
mondo v2.2.4-1.fc5 See: http://sourceforge.net/mailarchive/forum.php?thread_name=evhkfd%24u19%241%40sea.gmane.org&forum_name=mondo-devel
From that thread:
Errors: 9/4/07 * glibc detected * /usr/sbin/mondoarchive: realloc(): invalid next size: 0xb68141b8 *
Well, that's a fatal error :-)
And later: Could you download the tar.gz package and recompile mondo using -g. Then Launch it preceded by valgrind or use gdb (Cf: http://trac.mondorescue.org/wiki/TroubleShooting#CreatingBacktraces)
Further information required: Please provide explanation of "recompile mondo using -g"
Attachments (8)
Change History (16)
comment:1 by , 18 years ago
Milestone: | → 2.2.5 |
---|---|
Status: | new → assigned |
Version: | → 2.2.4 |
by , 18 years ago
Attachment: | configure+make+make-install.txt added |
---|
comment:3 by , 18 years ago
Now that you have a compiled verison ith -g could you launch either valgrind before your commen or use gdb as described on the wiki and provide back the info around the problem please ? TIA.
by , 18 years ago
Attachment: | gdb+valgrind_mondoarchive_output#1.txt added |
---|
various runs of mondoarchive with gdb and valgrind (& some comments) #1
by , 18 years ago
Attachment: | gdb+valgrind_mondoarchive_output#2.txt added |
---|
various runs of mondoarchive with gdb and valgrind (& some comments) #2
by , 18 years ago
Attachment: | mondoarchive.2.log added |
---|
mondoarchive.log following above runs with gdb & valgrind
comment:4 by , 18 years ago
Oops, forgot the important stuff:)
(See attachment numbered 1) 1st ran mondoarchive with gdb from src/mondoarchive (mondo/mondoarchive didn't seem to exist), then again to make sure. Each time the process hung (gdb or mondoarchive?) and I needed to Ctrl-c to move on.
2nd ran mondoarchive with valgrind from src/mondoarchive - weird thing, valgrind/mondoarchive seemed to succeed! But, nothing was written to media (/mnt/cifs) - strange?
(See attachment numbered 2) 3rd ran mondoarchive with valgrind from home directory (ie using installed mondoarchive at /usr/local/sbin/mondoarchive) to see if there were any differences between what had been failing and what now seemed to sort-of succeed. This time valgrind/mondoarchive again seemed to succeed and backup was written to media at /mnt/cifs/morgansmachineDIFF-1.iso (haven't verified independently).
So 4th ran mondoarchive with gdb from home directory to see if it might succeed - but, it hung again. Just to make sure I left if for 4 Hrs before coming back and ending it with Ctrl-c again. Seemed to hang just the same as before with gdb.
Attached also are logs.
Thanks.
comment:5 by , 18 years ago
Problem seems to be here:
Archiving regular files to media Archiving regular files ==25107== Conditional jump or move depends on uninitialised value(s) ==25107== at 0x4801447C: strstr (in /lib/libc-2.4.so) ==25107== by 0x8072020: read_cfg_var (libmondo-tools.c:1280) ==25107== by 0x806260B: get_last_filelist_number (libmondo-filelist.c:838) ==25107== by 0x8054B25: make_afioballs_and_images (libmondo-archive.c:1655) ==25107== by 0x8055419: make_those_afios_phase (libmondo-archive.c:2552) ==25107== by 0x80583C2: backup_data (libmondo-archive.c:652) ==25107== by 0x804AF47: main (main.c:463) ---progress-form---1--- I am backing up your live filesystem now. ---progress-form---4--- TASK: [*...................] 1% done; 0:00 to go ==25107== ==25107== Thread 2: ==25107== Conditional jump or move depends on uninitialised value(s) ==25107== at 0x807B706: mr_stresc (mr_string.c:66) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== ==25107== Conditional jump or move depends on uninitialised value(s) ==25107== at 0x807B718: mr_stresc (mr_string.c:63) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ---progress-form---1--- I am backing up your live filesystem now. ---progress-form---2--- ==25107== Thread 2: ==25107== Invalid write of size 1 ==25107== at 0x807B765: mr_stresc (mr_string.c:93) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== Address 0x531FC1B is 0 bytes after a block of size 131 alloc'd ==25107== at 0x40051F9: malloc (vg_replace_malloc.c:149) ==25107== by 0x807B72D: mr_stresc (mr_string.c:78) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== ==25107== Invalid write of size 1 ==25107== at 0x807B771: mr_stresc (mr_string.c:97) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== Address 0x531FC20 is 5 bytes after a block of size 131 alloc'd ==25107== at 0x40051F9: malloc (vg_replace_malloc.c:149) ==25107== by 0x807B72D: mr_stresc (mr_string.c:78) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== ==25107== Invalid read of size 1 ==25107== at 0x47FE79F2: vfprintf (in /lib/libc-2.4.so) ==25107== by 0x480055CF: vasprintf (in /lib/libc-2.4.so) ==25107== by 0x47FED19D: asprintf (in /lib/libc-2.4.so) ==25107== by 0x806361D: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== Address 0x531FC1B is 0 bytes after a block of size 131 alloc'd ==25107== at 0x40051F9: malloc (vg_replace_malloc.c:149) ==25107== by 0x807B72D: mr_stresc (mr_string.c:78) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== ==25107== Invalid read of size 4 ==25107== at 0x48014D8C: mempcpy (in /lib/libc-2.4.so) ==25107== by 0x47FE4E47: vfprintf (in /lib/libc-2.4.so) ==25107== by 0x480055CF: vasprintf (in /lib/libc-2.4.so) ==25107== by 0x47FED19D: asprintf (in /lib/libc-2.4.so) ==25107== by 0x806361D: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ==25107== Address 0x531FC18 is 128 bytes inside a block of size 131 alloc'd ==25107== at 0x40051F9: malloc (vg_replace_malloc.c:149) ==25107== by 0x807B72D: mr_stresc (mr_string.c:78) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8056B87: create_afio_files_in_background (libmondo-archive.c:1219) ==25107== by 0x48244432: start_thread (in /lib/libpthread-2.4.so) ==25107== by 0x48072A1D: clone (in /lib/libc-2.4.so) ---progress-form---1--- I am backing up your live filesystem now. [...] Archiving large files to media ==25107== ==25107== Thread 1: ==25107== Conditional jump or move depends on uninitialised value(s) ==25107== at 0x807B718: mr_stresc (mr_string.c:63) ==25107== by 0x8063607: gen_aux_list (libmondo-filelist.c:589) ==25107== by 0x80637D2: get_fattr_list (libmondo-filelist.c:635) ==25107== by 0x8052A35: make_those_slices_phase (libmondo-archive.c:2617) ==25107== by 0x80583CD: backup_data (libmondo-archive.c:653) ==25107== by 0x804AF47: main (main.c:463) I am now backing up all large files. ---progress-form---1--- I am now backing up all large files. ---progress-form---2--- Please wait. This may take some time. ---progress-form---3--- ---progress-form---E--- ---progress-form---4--- TASK: [*...................] 1% done; 0:00 to go ==25107== ==25107== Syscall param write(buf) points to uninitialised byte(s) ==25107== at 0x48063F3B: (within /lib/libc-2.4.so) ==25107== by 0x48007AB4: new_do_write (in /lib/libc-2.4.so) ==25107== by 0x48007D5B: _IO_do_write@@GLIBC_2.1 (in /lib/libc-2.4.so) ==25107== by 0x48008FFE: _IO_file_close_it@@GLIBC_2.1 (in /lib/libc-2.4.so) ==25107== by 0x47FFDF7F: fclose@@GLIBC_2.1 (in /lib/libc-2.4.so) ==25107== by 0x804F326: slice_up_file_etc (libmondo-archive.c:3487) ==25107== by 0x8052350: make_slices_and_images (libmondo-archive.c:2328) ==25107== by 0x8052B03: make_those_slices_phase (libmondo-archive.c:2637) ==25107== by 0x80583CD: backup_data (libmondo-archive.c:653) ==25107== by 0x804AF47: main (main.c:463) ==25107== Address 0x400A03C is not stack'd, malloc'd or (recently) free'd ---progress-form---1--- I am now backing up all large files. ---progress-form---2--- ISO 1: [****................] 18% used
comment:6 by , 18 years ago
Most of the problems reported here should be fixed in rev [1552]
Especially, in order to test if the problem seen is fixed, could you take the mondo/src/common/mr_string.c file and used the one of this rev, instead of the one you have and relaunch the same tests. That should fix the fatal error.
If you want to then test further, please also do the same with mondo/src/common/libmondo-archive.c and mondo/src/common/libmondo-filelist.c
comment:7 by , 17 years ago
You may want to test with the current beta of 2.2.5 which is on the ftp server.
comment:8 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Should be fixed with official 2.2.5. If not, please reopen the bug report.
configure > make > make install