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 747590 - [ods] valgrind issues for samples/excel/chart-tests-excel.xls
[ods] valgrind issues for samples/excel/chart-tests-excel.xls
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: import/export OOo / OASIS
git master
Other Linux
: Normal normal
: ---
Assigned To: Andreas J. Guelzow
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2015-04-09 23:28 UTC by Morten Welinder
Modified: 2015-04-10 04:02 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Morten Welinder 2015-04-09 23:28:16 UTC
This shows loads of issues.  Some of them are cairo, some of them are
our.

Here are the leaks that are likely our:

| ==29958== 301 bytes in 39 blocks are definitely lost in loss record 5,996 of 6,472
| ==29958==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==29958==    by 0x6357610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x636EB0E: g_strdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x14A5C246: odf_get_gog_style_name_from_obj (openoffice-write.c:774)
| ==29958==    by 0x14A5CEE9: odf_write_axis_full.isra.47 (openoffice-write.c:7833)
| ==29958==    by 0x14A5E702: odf_write_graphs (openoffice-write.c:8222)
| ==29958==    by 0x4F01E50: gnm_hash_table_foreach_ordered (gutils.c:799)
| ==29958==    by 0x14A5B355: openoffice_file_save_real.isra.59 (openoffice-write.c:8854)
| ==29958==    by 0x54116F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==29958==    by 0x4F96E7C: wbv_save_to_output (workbook-view.c:1059)
| ==29958==    by 0x4F96F86: wb_view_save_to_uri (workbook-view.c:1093)
| ==29958==    by 0x4F97190: wb_view_save_as (workbook-view.c:1129)
| ==29958==    by 0x404229: convert (ssconvert.c:831)
| ==29958==    by 0x403556: main (ssconvert.c:903)


| ==29958== 301 bytes in 39 blocks are definitely lost in loss record 5,997 of 6,472
| ==29958==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==29958==    by 0x6357610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x636EB0E: g_strdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x14A5C246: odf_get_gog_style_name_from_obj (openoffice-write.c:774)
| ==29958==    by 0x14A5CEE9: odf_write_axis_full.isra.47 (openoffice-write.c:7833)
| ==29958==    by 0x14A5E72D: odf_write_graphs (openoffice-write.c:8226)
| ==29958==    by 0x4F01E50: gnm_hash_table_foreach_ordered (gutils.c:799)
| ==29958==    by 0x14A5B355: openoffice_file_save_real.isra.59 (openoffice-write.c:8854)
| ==29958==    by 0x54116F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==29958==    by 0x4F96E7C: wbv_save_to_output (workbook-view.c:1059)



| ==29958== 1,344 (1,152 direct, 192 indirect) bytes in 48 blocks are definitely lost in loss record 6,292 of 6,472
| ==29958==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==29958==    by 0x6357610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x636D22D: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x6370FC2: g_string_sized_new (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x14A5CDEE: odf_write_axis_full.isra.47 (openoffice-write.c:7812)
| ==29958==    by 0x14A5E6D7: odf_write_graphs (openoffice-write.c:8218)
| ==29958==    by 0x4F01E50: gnm_hash_table_foreach_ordered (gutils.c:799)
| ==29958==    by 0x14A5B355: openoffice_file_save_real.isra.59 (openoffice-write.c:8854)
| ==29958==    by 0x54116F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==29958==    by 0x4F96E7C: wbv_save_to_output (workbook-view.c:1059)



| ==29958== 1,344 (1,152 direct, 192 indirect) bytes in 48 blocks are definitely lost in loss record 6,293 of 6,472
| ==29958==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==29958==    by 0x6357610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x636D22D: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x6370FC2: g_string_sized_new (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==29958==    by 0x14A5CDEE: odf_write_axis_full.isra.47 (openoffice-write.c:7812)
| ==29958==    by 0x14A5E702: odf_write_graphs (openoffice-write.c:8222)
| ==29958==    by 0x4F01E50: gnm_hash_table_foreach_ordered (gutils.c:799)
| ==29958==    by 0x14A5B355: openoffice_file_save_real.isra.59 (openoffice-write.c:8854)
| ==29958==    by 0x54116F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==29958==    by 0x4F96E7C: wbv_save_to_output (workbook-view.c:1059)
Comment 1 Morten Welinder 2015-04-09 23:33:37 UTC
Here's one from objs.xls:

| ==30727== 18 bytes in 2 blocks are definitely lost in loss record 1,501 of 5,806
| ==30727==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==30727==    by 0x6357610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==30727==    by 0x636EB0E: g_strdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==30727==    by 0x60EF87C: value_lcopy_string (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
| ==30727==    by 0x60D0087: g_object_get_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
| ==30727==    by 0x60D0496: g_object_get (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
| ==30727==    by 0x1320FA1B: odf_write_content (openoffice-write.c:4205)
| ==30727==    by 0x13204260: openoffice_file_save_real.isra.59 (openoffice-write.c:8839)
| ==30727==    by 0x54116F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==30727==    by 0x4F96E7C: wbv_save_to_output (workbook-view.c:1059)
Comment 2 Morten Welinder 2015-04-10 00:46:16 UTC
And from graph-tests.gnumeric:

| ==21601== 51 bytes in 7 blocks are definitely lost in loss record 3,180 of 6,187
| ==21601==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==21601==    by 0x63C6610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==21601==    by 0x63DDB0E: g_strdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==21601==    by 0x13D93CA3: oo_item_name (openoffice-write.c:285)
| ==21601==    by 0x13D94EFE: odf_get_gog_style_name (openoffice-write.c:774)
| ==21601==    by 0x13D94F52: odf_get_gog_style_name_from_obj (openoffice-write.c:783)
| ==21601==    by 0x13DAA185: odf_write_axis_full (openoffice-write.c:7833)
| ==21601==    by 0x13DAA2CF: odf_write_axis_no_cats (openoffice-write.c:7865)
| ==21601==    by 0x13DAB0EB: odf_write_plot (openoffice-write.c:8222)
| ==21601==    by 0x13DAB663: odf_write_graph_content (openoffice-write.c:8314)
| ==21601==    by 0x13DAC1B1: odf_write_graphs (openoffice-write.c:8623)
| ==21601==    by 0x4F19F43: gnm_hash_table_foreach_ordered (gutils.c:799)



| ==21601== 196 (168 direct, 28 indirect) bytes in 7 blocks are definitely lost in loss record 5,629 of 6,187
| ==21601==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==21601==    by 0x63C6610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==21601==    by 0x63DC22D: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==21601==    by 0x63DFFC2: g_string_sized_new (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==21601==    by 0x13DAA02C: odf_write_axis_full (openoffice-write.c:7812)
| ==21601==    by 0x13DAA2CF: odf_write_axis_no_cats (openoffice-write.c:7865)
| ==21601==    by 0x13DAB0EB: odf_write_plot (openoffice-write.c:8222)
| ==21601==    by 0x13DAB663: odf_write_graph_content (openoffice-write.c:8314)
| ==21601==    by 0x13DAC1B1: odf_write_graphs (openoffice-write.c:8623)
| ==21601==    by 0x4F19F43: gnm_hash_table_foreach_ordered (gutils.c:799)
| ==21601==    by 0x13DACDE6: openoffice_file_save_real (openoffice-write.c:8854)
| ==21601==    by 0x13DAD15B: odf_file_save (openoffice-write.c:8944)
| ==21601==    by 0x54806F5: go_plugin_file_saver_save (go-plugin-service.c:948)
| ==21601==    by 0x5001133: wbv_save_to_output (workbook-view.c:1059)
Comment 3 Morten Welinder 2015-04-10 00:55:37 UTC
From validation-tests.gnumeric:


| ==22444== 6 bytes in 1 blocks are definitely lost in loss record 45 of 4,913
| ==22444==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
| ==22444==    by 0x63C6610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==22444==    by 0x63DDB97: g_strndup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
| ==22444==    by 0x127044B1: odf_validation_new_pair_expr (openoffice-read.c:2619)
| ==22444==    by 0x127046A8: odf_validation_new_between (openoffice-read.c:2668)
| ==22444==    by 0x12704C4E: odf_validations_analyze (openoffice-read.c:2775)
| ==22444==    by 0x127049AC: odf_validations_analyze (openoffice-read.c:2736)
| ==22444==    by 0x12704E05: odf_validations_translate (openoffice-read.c:2815)
| ==22444==    by 0x12708CC0: oo_cell_start (openoffice-read.c:4043)
| ==22444==    by 0x57E0DD8: lookup_child (gsf-libxml.c:694)
| ==22444==    by 0x57E133F: gsf_xml_in_start_element (gsf-libxml.c:786)
| ==22444==    by 0x6CA4934: xmlParseStartTag (in /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1)
Comment 4 Andreas J. Guelzow 2015-04-10 02:27:12 UTC
These should be fixed now.

Since I am not used to use valgrind, I don't know how to test that.
Comment 5 Morten Welinder 2015-04-10 02:39:25 UTC
I wrapped the whole valgrind thing up into the gnmvalgrid script.  For
example:

../tools/gnmvalgrind --leak-check=full ./ssconvert ../samples/object-tests.gnumeric ~/o.ods
Comment 6 Andreas J. Guelzow 2015-04-10 04:02:04 UTC
This problem has been fixed in the unstable development version. The fix will be available in the next major software release. You may need to upgrade your Linux distribution to obtain that newer version.