Opened 14 years ago
Closed 13 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 Changed 14 years ago by
Milestone: | → 2.2.5 |
---|---|
Status: | new → assigned |
Version: | → 2.2.4 |
Changed 14 years ago by
Attachment: | configure+make+make-install.txt added |
---|
comment:3 Changed 14 years ago by
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.
Changed 14 years ago by
Attachment: | gdb+valgrind_mondoarchive_output#1.txt added |
---|
various runs of mondoarchive with gdb and valgrind (& some comments) #1
Changed 14 years ago by
Attachment: | gdb+valgrind_mondoarchive_output#2.txt added |
---|
various runs of mondoarchive with gdb and valgrind (& some comments) #2
Changed 14 years ago by
Attachment: | mondoarchive.2.log added |
---|
mondoarchive.log following above runs with gdb & valgrind
comment:4 Changed 14 years ago by
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 Changed 14 years ago by
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 Changed 14 years ago by
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 Changed 13 years ago by
You may want to test with the current beta of 2.2.5 which is on the ftp server.
comment:8 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Should be fixed with official 2.2.5. If not, please reopen the bug report.
configure > make > make install