ovis-hpc / ovis

OVIS/LDMS High Performance Computing monitoring, analysis, and visualization project.

Home Page:https://github.com/ovis-hpc/ovis-wiki/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Segmentation fault in libdecomp_as_is

morrone opened this issue · comments

With the following decomposition file:

{
    "type": "flex",
    "decomposition": {
        "the_default": {
            "type": "as_is"
        }
    },
    "digest": {
        "*": "the_default"
    }
}

I get the following segmenation fault:

Thread 1 "ldmsd" received signal SIGSEGV, Segmentation fault.                                                                                                                                       
0x0000155555467819 in __decomp_as_is_config () from /usr/lib64/ovis-ldms/libdecomp_as_is.so                                                                                                         
(gdb) bt                                                                                                                                                                                            
#0  0x0000155555467819 in __decomp_as_is_config () from /usr/lib64/ovis-ldms/libdecomp_as_is.so                                                                                                     
#1  0x000015555546c858 in __decomp_flex_config () from /usr/lib64/ovis-ldms/libdecomp_flex.so                                                                                                       
#2  0x0000555555582b08 in ldmsd_decomp_config ()                                                                                                                                                    
#3  0x00005555555716ff in strgp_add_handler ()                                                                                                                                                      
#4  0x000055555557358c in ldmsd_handle_request ()                                                                                                                                                   
#5  0x00005555555739c6 in ldmsd_process_config_request ()                                                                                                                                           
#6  0x0000555555567385 in __process_config_file.constprop.6 ()                                                                                                                                      
#7  0x00005555555617e4 in main ()

@narategithub could you please take a look at this?

FYI, was at commit 8838776 for this. I'm trying to get a line number, but an unrelated issue is stopping me at the moment.

Line 256:

        TAILQ_FOREACH(jidx, &jidxs->item_list, item_entry) {

Thank you @morrone for the report. jidxs was NULL because the "default" as_is decomposition has no indices. A short-term work-around would be to define the indices, e.g.

{
    "type": "flex",
    "decomposition": {
        "the_default": {
            "type": "as_is",
            "indices": [
                { "name": "time_comp", "cols": [ "timestamp", "component_id" ] }
            ]
        }
    },
    "digest": {
        "*": "the_default"
    }
}

I'll post a patch soon. I'm sorry for this silly bug.