Skip to content

SEGFAULT with prot. type inside generic packages and enabled coverage #1191

@tmeissner

Description

@tmeissner

If i try to elaborate a design using generic packages with a protected type inside, nvc segfaults.

MWE:

package test_pkg is
  generic (
    DEPTH : positive := 8
  );

  type t_test is protected
  end protected t_test;

end package test_pkg;

package body test_pkg is

  type t_test is protected body
  end protected body;

end package body;


use std.env.all;

entity test is
end entity;

architecture sim of test is

  package test_pkg_inst is new work.test_pkg;

  shared variable s_test_pkg_inst : test_pkg_inst.t_test;

begin

  stop(0);
  
end architecture sim;
$ nvc --std=08 -a test.vhd 
$ nvc --std=08 -e --cover test

*** Caught signal 11 (SEGV_MAPERR) [address=0x68, ip=0x56169b136c8e] ***

[0x56169b068c1d] ../src/util.c:906 signal_handler.lto_priv.0
[0x7f1db4ee0f8f] (/usr/lib/x86_64-linux-gnu/libc.so.6) 
[0x56169b136c8e] ../src/cov/cov-data.c:985 cover_create_scope
[0x56169b103e16] ../src/lower.c:10150 lower_protected_body
[0x56169b10819f] ../src/lower.c:13752 unit_registry_get
[0x56169b13b5bb] ../src/jit/jit-core.c:429 jit_fill_irbuf
[0x56169b14f40e] ../src/jit/jit-interp.c:1070 jit_interp
[0x56169b1500f8] ../src/jit/jit-interp.c:638 interp_loop
[0x56169b1500f8] ../src/jit/jit-interp.c:1103 jit_interp
[0x56169b13ab00] ../src/jit/jit-core.c:686 jit_try_vcall.lto_priv.0
[0x56169b13ae40] ../src/jit/jit-core.c:785 jit_fastcall
[0x56169b17edbf] ../src/rt/model.c:770 create_scope
[0x56169b0bfede] ../src/elab.c:1351 elab_lower.lto_priv.0
[0x56169b0c0cd4] ../src/elab.c:1462 elab_architecture.lto_priv.0
[0x56169b063b4f] ../src/elab.c:2209 elab
[0x56169b063b4f] ../src/elab.c:548 elaborate
[0x56169b0601ed] ../src/nvc.c:2429 process_command
[0x56169b05bb4b] ../src/nvc.c:2599 main

nvc 1.16-devel (1.15.0.r140.gd9004279) (Using LLVM 14.0.6) [x86_64-pc-linux-gnu]

Please report this bug at https://github.com/nickg/nvc/issues

The design can be elaborated and simulated without enabled coverage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions