Bug 1341272 - undefined symbol: sigar_skip_token
Summary: undefined symbol: sigar_skip_token
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: sigar
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Andrew Beekhof
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-31 15:55 UTC by Tomas Repik
Modified: 2018-11-30 21:51 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-11-30 21:51:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomas Repik 2016-05-31 15:55:42 UTC
Description of problem:
I'm working on a package that requires sigar, but in version 1.6.4. When using with fedora's latest 1.6.5 I get an error.

Version-Release number of selected component (if applicable):
sigar 1.6.5-0.15.git58097d9.fc23

How reproducible:
always by running a application that requires sigar

Steps to Reproduce:
I can provide further details upon request

Actual results:
INFO  15:42:53 Initializing SIGAR library
java: symbol lookup error: /usr/lib64/sigar/libsigar-amd64-linux.so: undefined symbol: sigar_skip_token

Expected results:
no error

Additional info:
when I manualy replace libsigar-amd64-linux.so with the one from 1.6.4 (latest upstream release) version everything works fine. I'm looking for a workaround rather than a version downgrade.

Comment 1 Pavel Raiskup 2016-07-20 04:14:23 UTC
Tomáš, can you post some self-standing reprouder?

Comment 2 Zane Bitter 2016-07-20 18:21:54 UTC
The issue was already reported upstream:

https://github.com/hyperic/sigar/issues/60

Comment 3 Tomas Repik 2016-08-02 09:13:51 UTC
Steps to reproduce:
1. get the rpms from [1] and [2]
2. install these rpms with all its dependencies on fedora 25/rawhide
3. run cassandra [-R]

result:
INFO  09:03:45 Initializing SIGAR library
java: symbol lookup error: /usr/lib64/sigar/libsigar-amd64-linux.so: undefined symbol: sigar_skip_token

expected result:
cassandra server runs without error

Possible and working solution:
If there is no help from the maintainer I'm gonna just copy libsigar-amd64-linux.so file from previous sigar version. It works and comes with cassandra sources.

[1] https://trepik.fedorapeople.org/cassandra/.rpms/cassandra-3.5-0.fc23.x86_64.rpm 
[2] https://trepik.fedorapeople.org/cassandra/.rpms/cassandra-thrift-3.5-0.fc23.x86_64.rpm

Comment 4 Pavel Raiskup 2016-08-17 12:08:00 UTC
(In reply to Tomas Repik from comment #3)
> Steps to reproduce:
> 1. get the rpms from [1] and [2]
> 2. install these rpms with all its dependencies on fedora 25/rawhide
> 3. run cassandra [-R]
> 
> result:
> INFO  09:03:45 Initializing SIGAR library
> java: symbol lookup error: /usr/lib64/sigar/libsigar-amd64-linux.so:
> undefined symbol: sigar_skip_token

Isn't there some self-standing reproducer, without cassandra?

> Possible and working solution:
> If there is no help from the maintainer I'm gonna just copy
> libsigar-amd64-linux.so file from previous sigar version. It works and comes
> with cassandra sources.

I bet it comes with cassandra as sources, not as a binary '*.so' file?

Comment 5 Tomas Repik 2016-08-22 08:43:10 UTC

I compared sources of two sigar versions:
- sigar-1.6.4 (latest release, required by cassandra and works without an error)
symbol "sigar_skip_token" appears in these files
src/sigar_util.c
include/sigar_util.h
- sigar-1.6.5 (version in fedora, when used with cassandra results in error)
symbol "sigar_skip_token" appears in these files
src/sigar_util.c
include/sigar_util.h
go_bindings/Sigar/include/sigar_util.h
go_bindings/Sigar/src/sigar_util.c

Also I found these two issues, maybe one solves the error.
https://github.com/hyperic/sigar/pull/44/commits/2c24d433d1b5da7e88fd37ec715bf8a5c0c10e04
https://github.com/hyperic/sigar/issues/60

Comment 6 Pavel Raiskup 2016-08-25 06:56:35 UTC
Readelf says that the 'sigar_skip_token' is in /usr/lib64/libsigar.so, both 
on F24 and F25.

Manual dlsym() and dlopen() works fine for that symbol.  What/how tries to
search for sigar_skip_token symbol?

Comment 7 Tomas Repik 2016-09-08 12:36:43 UTC
I tried to reproduce the issue again, now in fedora:rawhide docker container and I only got a warning from sigar stating: 
"minor version mismatch: (7!=6) java=1.7.0.0, native=1.6.4.129"

As far as I tested the functionality of cassandra is not affected. I'm closing this bug for now, and sending cassandra for review in Fedora, thanks Pavel.

Comment 8 Pavel Raiskup 2016-09-08 13:54:14 UTC
(In reply to Tomas Repik from comment #7)
> I tried to reproduce the issue again, now in fedora:rawhide docker container
> and I only got a warning from sigar stating: 
> "minor version mismatch: (7!=6) java=1.7.0.0, native=1.6.4.129"

Just a blind guess -- this sounds like different issue, sounds like you are
running run java-1.6 per-compiled stuff against java-1.7 runtime.

> As far as I tested the functionality of cassandra is not affected. I'm
> closing this bug for now, and sending cassandra for review in Fedora

Perfect.

Comment 9 Augusto Caringi 2017-11-03 11:26:53 UTC
I'm working on Cassandra package and just stumbled on this problem again...

After some investigation I was able to find the cause of the problem and the resolution.

Problem:

libsigar-amd64-linux.so has some undefined symbols, which cause this error message in Cassandra initialization:

java: symbol lookup error: /usr/lib64/sigar/libsigar-amd64-linux.so: undefined symbol: sigar_skip_token

Analyzing the shared library:

$ objdump -T /usr/lib64/sigar/libsigar-amd64-linux.so|grep UND|grep skip
0000000000000000      D  *UND*	0000000000000000              sigar_skip_token
0000000000000000      D  *UND*	0000000000000000              sigar_skip_multiple_token

Cause:

The main cause is this commit:

* Mon Jun 22 2015 Ralf Corsépius <corsepiu> - 1.6.5-0.15.git58097d9
- Append --std=gnu89 to CFLAGS (Work-around to c11/inline compatibility
  issues. Fix FTBFS).

Which fixed the build, but left the problematic symbols undefined.

This problem was already fixed upstream:

https://github.com/couchbase/sigar/commit/ab89d5d144b061cb24d5075cf6c45d9800a930c9

I've tested it here and it worked.

So, I suggest to drop the "--std=gnu89" flag and apply the patch above.

Thanks!

Comment 10 Jan Kurik 2018-05-31 09:07:47 UTC
This bug is currently reported against a Fedora version which is already unsuported.
I am changing the version to '27', the latest supported release.

Please check whether this bug is still an issue on the '27' release.
If you find this bug not being applicable on this release, please close it.

Comment 11 Pavel Raiskup 2018-06-01 07:15:19 UTC
I'd apply the patch..  Is it still worth the action?

Comment 12 Augusto Caringi 2018-06-01 08:54:54 UTC
(In reply to Pavel Raiskup from comment #11)
> I'd apply the patch..  Is it still worth the action?

I think so... 

But it's worth to note that currently the building is failing on F28 and F29...

https://koji.fedoraproject.org/koji/packageinfo?packageID=11358

Comment 13 Ben Cotton 2018-11-27 15:18:15 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 14 Ben Cotton 2018-11-30 21:51:26 UTC
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.