Re: libDAR skips files above 3 KB - Please help
Denis Corbin <[email protected]> Fri, 25 Apr 2008 20:48:46 +0200
| Newsgroups | gmane.comp.sysutils.backup.dar.libdar |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Satheesh Kumar wrote: > Hi All, Hello, > I am new to libDAR and trying to get it work from a pthread routine on ppc-64 platform running AIX 5.3 (32 bit kernel mode) - compiled from source using gcc and statically linked. Specific routine that I've used is "create_archive_noexcept". It backs up files less than about 3200 bytes only and fails for anything bigger. Using GDB, I found that Erange-exception thrown for failed files at "fichier::inherited_read" due to a failed ::read. If I invoke libdar function from my main thread, all files are getting backed up. Problem happens only when libdar invoked from a child thread. The directory that I am trying to backup is just about 200 MB and 2000+ files. I've provided 1 GB swap space and following are my process ulimits. I had tried to set all those values as unlimited but with no eff ect. Is it required to increase thread stack size by calling pthread_attr_setstacksize() ? If so, how do I guestimate that value ? > For what I understand, the problem whe you call libdar from a thread is a lack of permission to read files you want to backup. Permission problem that does not exist when you do not use threads, right? If so, I see no relation with this and any of the ulimit parameters. I would rather try to find out why the thread you create do not have the same permission than the process it is spawn from. > bash-3.2# ulimit -a > core file size (blocks, -c) 1048575 > data seg size (kbytes, -d) 131072 > file size (blocks, -f) unlimited > max memory size (kbytes, -m) 32768 > open files (-n) 2000 > pipe size (512 bytes, -p) 64 > stack size (kbytes, -s) 32768 > cpu time (seconds, -t) unlimited > max user processes (-u) 262144 > virtual memory (kbytes, -v) unlimited > > I also attempted to dynamically link libdar when the same exception got thrown for files above ~3200 bytes. Even though exception is being caught by "filtre_sauvegarde", it was crashing with the following stack trace - > > Program received signal SIGILL, Illegal instruction. > 0x00000000 in ?? () > (gdb) bt > #0 0x00000000 in ?? () > #1 0xd1fecd4c in libdar::user_interaction::warning ( > this=0x200dd8d4, message=@0x200f8688) > at user_interaction.cpp:113 Probably the reference to the user_interaction object you gave is not valid. > #2 0xd20c5e98 in libdar::filtre_sauvegarde ( > dialog=@0x200dd8d4, filtre=@0x200dd90c, > subtree=@0x200dd91c, stockage=0x200fd3c8, > cat=@0x201e75a8, ref=@0x201e74f8, > fs_racine=@0xf0a7c328, info_details=true, > st=@0xf0b81ab4, make_empty_dir=false, > ea_mask=@0x200f9124, compr_mask=@0x200dd92c, > min_compr_size=@0x200f9110, nodump=false, > hourshift=@0x200f910c, alter_atime=false, > same_fs=false, what_to_check=cf_all, > snapshot=false, cache_directory_tagging=false, > display_skipped=false, fixed_date=@0x200f9108) > at filtre.cpp:592 > > Any help would be greatly appreciated. > > Thanks, > Satheesh > Regards, Denis. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIEieOpC5CI8gYGlIRAm7jAKCil+u0t850VxZZdQurLlBcBJMr/gCgxzgV ONj7kuqK5qoVpaGZdZHqid8= =Xuqi -----END PGP SIGNATURE----- ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone