[omniORB] [4.0.6, omnithreads] How many philosophers does it take to screw an omnithreads library?

R. io0911 at yahoo.com
Mon May 22 08:41:55 BST 2006



Got it.
2 glibc.
One has 2000+ thread limit
the other is the default one.

So the answer to the trivia can be made dependent to
it.

Thanks Kenny for the help.


Ciao,


Roberto.



--- "R." <io0911 at yahoo.com> wrote:

> 
> 
> --- renny.koshy at rubixinfotech.com wrote:
> 
> > My guess is that you're probably hitting your OS's
> > per-process-thread-limit.
> > 
> 
> 
> Hi Renny and thanks for Your answer.
> 
> I exclude the OS per-process-limit since it's set at
> -1 
> (no limit) and an equivalent PhiloDiner made in C
> with
> Pthreads goes happily to 2000 Philosophers and
> counting.
> 
> OmniThreads gives an error on mmap2 allocating
> shared
> memory for the 381th thread:
> 
> mmap2(NULL, 8388608, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbe802000
> mprotect(0xbe802000, 4096, PROT_NONE)   = 0
> clone(child_stack=0xbf0014c4,
>
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED,
> parent_tidptr=0xbf001bf8, {entry_number:6,
> base_addr:0xbf001bb0, limit:1048575, seg_32bit:1,
> contents:0, read_exec_only:0, limit_in_pages:1,
> seg_not_present:0, useable:1},
> child_tidptr=0xbf001bf8) = 5671
> mmap2(NULL, 8388608, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbf002000
> mprotect(0xbf002000, 4096, PROT_NONE)   = 0
> clone(child_stack=0xbf8014c4,
>
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED,
> parent_tidptr=0xbf801bf8, {entry_number:6,
> base_addr:0xbf801bb0, limit:1048575, seg_32bit:1,
> contents:0, read_exec_only:0, limit_in_pages:1,
> seg_not_present:0, useable:1},
> child_tidptr=0xbf801bf8) = 5672
> mmap2(NULL, 8388608, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
> (Cannot
> allocate memory)
> futex(0x414b1874, FUTEX_WAKE, 2147483647) = 0
> futex(0xb7f99904, FUTEX_WAKE, 2147483647) = 0
> rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
> tgkill(5290, 5290, SIGABRT)             = 0
> --- SIGABRT (Aborted) @ 0 (0) ---
> +++ killed by SIGABRT +++
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> > Renny Koshy
> > President & CEO
> 
> > 
> > --------------------------------------------
> > RUBIX Information Technologies, Inc.
> > www.rubixinfotech.com
> > 
> > 
> >                                                   
>  
> >                       
> >              "R."                                 
>  
> >                       
> >              <io0911 at yahoo.com                    
>  
> >                       
> >              >                                    
>  
> >                    To 
> >              Sent by:                 
> > omniorb-list at omniorb-support.com    
> >              omniorb-list-boun                    
>  
> >                    cc 
> >              ces at omniorb-suppo                    
>  
> >                       
> >              rt.com                               
>  
> >               Subject 
> >                                        [omniORB]
> > [4.0.6,                   
> >                                       
> omnithreads]
> > How many pilosophers   
> >              05/22/2006 09:13          does it
> take
> > to screw   an          
> >              AM                        omnithreads
> > library?                
> >                                                   
>  
> >                       
> >                                                   
>  
> >                       
> >                                                   
>  
> >                       
> >                                                   
>  
> >                       
> >                                                   
>  
> >                       
> >                                                   
>  
> >                       
> > 
> > 
> > 
> > 
> > 
> > For my Linux box the answer is 381.
> > 
> > if i change N_DINERS in diners.cc example:
> > 
> > #define N_DINERS 500    // n philosophers sharing
> n
> > chopsticks
> > 
> > the program segfaults at 381.
> > 
> > 
> > Is there a limit to the number of threads in
> > onithread?
> > 
> > 
> > Thanks in advance,
> > 
> > Bob
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> > protection around
> > http://mail.yahoo.com
> > 
> > _______________________________________________
> > omniORB-list mailing list
> > omniORB-list at omniorb-support.com
> >
>
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> > 
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> http://mail.yahoo.com 
> 
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
>
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam
protection around 
http://mail.yahoo.com 

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the omniORB-list mailing list