Menu

#7 Fix error source for a segmentation fault during a quick test

v1.0 (example)
open
nobody
None
5
2018-02-26
2018-02-26
No
elfring@Sonne:~/Projekte/Linux/next-patched> LANG=C gdb ~/Projekte/Bau/Smatch/smatch
GNU gdb (GDB; openSUSE Tumbleweed) 8.0.1

(gdb) run drivers/media/dvb-frontends/tda8261.c

Warning: /home/elfring/share/smatch/smatch_data/ is not accessible.
Use --no-data or --data to suppress this message.

drivers/media/dvb-frontends/tda8261.c:21:11: error: unable to open 'linux/init.h'

/home/elfring/Projekte/Linux/next-patched/include/linux/spinlock.h0:290:12: error: too many errors

Program received signal SIGSEGV, Segmentation fault.
0x000000000044fd58 in print_struct_members (call=call@entry=0x7ffff6200550, expr=0x0, expr@entry=0x7ffff62005d0, param=param@entry=1, offset=offset@entry=-1, stree=0x0, 
    callback=0x44e2b0 <struct_member_callback>) at /home/elfring/Projekte/Smatch/lokal/smatch_db.c:735
735     if (expr->type == EXPR_PREOP && expr->op == '&') {
(gdb) bt
#0  0x000000000044fd58 in print_struct_members (call=call@entry=0x7ffff6200550, expr=0x0, expr@entry=0x7ffff62005d0, param=param@entry=1, offset=offset@entry=-1, stree=0x0, 
    callback=0x44e2b0 <struct_member_callback>) at /home/elfring/Projekte/Smatch/lokal/smatch_db.c:735
#1  0x0000000000452fd4 in match_call_info (call=0x7ffff6200550) at /home/elfring/Projekte/Smatch/lokal/smatch_db.c:848
#2  0x0000000000420023 in pass_sym_list_to_client (data=0x7ffff6200550, fn=<optimized out>) at /home/elfring/Projekte/Smatch/lokal/smatch_hooks.c:215
#3  __pass_to_client (data=data@entry=0x7ffff6200550, type=type@entry=FUNCTION_CALL_HOOK) at /home/elfring/Projekte/Smatch/lokal/smatch_hooks.c:235
#4  0x0000000000406a00 in __split_expr (expr=0x7ffff6200550) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:458
#5  0x00000000004064e7 in __split_expr (expr=0x7ffff62004d0) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:377
#6  0x00000000004074fa in __split_expr (expr=<optimized out>) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:297
#7  0x000000000040c140 in split_conditions (expr=0x7ffff62004d0, expr@entry=0x7ffff6200450) at /home/elfring/Projekte/Smatch/lokal/smatch_conditions.c:448
#8  0x000000000040c974 in __split_whole_condition (expr=0x7ffff6200450) at /home/elfring/Projekte/Smatch/lokal/smatch_conditions.c:476
#9  0x0000000000405cfe in __split_stmt (stmt=stmt@entry=0x7ffff62e1f18) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:1029
#10 0x00000000004044e2 in split_compound (stmt=0x7ffff62e1e68) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:905
#11 __split_stmt (stmt=0x7ffff62e1e68) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:1014
#12 0x00000000004080a0 in split_function (sym=sym@entry=0x7ffff617cd98) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:1504
#13 0x0000000000408ba2 in split_c_file_functions (sym_list=0x7ffff6689310) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:1754
#14 smatch (argc=<optimized out>, argv=<optimized out>) at /home/elfring/Projekte/Smatch/lokal/smatch_flow.c:1828
#15 0x00000000004030d3 in main ()

How can the software be improved for such an usage try?

Discussion


Log in to post a comment.

MongoDB Logo MongoDB