[odb-users] internal compiler error:
cult:compiler::context::no_entry
MM
finjulhich at gmail.com
Thu Oct 4 13:51:48 EDT 2018
On Thu, 4 Oct 2018 at 07:40, Boris Kolpackov <boris at codesynthesis.com>
wrote:
> MM <finjulhich at gmail.com> writes:
>
> > I have traced where this exception:
> >
> > > terminate called after throwing an instance of
> > > 'cutl::compiler::context::no_entry'
> >
> > is thrown from:
> >
> > cutl/compiler/context.txx from
> >
> > template <typename X> X& context::get (std::string const& key);
>
> Can you send the complete stack trace?
Here is the beautified stack trace with c++filt, all in
/usr/local/libexec/odb/odb.so
1. std::string& cutl::compiler::context::get<std::string>(char
const*)+0x102
2. std::string
context::indirect_value<std::string>(cutl::compiler::context const&,
std::string const&)
3. context::column_type(semantics::data_member&, std::string const&)
4. object_columns_base::column_type[abi:cxx11]()
5. terminate called after throwing an instance of
'usr/local/lib/exec/odb/odb.so(
relational::sqlite::model::object_columns::type[abi:cxx11](semantics::data_member&))
cutl::compiler::context::no_entry'
6. relational::model::object_columns::traverse_column(semantics::data_member&,
std::string const&, bool)
7. object_columns_base::traverse_member(semantics::data_member&,
semantics::type&)
8. relational::model::object_columns::traverse(semantics::data_member&,
semantics::type&, std::string const&, std::string const&,
semantics::class_*)
9. relational::model::member_create::traverse_container(semantics::data_member&,
semantics::type&)
10. object_members_base::member::traverse(semantics::data_member&)
11. relational::model::class_::traverse(semantics::class_&)
12.
cutl::compiler::dispatcher<semantics::node>::dispatch(semantics::node&)
13.
cutl::compiler::dispatcher<semantics::edge>::dispatch(semantics::edge&)
14. object_members_base::traverse_object(semantics::class_&)
15. relational::model::member_create::traverse_object(semantics::class_&)
16. object_members_base::traverse(semantics::class_&)
17. relational::model::class_::traverse(semantics::class_&)
18.
cutl::compiler::dispatcher<semantics::node>::dispatch(semantics::node&)
> > key = "compiler-id-type"
> >
> > internal compiler error: Aborted
> > using nstring = odb::nullable<std::string>;
> > #pragma db member(prtfelt::strat) virtual(mynamespace::nstring)
> >
> > Is this any indication at all that the data member is missing a id_type
> > pragma?
>
> No, I don't see anything wrong with it. What's strange though is this
> 'compiler' word in the key. Do you have anything (e.g., a class) in your
> source code called 'compiler'?
Really sorry, I copied wrong:
Right before throwing, I added this code:
std::cerr <<"Cannot get key: "<< key<<std::endl;
which produces:
Cannot get key: column-id-type
Thank you very much.
Let me know if a debug build of odb would help much more.
Rds,
More information about the odb-users
mailing list