• Dennis Francis's avatar
    Calc threading : Check for "self" references... · 25cc0ab3
    Dennis Francis yazdı
    ...on indirect dependencies too.
    
    Here a self reference to any formula-group
    means if there are any references in a formula
    (of the formula-group itself or any of its dependencies)
    that points to any element inside the formula-group.
    If there are any self-references, then that formula-group
    can't be computed in parallel.
    
    For example, with this patch we can detect the following case:-
      Suppose the formula-group that we want to check is:
      "=(F2+G2-10)*10.0" spanning A2:A100. Let the formula-group
      starting at F2 be "=A1*0.1-10". The indirect dependency
      formula-group starting at F2, references back the elements of
      our original formula-group at A2. This makes the F.G at
      A2 unsafe for parallel computation.
    
    Concretly, this patch fixes a recalc crash on tdf#63638/1
    
    Change-Id: I7b999a34571b191d2f70da6a3831f78b24a6b0a7
    Reviewed-on: https://gerrit.libreoffice.org/54433Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
    Tested-by: 's avatarJenkins <ci@libreoffice.org>
    25cc0ab3
Adı
Son kayıt (commit)
Son güncelleme
..
inc Loading commit data...
qa Loading commit data...
res/xml Loading commit data...
sdi Loading commit data...
source Loading commit data...
uiconfig/scalc Loading commit data...
util Loading commit data...
workben Loading commit data...
AllLangMoTarget_sc.mk Loading commit data...
CppunitTest_sc_addin_functions_test.mk Loading commit data...
CppunitTest_sc_anchor_test.mk Loading commit data...
CppunitTest_sc_annotationobj.mk Loading commit data...
CppunitTest_sc_annotationshapeobj.mk Loading commit data...
CppunitTest_sc_annotationsobj.mk Loading commit data...
CppunitTest_sc_arealinkobj.mk Loading commit data...
CppunitTest_sc_arealinksobj.mk Loading commit data...
CppunitTest_sc_array_functions_test.mk Loading commit data...
CppunitTest_sc_autoformatobj.mk Loading commit data...
CppunitTest_sc_bugfix_test.mk Loading commit data...
CppunitTest_sc_cache_test.mk Loading commit data...
CppunitTest_sc_cellcursorobj.mk Loading commit data...
CppunitTest_sc_cellobj.mk Loading commit data...
CppunitTest_sc_cellrangeobj.mk Loading commit data...
CppunitTest_sc_cellrangesobj.mk Loading commit data...
CppunitTest_sc_chart2dataprovider.mk Loading commit data...
CppunitTest_sc_chart_regression_test.mk Loading commit data...
CppunitTest_sc_check_data_pilot_field.mk Loading commit data...
CppunitTest_sc_check_data_pilot_table.mk Loading commit data...
CppunitTest_sc_check_xcell_ranges_query.mk Loading commit data...
CppunitTest_sc_cond_format_merge.mk Loading commit data...
CppunitTest_sc_consolidationdescriptorobj.mk Loading commit data...
CppunitTest_sc_copypaste.mk Loading commit data...
CppunitTest_sc_core.mk Loading commit data...
CppunitTest_sc_database_functions_test.mk Loading commit data...
CppunitTest_sc_databaserangeobj.mk Loading commit data...
CppunitTest_sc_databaserangesobj.mk Loading commit data...
CppunitTest_sc_datapilotfieldobj.mk Loading commit data...
CppunitTest_sc_datapilotitemobj.mk Loading commit data...
CppunitTest_sc_datapilottableobj.mk Loading commit data...
CppunitTest_sc_datapilottablesobj.mk Loading commit data...
CppunitTest_sc_dataprovider.mk Loading commit data...
CppunitTest_sc_datatransformation.mk Loading commit data...
CppunitTest_sc_datetime_functions_test.mk Loading commit data...
CppunitTest_sc_ddelinkobj.mk Loading commit data...
CppunitTest_sc_documentconfigurationobj.mk Loading commit data...
CppunitTest_sc_editfieldobj_cell.mk Loading commit data...
CppunitTest_sc_editfieldobj_header.mk Loading commit data...
CppunitTest_sc_filterdescriptorbaseobj.mk Loading commit data...
CppunitTest_sc_filters_test.mk Loading commit data...
CppunitTest_sc_financial_functions_test.mk Loading commit data...
CppunitTest_sc_functiondescriptionobj.mk Loading commit data...
CppunitTest_sc_functionlistobj.mk Loading commit data...
CppunitTest_sc_functions_test_old.mk Loading commit data...
CppunitTest_sc_headerfootercontentobj.mk Loading commit data...
CppunitTest_sc_html_export_test.mk Loading commit data...
CppunitTest_sc_importdescriptorbaseobj.mk Loading commit data...
CppunitTest_sc_information_functions_test.mk Loading commit data...
CppunitTest_sc_labelrangeobj.mk Loading commit data...
CppunitTest_sc_labelrangesobj.mk Loading commit data...
CppunitTest_sc_logical_functions_test.mk Loading commit data...
CppunitTest_sc_macros_test.mk Loading commit data...
CppunitTest_sc_mark_test.mk Loading commit data...
CppunitTest_sc_mathematical_functions_test.mk Loading commit data...
CppunitTest_sc_modelobj.mk Loading commit data...
CppunitTest_sc_namedrangeobj.mk Loading commit data...
CppunitTest_sc_namedrangesobj.mk Loading commit data...
CppunitTest_sc_new_cond_format_api.mk Loading commit data...
CppunitTest_sc_opencl_test.mk Loading commit data...
CppunitTest_sc_outlineobj.mk Loading commit data...
CppunitTest_sc_parallelism.mk Loading commit data...
CppunitTest_sc_perfobj.mk Loading commit data...
CppunitTest_sc_pivottable_filters_test.mk Loading commit data...
CppunitTest_sc_range_test.mk Loading commit data...
CppunitTest_sc_rangelst_test.mk Loading commit data...
CppunitTest_sc_recentfunctionsobj.mk Loading commit data...
CppunitTest_sc_recordchanges.mk Loading commit data...
CppunitTest_sc_scenariosobj.mk Loading commit data...
CppunitTest_sc_screenshots.mk Loading commit data...
CppunitTest_sc_shapeobj.mk Loading commit data...
CppunitTest_sc_sheetlinkobj.mk Loading commit data...
CppunitTest_sc_sortdescriptorbaseobj.mk Loading commit data...
CppunitTest_sc_spreadsheet_functions_test.mk Loading commit data...
CppunitTest_sc_spreadsheetsettings.mk Loading commit data...
CppunitTest_sc_spreadsheetsettingsobj.mk Loading commit data...
CppunitTest_sc_statistical_functions_test.mk Loading commit data...
CppunitTest_sc_styleloaderobj.mk Loading commit data...
CppunitTest_sc_subsequent_export_test.mk Loading commit data...
CppunitTest_sc_subsequent_filters_test.mk Loading commit data...
CppunitTest_sc_subtotaldescriptorbaseobj.mk Loading commit data...
CppunitTest_sc_subtotalfieldobj.mk Loading commit data...
CppunitTest_sc_tableconditionalentryobj.mk Loading commit data...
CppunitTest_sc_tableconditionalformatobj.mk Loading commit data...
CppunitTest_sc_tablesheetobj.mk Loading commit data...
CppunitTest_sc_tablesheetsobj.mk Loading commit data...
CppunitTest_sc_tablevalidationobj.mk Loading commit data...
CppunitTest_sc_tabviewobj.mk Loading commit data...
CppunitTest_sc_text_functions_test.mk Loading commit data...
CppunitTest_sc_tiledrendering.mk Loading commit data...
CppunitTest_sc_ucalc.mk Loading commit data...
CppunitTest_sc_viewpaneobj.mk Loading commit data...
IwyuFilter_sc.yaml Loading commit data...
JunitTest_sc_complex.mk Loading commit data...
JunitTest_sc_unoapi_1.mk Loading commit data...
JunitTest_sc_unoapi_2.mk Loading commit data...
JunitTest_sc_unoapi_3.mk Loading commit data...
JunitTest_sc_unoapi_4.mk Loading commit data...
JunitTest_sc_unoapi_5.mk Loading commit data...
JunitTest_sc_unoapi_6.mk Loading commit data...
JunitTest_sc_unoapi_7.mk Loading commit data...
Library_sc.mk Loading commit data...
Library_scd.mk Loading commit data...
Library_scfilt.mk Loading commit data...
Library_scqahelper.mk Loading commit data...
Library_scui.mk Loading commit data...
Library_vbaobj.mk Loading commit data...
Makefile Loading commit data...
Module_sc.mk Loading commit data...
Package_opencl.mk Loading commit data...
Package_res_xml.mk Loading commit data...
PythonTest_sc_python.mk Loading commit data...
README Loading commit data...
TODO.performance Loading commit data...
UIConfig_scalc.mk Loading commit data...
UITest_autofilter.mk Loading commit data...
UITest_calc_tests.mk Loading commit data...
UITest_conditional_format.mk Loading commit data...
UITest_hide_cols.mk Loading commit data...
UITest_range_name.mk Loading commit data...
UITest_search_replace.mk Loading commit data...
common_unoapi_tests.mk Loading commit data...