|
|
|
||||||
|
IceUtil::Thread::run(): terminate called recursively Cond.cpp
Hi,
I am using Ice 3.2.1 on FreeBSD. I am getting following error: Code:
IceUtil::Thread::run(): uncaught exception: terminate called recursively Cond.cpp Code:
#0 0x284de537 in pthread_testcancel () from /lib/libpthread.so.2 #1 0x284cd89a in sigaction () from /lib/libpthread.so.2 #2 0x284c788d in pthread_kill () from /lib/libpthread.so.2 #3 0x284c7256 in raise () from /lib/libpthread.so.2 #4 0x285a0b78 in abort () from /lib/libc.so.6 #5 0x2843c30f in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/libstdc++.so.5 #6 0x2844049c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5 #7 0x284404d4 in std::terminate () from /usr/lib/libstdc++.so.5 #8 0x28481d4d in __cxa_get_globals () from /usr/lib/libstdc++.so.5 #9 0x28440346 in __cxa_current_exception_type () from /usr/lib/libstdc++.so.5 #10 0x2843c1e6 in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/libstdc++.so.5 #11 0x2844049c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5 #12 0x284404d4 in std::terminate () from /usr/lib/libstdc++.so.5 #13 0x28481d4d in __cxa_get_globals () from /usr/lib/libstdc++.so.5 #14 0x28440409 in __cxa_throw () from /usr/lib/libstdc++.so.5 #15 0x282c0822 in IceUtil::Cond::Cond () from /usr/local/lib/libIceUtil.so.32 #16 0x08051d42 in Monitor (this=0x28063fc0) at Monitor.h:78 #17 0x08050c06 in Job (this=0x28063fc0, data=@0xbf7fcf40, type=1) at ./../src/job.cpp:10 #18 0x08058637 in ProxyPutAdapter::run (this=0x807b340) at proxy_put_adapter.cpp:28 #19 0x282db04d in startHook () from /usr/local/lib/libIceUtil.so.32 #20 0x284cf3a5 in pthread_create () from /lib/libpthread.so.2 #21 0x2858c137 in _ctx_start () from /lib/libc.so.6 The above exception is occuring when I slow down my application by printing high frequency of debug information ( cout<<" SOme debug ..."<<flush; ). Code snippet as follows: Code:
for(int i=1;i<=100000;i++) {
while(true) {
//Job is sub-class of IceUtil::Monitor<IceUtil::Mutex>
Job *data = new Job("xxx", DB_PUT); //proxy_put_adapter.cpp:28
try {
//Following put operation is where I print some debug information.
//If I reduce the debug info frequency, exception does not occur at line 28, above.
smart_queue_->put(data, DB_PUT);
break;
} catch(...) {
continue;
}
}
}
I hope, my problem is clear from this post. I can provide you will full component code, if required. I am not sure, but I suspect, my problem could be somewhat related to reasons similar to this post. Thanks. Last edited by spsoni : 05-13-2008 at 02:53 AM. |
|
||||||
|
Thanks Benoit.
Yes, its certainly a system getting out of resource problem. Garbage collection fixed the problem. Apologise for posting message before proper investigation. Cheers. -S |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Terminate called on Ice::FileException in IcePy | joshmoore | Bug Reports | 4 | 08-28-2007 01:03 PM |
| src/IceUtil/CtrlCHandler.cpp broken on Solaris 10 x86_64 with latest patches | Markus Bernhard | Bug Reports | 13 | 06-09-2007 11:01 AM |
| Thread.cpp:413: IceUtil::ThreadSyscallException | grahamyin | Help Center | 2 | 09-27-2005 11:54 PM |
| Is a proxy can be called in different thread at the same time? | rano | Help Center | 1 | 06-01-2005 10:54 PM |
| IceUtil/CtrlCHandler.cpp | vukicevic | Bug Reports | 3 | 05-28-2003 09:20 PM |