After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 635901 - Project manager crashes when loading automake projects
Project manager crashes when loading automake projects
Status: RESOLVED NOTABUG
Product: anjuta
Classification: Applications
Component: plugins: project-manager
git master
Other Linux
: Normal critical
: ---
Assigned To: Sébastien Granjoux
Anjuta maintainers
Depends on:
Blocks:
 
 
Reported: 2010-11-27 03:19 UTC by James Liggett
Modified: 2010-11-28 08:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description James Liggett 2010-11-27 03:19:51 UTC
With the new project manager, Anjuta crashes as it tries to load a project with this backtrace:

  • #0 anjuta_pm_project_get_capabilities
    at project.c line 271
  • #1 update_ui
    at plugin.c line 968
  • #2 project_manager_load_gbf
    at plugin.c line 1431
  • #3 on_profile_scoped
    at plugin.c line 1524
  • #4 g_cclosure_marshal_VOID__OBJECT
    at gmarshal.c line 638
  • #5 g_closure_invoke
    at gclosure.c line 766
  • #6 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #7 g_signal_emit_valist
    at gsignal.c line 2983
  • #8 g_signal_emit_by_name
    at gsignal.c line 3077
  • #9 anjuta_profile_manager_load_profile
    at anjuta-profile-manager.c line 463

Comment 1 Sébastien Granjoux 2010-11-27 08:26:10 UTC
I don't get this here.

I have looked at the code and I see nothing wrong. The list returned by anjuta_pm_project_get_node_info is a static list which is built when needed from a static array so I see no reason to have an empty item inside. Then, perhaps there is an error somewhere else which overwrite the memory.

Which exact version of Anjuta do you use ? I suppose after merging the git shell branch so I should have the same.

On which project does it happens ? Anjuta or another one.

Are you able to load other projects ?

Does it happens every times ? Or do you need to do something special ?


I have already get some strange bugs after big changes in Anjuta, I think because all dependencies are not taken into account. So perhaps you could have to clean the while project and rebuild everything.
Comment 2 James Liggett 2010-11-27 22:57:26 UTC
I uninstalled, then cleaned and rebuilt my tree again from scratch. I still get the same error. It seems I can't even start Anjuta at all with this bug, because it crashes even if a project isn't loaded. 

I verified this by flushing out my ~/.anjuta directory, which always used to leave me with a clean slate with nothing loaded. I still get this exact crash. 

Right now, I'm using git head as of about 5 minutes ago, if that matters.
Comment 3 James Liggett 2010-11-28 03:18:32 UTC
It seems that it crashes somewhere in the GBF backend. Just before the crash I get this debug output

(anjuta:31415): am-project-DEBUG: plugin.c:38 (activate_plugin) AmpPlugin: Activating Anjuta am backend Plugin ...
(anjuta:31415): libanjuta-DEBUG: anjuta-status.c:327 (anjuta_status_busy_pop) Busy status: 1
(anjuta:31415): am-project-DEBUG: plugin.c:68 (iproject_backend_probe) probe amp project
(anjuta:31415): libanjuta-DEBUG: anjuta-status.c:298 (anjuta_status_busy_push) Busy status: 2
(anjuta:31415): libanjuta-DEBUG: anjuta-status.c:327 (anjuta_status_busy_pop) Busy status: 1
(anjuta:31415): libanjuta-DEBUG: anjuta-status.c:298 (anjuta_status_busy_push) Busy status: 2
(anjuta:31415): dir-project-DEBUG: plugin.c:38 (activate_plugin) DirProjectPlugin: Activating Anjuta directory backend Plugin ...
(anjuta:31415): libanjuta-DEBUG: anjuta-status.c:327 (anjuta_status_busy_pop) Busy status: 1
(anjuta:31415): dir-project-DEBUG: plugin.c:68 (iproject_backend_probe) probe directory project
(anjuta:31415): libanjuta-project-manager-DEBUG: project.c:206 (anjuta_pm_project_load) Creating new gbf project

I can at least load anjuta if I rename the file of the project I last had open, so that it doesn't find it and try to load it. But if I try to load any automake based project I have, it crashes.
Comment 4 James Liggett 2010-11-28 05:32:45 UTC
Ok so I figured this one out. I guess there was some old left over GBF cruft in my install prefix and Anjuta was loading that along with the new stuff and I guess they don't mix so well. Cleaning out the prefix fixed it and now I can load Anjuta again.
Comment 5 Sébastien Granjoux 2010-11-28 08:24:51 UTC
(In reply to comment #4)
> Ok so I figured this one out. I guess there was some old left over GBF cruft in
> my install prefix and Anjuta was loading that along with the new stuff and I
> guess they don't mix so well. Cleaning out the prefix fixed it and now I can
> load Anjuta again.

Ok, it's a good news. But I don't understand how you can get this problem.

GBF stuff is just one plugin (shared library + .plugin file). If you have the old plugin file in /usr/local/lib/anjuta, the project manager will try to load it but it should fails because some symbol are missing so it shouldn't do any harm (I get this here).

If you reproduce the problem later, I'm still interested to have more details. But I think it doesn't matter as much now.