Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User requests #9

Open
alyxazon opened this issue Oct 7, 2016 · 0 comments
Open

User requests #9

alyxazon opened this issue Oct 7, 2016 · 0 comments
Assignees

Comments

@alyxazon
Copy link
Collaborator

alyxazon commented Oct 7, 2016

  • Header file (which gets "installed") for ECA flags and channels
  • Note/generic constant for IO_CONDITION_OFFSET
  • Fixed IO name/prefix map for users
  • Configuration methods for event-driven clock generator
  • Automatic firmware update check (not sure if this should be part of saftlib)
@alyxazon alyxazon self-assigned this Oct 7, 2016
milo-gsi added a commit to milo-gsi/saftlib that referenced this issue Feb 15, 2024
This occasionally, but reproducibly, leads to SIGABRT with message

> pure virtual method called
> terminate called without an active exception
> Aborted (core dumped)

 Stack trace of thread 3330:
 #0  0x00007f0edf9e754c __pthread_kill_implementation (libc.so.6 + 0xa154c)
 GSI-CS-CO#1  0x00007f0edf99ad06 raise (libc.so.6 + 0x54d06)
 GSI-CS-CO#2  0x00007f0edf96e885 abort (libc.so.6 + 0x28885)
 GSI-CS-CO#3  0x00007f0edfce6a01 _ZN9__gnu_cxx27__verbose_terminate_handlerEv.cold (libstdc++.so.6 + 0xa1a01)
 GSI-CS-CO#4  0x00007f0edfcf237c _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6 + 0xad37c)
 GSI-CS-CO#5  0x00007f0edfcf23e7 _ZSt9terminatev (libstdc++.so.6 + 0xad3e7)
 GSI-CS-CO#6  0x00007f0edfcf3115 __cxa_pure_virtual (libstdc++.so.6 + 0xae115)
 GSI-CS-CO#7  0x00007f0edff1b250 _ZN7saftbus11SignalGroup19wait_for_one_signalEi (libsaftbus.so.10 + 0x14250)
 GSI-CS-CO#8  0x00007f0edff1b2cf _ZN7saftbus11SignalGroup15wait_for_signalEi (libsaftbus.so.10 + 0x142cf)
 GSI-CS-CO#9  0x00000000004f063a operator() (Genesys_DU + 0xf063a)
 GSI-CS-CO#10 0x00007f0edfd20924 execute_native_thread_routine (libstdc++.so.6 + 0xdb924)
 GSI-CS-CO#11 0x00007f0edf9e5802 start_thread (libc.so.6 + 0x9f802)
 GSI-CS-CO#12 0x00007f0edf985450 __clone3 (libc.so.6 + 0x3f450)

Presumably, a derived Proxy object receives a signal during destruction,
just when the object's vtable switched to the base class right before lifetime ends.

While this issue surely is a corner case only likely to happen for applications
that heavily create and destroy conditions, I can trigger that quickly with Genesys
during typical operation.

After removing the pure declaration I wasn't able to crash the DU.

N.B. C++ pure virtual methods are allowed to have methods defined.
Such a definition is present in saftbus/client.cpp.
Removing said definition had no influence on the matter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant