Main index > Installation problems > Problems with newly installed adesklets [SOLVED]

By jeepston (Desklet Author), on Sat Mar 5 17:51:04 2005: Problems with newly installed adesklets [SOLVED].

Unfortunately I had to reinstall all my OS (Fedora Core 3) after the death of the hard drive. And now I cannot start any of the desklets (I compiled and installed adesklets w/o any problems). Here what I've got:

$ adesklets
$ ./mailer.py
python: Modules/gcmodule.c:231: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
Aborted

$ ./weather.py
python: Modules/gcmodule.c:231: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
Aborted

Any ideas how to fix?

By syfou (Core Developer & Desklet Author), on Sat Mar 5 19:06:59 2005.

Hi,

jeepston wrote:


python: Modules/gcmodule.c:231: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.

It seems you have a problem with your fresh Python install here, garbade collection related... Unluckily (for you, not for me :-)), It is unlikely to be adesklets' fault, since the package is 'pure Python'; it only happens while using adesklets because the installed Python environement is marginally faulty.

A (somewhat bad) way to go around this would probably be to compile Python from source using --without-pydebug during the configuration phase, which removes assertions from the code - this doesn't solve the problem, but it makes the Python interpreter not to exit on dangling memory problems. You should try to "google around" a bit using the error message...

Let me know if nothing works!

By jeepston (Desklet Author), on Sun Mar 6 03:54:30 2005.

Ok, here is another detail. adesklets process stops right after the start. When I do
$ adesklets
$ ps -e

I dont see adesklets there. Besides, when I'm trying to start a desklet by
$ python24 ./weather.py
it says

Traceback (most recent call last):
File "./weather.py", line 52, in ?
import adesklets
ImportError: No module named adesklets

My version of python - 2.4

By syfou (Core Developer & Desklet Author), on Sun Mar 6 11:32:42 2005.

Ok: this is far more common: it's due to your python installation not finding the package module (see the A.2.1 question of the FAQ from adesklets 0.4.3 documentation).

I noticed you invoked Python using 'python2.4'. Does this mean you have multiple instances of Python on your system? adesklets installs its python package on the system using a usual distutils script (that use the first python file from your path), which is not the Python 2.4 site-package directory if python is pointing somewhere else.

Regards,

By jeepston (Desklet Author), on Sun Mar 6 12:56:00 2005.

Still nothign :(

$ sed -n '/PYTHON_SITE_PKG/p' Makefile
PYTHON_SITE_PKG = /usr/lib/python2.3/site-packages

$ echo 'import sys; print sys.path' | python
['', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0']

This time I compiled adesklets with --enable-debug flag. Here is the output:
$ adesklets
Configuration file name: `/home/jeepston/.adesklets'
Configuration file parsing results:
[/home/jeepston/dist/adesklets/weather-0.0.3/weather.py] id=0 screen=0 x=0 y=0
[/home/jeepston/dist/adesklets/mailer-0.0.3/mailer.py] id=0 screen=0 x=0 y=0

$ python ./test.py
Traceback (most recent call last):
File "./test.py", line 17, in ?
import adesklets
File "usr/lib/python2.3/site-packages/adesklets/__init__.py", line 35, in ?
File "usr/lib/python2.3/site-packages/adesklets/initializer.py", line 60, in __init__
adesklets.error_handler.ADESKLETSError: adesklets interpreter initialization error - Configuration file name: `/home/dimon/.adesklets'

python: Modules/gcmodule.c:231: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
Aborted


That seems to me kind of streange... What could I done on the old system so that desklets were working just fine?... :?

By syfou (Core Developer & Desklet Author), on Sun Mar 6 14:06:45 2005.

Now your (original?) Python 2.3 install see the adesklets package, but there is no chance that an --enable-debug compile will ever work this way if the ADESKLETS_LOG variable is not set properly in the environment... This is what caused the unrelated :

Quote:


adesklets.error_handler.ADESKLETSError: adesklets interpreter initialization error

Quoting from configure:

Quote:

Set up the ADESKLETS_LOG environment variable to a filename the interpreter
can safely suffix with a pid related extension then truncate to collect all debug outputs
there instead.

In the next error lies your real problem:

Quote:


python: Modules/gcmodule.c:231: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.

which send us back to my first suggestion: compile Python from official source source using --without-pydebug during the configuration phase, and install this as the default python in your path.

By jeepston (Desklet Author), on Sun Mar 6 19:02:58 2005.

Ok. I did it! I recompiled python and it helped. Thanks for your help and patience :)


adesklets is proud to be hosted on:

SourceForge.net Logo

Back to adesklets.sf.net.