Today I had to use ekiga, and it crashed again with:

(ekiga:18868): GLib-CRITICAL **: Source ID 4294967295 was not found when 
attempting to remove it
      assert.cxx(112)   PWLib   Assertion fail: Operating System error, file 
ptlib/unix/tlibthrd.cxx, line 402, Error=24
Assertion fail: Operating System error, file ptlib/unix/tlibthrd.cxx, line 402, 
Error=24

<A>bort, <C>ore dump, <T>hrow exception, <I>gnore? shm_open() failed: Too many 
open files
shm_open() failed: Too many open files


However I have noticed one important thing. The problem occurs only when
I'm connecting from my University network, that blocks possibility to register
on SIP account.
When I'm running ekiga at home - at unrestricted network. The problem 
disappears.
I've found the following error report:
https://lists.opensuse.org/opensuse-bugs/2013-11/msg02687.html
which describes the same problem.
There is a probable explanation of the problem there:

I tried to debug this issue, and it seems that Ekiga runs an endless
registration loop under certain circumstances, since each subscriber()
initializes a PThread object, which in turn creates a pair of filedescriptors
with pipe(). At some point, the process runs out of file descriptors...

So the quick workarouns for those who are hit by that bug is:
If you are connecting from a restricted network, that disables registration to 
your SIP account,
go into the accounts configuration in ekiga and disable your SIP account.

If your ekiga crashes too quickly, and you have no chance, to disable the 
account via Accounts menu,
you can go to your ~/.gconf/apps/ekiga/protocols/ directory and edit %gconf.xml 
file:

It should look like this:
<?xml version="1.0"?>
<gconf>
    <entry name="accounts_list" mtime="1474278552" type="list" ltype="string">
        <li type="string">
<stringvalue>1|1|0cbba49b-494d-d312-1ac2-a6748a9b3cdc|Ekiga.net|SIP|ekiga.net|ekiga.net|my_name|my_name|my_password|360000</stringvalue>
        </li>
    </entry>
</gconf>

To disable the account, simply change the first "1" into "0":

<?xml version="1.0"?>
<gconf>
    <entry name="accounts_list" mtime="1474278552" type="list" ltype="string">
        <li type="string">
<stringvalue>0|1|0cbba49b-494d-d312-1ac2-a6748a9b3cdc|Ekiga.net|SIP|ekiga.net|ekiga.net|my_name|my_name|my_password|360000</stringvalue>
        </li>
    </entry>
</gconf>

Of course you can also copy the old %gconf.xml file to %gconf.xml.enabled and 
completely remove the account definition from the list.
You may keep two versions saved - %gconf.xml.restricted (with removed/disabled 
SIP accounts) and %gconf.xml.full (with enabled SIP accounts).
Then you should copy the right version to %gconf.xml before you start ekiga.

This is just a dirty workaround, but today it has saved my life ;-).

Regards,
Wojtek

--
Wojciech M Zabolotny, PhD
Institute of Electronic Systems
Faculty of Electronics and Information Technology
Warsaw University of Technology

Reply via email to