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