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 787419 - 3.25.92 = baobab is useless /. UI broken (empty window)
3.25.92 = baobab is useless /. UI broken (empty window)
Status: RESOLVED FIXED
Product: baobab
Classification: Core
Component: general
3.25.x
Other Linux
: Normal critical
: ---
Assigned To: Baobab Maintainers
Baobab Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-09-07 20:34 UTC by Dominique Leuenberger
Modified: 2017-09-09 08:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dominique Leuenberger 2017-09-07 20:34:09 UTC
We built baobab 3.25.92 from tarball, the result is a totally broken application, as uncovered by openQA:

https://openqa.opensuse.org/tests/480444#step/baobab/5

According the git log, there should be only translation changes between 3.25.91..3.25.92, but inspecting the tarball, this is definitively not the case:

See for example
https://build.opensuse.org/package/rdiff/GNOME:Next/baobab?opackage=baobab&oproject=GNOME%3AFactory&rev=62

which expands to a list of changed files, including:

[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-application.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-cellrenderers.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-chart.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-location-list.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-location.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-ringschart.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-scanner.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-treemap.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/baobab-window.c ^
[+] 	Changed 	baobab-3.25.92.tar.xz/src/main.c 

Presumably the one preparing the tarball had local modifications?!
Comment 1 Al Thomas 2017-09-08 11:05:18 UTC
> We built baobab 3.25.92 from tarball, the result is a totally broken application

Fortunately the problem seems to have been identified and passed on here:
https://bugzilla.gnome.org/show_bug.cgi?id=787436

> Presumably the one preparing the tarball had local modifications?!

I don't think so. These look to be generated files by the Vala compiler. For example baobab-application.c starts:

/* baobab-application.c generated by valac 0.37.91, the Vala compiler
 * generated from baobab-application.vala, do not modify */

So these files will change even when only a different version of the Vala compiler is used. The vala version in the header can be disabled with the --disable-version-header switch to valac. 

Unless there is some reason to ship the generated C sources then probably the best solution is to stop these files being packaged in the tarball. For a Vala only project these are build artefacts. There is also baobab-resources.c which is probably built from glib-compile-resources.

It's good your tooling has picked this up.
Comment 2 Peter Y. Chuang 2017-09-09 07:41:52 UTC
I can confirm this problem. I've rebuilt baobab (git master) with the latest git master of vala, but baobab window remains empty.

In case it helps, the following is the output of journalctl | grep baobab:

Sep 09 09:35:05 desktop baobab[26029]: cannot retrieve class for invalid (unclassed) type '(null)'
Sep 09 09:35:05 desktop baobab[26029]: g_object_class_find_property: assertion 'G_IS_OBJECT_CLASS (class)' failed
Sep 09 09:35:05 desktop baobab[26029]: g_type_class_unref: assertion 'g_class != NULL' failed
Sep 09 09:35:05 desktop baobab[26029]: Error building template class 'BaobabWindow' for an instance of type 'BaobabWindow': .:340:59 Invalid property: (null).visible
Sep 09 09:35:05 desktop baobab[26029]: baobab_location_list_set_action: assertion 'self != NULL' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: gtk_tree_view_get_selection: assertion 'GTK_IS_TREE_VIEW (tree_view)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: g_settings_bind_with_mapping: assertion 'G_IS_OBJECT (object)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: invalid (NULL) pointer instance
Sep 09 09:35:05 desktop baobab[26029]: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Sep 09 09:35:05 desktop baobab[26029]: baobab_window_set_ui_state: assertion 'child != NULL' failed
Comment 3 Al Thomas 2017-09-09 07:45:46 UTC
(In reply to Peter Y. Chuang from comment #2)
> I can confirm this problem. I've rebuilt baobab (git master) with the latest
> git master of vala, but baobab window remains empty.

Are you saying that commit https://git.gnome.org/browse/vala/commit/?id=8bd7fbc9e39ca6396ee323bef420dadeeac54a7d to Vala has not fixed the problem?
Comment 4 Peter Y. Chuang 2017-09-09 07:49:53 UTC
No, it hasn't fixed the problem.
Comment 5 Stefano Facchini 2017-09-09 08:13:02 UTC
(In reply to Peter Y. Chuang from comment #4)
> No, it hasn't fixed the problem.

Hi Peter, are you 1000% sure? Can you look at the first line of any of the generated .c files to check the vala version? You could also clean the cache if you use the Jhbuild tool (rm -fr ~/.cache/jhbuild/build/baobab).
Comment 6 Peter Y. Chuang 2017-09-09 08:27:17 UTC
oops, there does appear to be some problem with my build just now. Just rebuilt it once more and it seems to be alright now...

sorry about the noise.
Comment 7 Stefano Facchini 2017-09-09 08:38:31 UTC
Ok, I'll close the bug then, next tarball should fine.
Thanks Dominique for catching it!