Bjoern Petri created CELIX-175:
----------------------------------
Summary: segfault during shutdown when calculator is already
stopped
Key: CELIX-175
URL: https://issues.apache.org/jira/browse/CELIX-175
Project: Celix
Issue Type: Bug
Environment: Revision: 1634019
Reporter: Bjoern Petri
Using the remote-services-cfg deployment, I can reproduce a segfault when
stopping the apache_celix_remoting_calculator_impl manually before shutting
down:
{code}
-> ps
ID State Name
0 Active framework
1 Active apache_celix_rsa_discovery_configured
2 Active apache_celix_rs_topology_manager
3 Active apache_celix_remote_service_admin_http
4 Active apache_celix_remoting_calculator_impl
5 Active apache_celix_shell
6 Active apache_celix_shell_tui
7 Active apache_celix_log_service
8 Active apache_celix_log_writer
9 Active apache_celix_remoting_calculator_endpoint
10 Active apache_celix_remoting_calculator2_endpoint
-> stop 4
INFO: TOPOLOGY_MANAGER: Remove exported service (6).
INFO: TOPOLOGY_MANAGER: listener with filter
"(&(objectClass=remote_endpoint)(remote.interface=org.apache.celix.calc.api.Calculator))"
removed.
LogWriter: BUNDLE_EVENT_STOPPED from apache_celix_remoting_calculator_endpoint
LogWriter: BUNDLE_EVENT_UNRESOLVED from
apache_celix_remoting_calculator_endpoint
LogWriter: BUNDLE_EVENT_UNINSTALLED from
apache_celix_remoting_calculator_endpoint
INFO: TOPOLOGY_MANAGER: Remove imported service
(org.apache.celix.calc.api.Calculator; fd7d5d34-aa36-4ecc-a7d7-dbb9bf63ea8d).
INFO: Endpoint for org.apache.celix.calc.api.Calculator, with filter "(null)"
removed...
INFO: removing endpoint "fd7d5d34-aa36-4ecc-a7d7-dbb9bf63ea8d"...
INFO: TOPOLOGY_MANAGER: Remove exported service (8).
INFO: TOPOLOGY_MANAGER: listener with filter
"(&(objectClass=remote_endpoint)(remote.interface=org.apache.celix.calc.api.Calculator2))"
removed.
LogWriter: BUNDLE_EVENT_STOPPED from apache_celix_remoting_calculator2_endpoint
LogWriter: BUNDLE_EVENT_UNRESOLVED from
apache_celix_remoting_calculator2_endpoint
LogWriter: BUNDLE_EVENT_UNINSTALLED from
apache_celix_remoting_calculator2_endpoint
INFO: TOPOLOGY_MANAGER: Remove imported service
(org.apache.celix.calc.api.Calculator2; 62d9a3c8-0340-4a69-95c3-325a0f5d1be4).
INFO: Endpoint for org.apache.celix.calc.api.Calculator2, with filter "(null)"
removed...
INFO: removing endpoint "62d9a3c8-0340-4a69-95c3-325a0f5d1be4"...
-> LogWriter: BUNDLE_EVENT_STOPPED from apache_celix_remoting_calculator_impl
-> stop 0
INFO: FRAMEWORK: Start shutdownthread
[New Thread 0x7fff567ec700 (LWP 10466)]
-> INFO: FRAMEWORK: Shutdown
INFO: TOPOLOGY_MANAGER: listener with filter "(objectClass=shellService)"
removed.
LogWriter: BUNDLE_EVENT_STOPPED from framework
[Thread 0x7fff577ee700 (LWP 10462) exited]
LogWriter: BUNDLE_EVENT_STOPPED from apache_celix_shell_tui
DEBUG: TOPOLOGY_MANAGER: Ignore myself.
INFO: TOPOLOGY_MANAGER: Removed RSA
*** Error in `/home/bjoern/Development/build.current/launcher/celix': double
free or corruption (out): 0x0000000000647cb0 ***
[..]
(gdb) bt
#0 0x00007ffff6c84877 in raise () from /lib64/libc.so.6
#1 0x00007ffff6c85f68 in abort () from /lib64/libc.so.6
#2 0x00007ffff6cc4a54 in __libc_message () from /lib64/libc.so.6
#3 0x00007ffff6ccbd78 in _int_free () from /lib64/libc.so.6
#4 0x00007ffff7969b73 in arrayList_destroy (list=0x641070)
at /home/bjoern/Development/celix.current/utils/private/src/array_list.c:53
#5 0x00007fffef7d108c in topologyManager_rsaRemoved (handle=0x61a320,
reference=0x63c0b0,
service=0x632290)
at
/home/bjoern/Development/celix.current/remote_services/topology_manager/private/src/topology_manager.c:224
#6 0x00007ffff7bb3c75 in serviceTracker_untrack (tracker=0x61a6f0,
reference=0x63c0b0, event=0x0)
at
/home/bjoern/Development/celix.current/framework/private/src/service_tracker.c:325
#7 0x00007ffff7bb2f54 in serviceTracker_close (tracker=0x61a6f0)
at
/home/bjoern/Development/celix.current/framework/private/src/service_tracker.c:135
#8 0x00007fffef7d3688 in bundleActivator_stop (userData=0x618490,
context=0x619c90)
at
/home/bjoern/Development/celix.current/remote_services/topology_manager/private/src/activator.c:175
#9 0x00007ffff7b9e8b5 in fw_stopBundle (framework=0x60e200, bundle=0x623040,
record=false)
at
/home/bjoern/Development/celix.current/framework/private/src/framework.c:843
#10 0x00007ffff7ba402d in framework_shutdown (framework=0x60e200)
at
/home/bjoern/Development/celix.current/framework/private/src/framework.c:1977
#11 0x00007ffff6a39ee5 in start_thread () from /lib64/libpthread.so.0
#12 0x00007ffff6d43b8d in clone () from /lib64/libc.so.6
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)