GNOME Bugzilla – Bug 747590
[ods] valgrind issues for samples/excel/chart-tests-excel.xls
Last modified: 2015-04-10 04:02:04 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)
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)
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)
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)
These should be fixed now. Since I am not used to use valgrind, I don't know how to test that.
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
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.