whizard is hosted by Hepforge, IPPP Durham

Opened 8 years ago

Closed 8 years ago

#767 closed defect (fixed)

Segfault with intel 16.0.1 compiler

Reported by: Juergen Reuter Owned by: kilian
Priority: P0 Milestone: v2.3.0
Component: core Version: 2.2.8
Severity: blocker Keywords:
Cc:

Description

With the commits of the weekend a segfault with the intel 16.0.1 sneaked in, most likely the commit concerned with the cuts.

Change History (9)

comment:1 Changed 8 years ago by Juergen Reuter

This is the backtrace

| Events: event normalization mode '1'

Program received signal SIGSEGV, Segmentation fault.
0x0000003818289bd8 in _wordcopy_fwd_aligned () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003818289bd8 in _wordcopy_fwd_aligned () from /lib64/libc.so.6
#1  0x00000038182839f2 in memmove () from /lib64/libc.so.6
#2  0x00007ffff56cda62 in subevents::subevt_sort_real (subevt=..., pl=..., rval=...) at subevents.f90:955
#3  0x00007ffff4f0259a in eval_trees::sort_p (subevt=..., en1=..., en0=...) at eval_trees.f90:2137
#4  0x00007ffff4f613d3 in eval_trees::eval_node_evaluate (en=...) at eval_trees.f90:5843
#5  0x00007ffff4f61602 in eval_trees::eval_node_evaluate (en=...) at eval_trees.f90:5864
#6  0x00007ffff4f60447 in eval_trees::eval_node_evaluate (en=...) at eval_trees.f90:5733
#7  0x00007ffff4f815f4 in eval_trees::eval_tree_evaluate (expr=0xc61740) at eval_trees.f90:6685
#8  0x00007ffff501865b in subevt_expr::event_expr_evaluate (expr=0xc3ad80, passed=4294967295, reweight=1, analysis_flag=.FALSE.) at subevt_expr.f90:748
#9  0x00007ffff49b48ec in events::event_evaluate_expressions (event=0xc3a8a0) at events.f90:496
#10 0x00007ffff4734d7d in simulations::simulation_generate (simulation=0x7fffffff8b18, n=10, es_array=...) at simulations.f90:1552
#11 0x00007ffff486d895 in commands::cmd_simulate_execute (cmd=0xbbe130, global=...) at commands.f90:4388
#12 0x00007ffff48b5014 in commands::command_list_execute (cmd_list=0x7fffffffa610, global=...) at commands.f90:5724
#13 0x00007ffff48e2ab5 in whizard::whizard_process_stream (whizard=0x756360, stream=..., lexer=..., quit=.FALSE., quit_code=0) at whizard.f90:357
#14 0x00007ffff48ddfd8 in whizard::whizard_process_file (whizard=0x756360, file=..., quit=.FALSE., quit_code=0) at whizard.f90:332
#15 0x00007ffff7dece00 in main () at main.f90:414
#16 0x000000000040a6ce in main ()

comment:2 Changed 8 years ago by Juergen Reuter

By the way, the segfault is in the test analyze_4, so you have to enable fastjet reproduce it.

comment:3 Changed 8 years ago by Juergen Reuter

The segmentation fault was introduced in commit r7396.

comment:4 Changed 8 years ago by Juergen Reuter

Maybe the problem wasn't introduced by BACN but just uncovered by him when adding the sort by -Eta [cluster [...]].

comment:5 Changed 8 years ago by Juergen Reuter

The segfault goes away when a 'call prt_write' is used inside subevt_sort_real.

comment:6 Changed 8 years ago by Juergen Reuter

Some more information on this: it works with -standard-semantics! It also works when the cluster around the list [u:U:g] is removed. The problem was there already in r7395 when using BACN's changes to the analyze_4 test, so apparently this was never tested before.

comment:7 Changed 8 years ago by Juergen Reuter

BACN will try a few things, if nothing is successful, and as I already wrote into the manual and the compiler note on the WHIZARD page, the user should compile with -standard-semantics and we close this issue (one way or the other) today.

comment:8 Changed 8 years ago by kilian

Demanding -standard-semantics should be self-evident. I'd consider everything else as historical, so if the program works with this flag set, we should be satisfied. Eventually the Intel compiler will claim to be a standard-conforming F2003/08 compiler, then this flag will be the default anyway.

comment:9 Changed 8 years ago by Juergen Reuter

Resolution: fixed
Status: newclosed

Thanks and Nikolausi to BACN who found a fix in r7403. (I actually had this fix already yesterday, but somehow it didn't work, maybe I just was to tired). Closing.

Note: See TracTickets for help on using tickets.