Skip to content
This repository has been archived by the owner. 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
Labels
Milestone

Comments

@icinga-migration
Copy link
Member

@icinga-migration icinga-migration commented Feb 21, 2014

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
Member Author

@icinga-migration icinga-migration commented Feb 21, 2014

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
Member Author

@icinga-migration icinga-migration commented Mar 3, 2014

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

  • Target Version set to 1.11
@icinga-migration
Copy link
Member Author

@icinga-migration icinga-migration commented Mar 3, 2014

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
Member Author

@icinga-migration icinga-migration commented Dec 8, 2014

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
@icinga-migration icinga-migration added this to the 1.11 milestone Jan 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.