ZeroC

Archived

This forum has been archived. Please start a new discussion on GitHub.

Cannot allocate memory

I just upgraded to Ice 3.4.1 and using Mumpi v2.2.1 for Mumble 1.2.3 on Linux Centos 5 x86_64

Getting the following error message
Fatal error: Uncaught exception ::Ice::UnknownException { unknown = Thread.cpp:521: IceUtil::ThreadSyscallException: syscall exception: Cannot allocate memory } thrown in /home/xxxx/public_html/mumble/classes/ServerInterface.php on line 64

I tried changing the memory_limit in my php.ini from 48M to 64M and now to 256M with no effect.

The related lines are
$initData = new Ice_InitializationData;
                                $initData->properties = Ice_createProperties();
                                $initData->properties->setProperty('Ice.ImplicitContext', 'Shared');
                                $ICE = Ice_initialize($initData);

Ideas/Suggestions? I'll ask Kissaki to post any other related information.


Thank you,


Xavier

Comments

  • benoit
    benoit Rennes, France
    Hi,

    The error indicates that the initialization of the Ice communicator couldn't create a thread because of resource limits being reached. Does the error occur soon after startup? The best to investigate this would be to try to create a small Ice PHP test case that reproduces the problem.

    Cheers
    Benoit.
  • xavierk
    xavierk
    Created a test file with the following:
    <?php
      require_once 'Ice.php';
                                    $ICE = Ice_initialize();
    ?>
    

    and getting the following:
    Fatal error: Uncaught exception ::Ice::UnknownException { unknown = Thread.cpp:521: IceUtil::ThreadSyscallException: syscall exception: Cannot allocate memory } thrown in /home/xxxx/public_html/mumble/admin/test.php on line 3

    Ideas? Thank you
  • xavierk
    xavierk
    Alright, so the problem seems to be specific to ice.php or ice in general. Since most of the ice tools were installed from the yum.repos, excluding ice.cpp and ice.php, which I compiled. I decided to completely remove them and rebuild them.

    Perhaps I rushed last time, this time I was more cafeful to test everything and this is what I got after building ice.cpp while running 'make test'.
    testing udp... ok
    testing udp multicast... UdpTransceiver.cpp:170: Ice::SocketException:
    socket exception: Operation not permitted
    unexpected exit status: expected: 0, got 1
    Traceback (most recent call last):
    File "/root/install/mumble/Ice-3.4.1/cpp/test/Ice/udp/run.py", line 48, in ?
    clientProc.waitTestSuccess()
    File "/root/install/mumble/Ice-3.4.1/scripts/Expect.py", line 540, in waitTestSuccess
    test(self.exitstatus, exitstatus)
    File "/root/install/mumble/Ice-3.4.1/scripts/Expect.py", line 525, in test
    assert False
    AssertionError
    ('test in /root/install/mumble/Ice-3.4.1/cpp/test/Ice/udp failed with exit status', 256)
  • benoit
    benoit Rennes, France
    The sending of a UDP packet on a multicast address failed because of permission issues. Which CentOS version do you use? Is the firewall enabled on your machine? In any case, I wouldn't worry about this failure if you don't use UDP multicast.

    Cheers,
    Benoit.
  • xavierk
    xavierk
    No, I don't use the UDP multicast. It is a Centos 5.5 x86_64 with firewalling and both inbound/outbound ports blocked.
  • xavierk
    xavierk
    Well the issue is resolved. Tweaked some php settings, completely removed ice and reinstalled/recompiled and now it seems to be working.


    Xavier