Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

[dev.icinga.com #5687] SEGV in ido2db in solaris #1433

Closed
icinga-migration opened this issue Feb 21, 2014 · 4 comments
Closed

[dev.icinga.com #5687] SEGV in ido2db in solaris #1433

icinga-migration opened this issue Feb 21, 2014 · 4 comments
Milestone

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/5687

Created by Tommi on 2014-02-21 11:04:00 +00:00

Assignee: Tommi
Status: Resolved (closed on 2014-03-03 19:37:33 +00:00)
Target Version: 1.11
Last Update: 2014-12-08 14:47:03 +00:00 (in Redmine)

Icinga Version: 1.10.0
OS Version: any

when starting ido2db on solaris a SEGV happened. Analysing points me to the proxy_free function, which is not checking if there was really a proxy object supplied and tries than to use it

(dbx) run -c ido2db-oracle.cfg -f
Running: ido2db -c ido2db-oracle.cfg -f
(process id 10876)
Reading libociei.so
Committing...
t@1 (l@1) signal SEGV (no mapping at the fault address) in mutex_lock_impl at 0xffffffff7e4cf888
0xffffffff7e4cf888: mutex_lock_impl+0x007c:     ldub     [%i4 + 5], %l0
Current function is ido2db_proxy_free
1102           pthread_mutex_lock(&(proxy->mutex));
(dbx) where
current thread: t@1
  [1] mutex_lock_impl(0xffffffff7e600200, 0x0, 0x16e7e8, 0x0, 0x0, 0xffffffff7e64a240), at 0xffffffff7e4cf888
=>[2] ido2db_proxy_free(proxy = (nil)), line 1102 in "ido2db.c"
  [3] ido2db_wait_for_connections(), line 1421 in "ido2db.c"
  [4] main(argc = 4, argv = 0xffffffff7ffff798), line 318 in "ido2db.c"

static void ido2db_proxy_free(ido2db_proxy *proxy) {
        int refs;

        pthread_mutex_lock(&(proxy->mutex));
        proxy->refs--;
        refs = proxy->refs;
        pthread_mutex_unlock(&(proxy->mutex));

        if (refs == 0) {
                pthread_mutex_destroy(&(proxy->mutex));
                free(proxy);
        }

Solution: add a check

Changesets

2014-02-21 16:51:22 +00:00 by Tommi 7ead192

idoutils: add check before cleaning ido2db proxy #5687
refs #5687

2014-03-03 19:08:19 +00:00 by Tommi 0c8bc63

idoutils: Add check before cleaning ido2db proxy.

Fixes #5687

2014-03-03 21:34:07 +00:00 by (unknown) 2e60399

Update Changelog/THANKS.

Refs #5671
Refs #5687
Refs #5688
Refs #5687
Refs #5698
Refs #5684
Refs #5691

2014-03-27 22:53:44 +00:00 by (unknown) 4ae54be

Update Changelog.

Refs #5873
Refs #5698
Refs #5687
Refs #5671
Refs #5776
Refs #5777
@icinga-migration
Copy link
Author

Updated by Tommi on 2014-02-21 17:24:37 +00:00

  • Status changed from Assigned to Feedback
  • Done % changed from 0 to 100

added check if proxy != NULL before trying to work with this

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2014-03-03 19:09:14 +00:00

  • Target Version set to 1.11

@icinga-migration
Copy link
Author

Updated by Tommi on 2014-03-03 19:37:33 +00:00

  • Status changed from Feedback to Resolved

Applied in changeset icinga-core:0c8bc63c622ca8398ba8525b021aeee4010c3356.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2014-12-08 14:47:03 +00:00

  • Project changed from 18 to Core, Classic UI, IDOUtils
  • Category changed from 79 to IDOUtils
  • Icinga Version changed from 1 to 1
  • OS Version set to any

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant