Bug 445902 - Segmentation fault when trying to start boincmgr
Summary: Segmentation fault when trying to start boincmgr
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: boinc-client
Version: 9
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Milos Jakubicek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-09 18:30 UTC by Luke Macken
Modified: 2016-09-20 02:38 UTC (History)
6 users (show)

Fixed In Version: 5.10.45-14.20080315svn.fc7
Clone Of:
Environment:
Last Closed: 2008-05-29 02:46:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Luke Macken 2008-05-09 18:30:16 UTC
Description of problem:
Starting program: /usr/bin/boincmgr 

[Thread debugging using libthread_db enabled]

[New Thread 0x7fca2ccfb7b0 (LWP 20672)]

Detaching after fork from child process 20679.

Detaching after fork from child process 20680.

Detaching after fork from child process 20681.



Program received signal SIGSEGV, Segmentation fault.

[Switching to Thread 0x7fca2ccfb7b0 (LWP 20672)]

wxStringBase::operator= (this=0xe0, stringSrc=@0x7fff379715c0)

    at src/common/string.cpp:778

778	  if ( m_pchData != stringSrc.m_pchData ) {

Current language:  auto; currently c++

Missing separate debuginfos, use: debuginfo-install keyutils.x86_64

(gdb) bt

#0  wxStringBase::operator= (this=0xe0, stringSrc=@0x7fff379715c0)

    at src/common/string.cpp:778

#1  0x00000000004c5998 in ?? ()

#2  0x00000000004c6a2d in ?? ()

#3  0x00000000004ccb23 in ?? ()

#4  0x00000000004465da in ?? ()

#5  0x00007fca2f06d793 in wxEntry (argc=<value optimized out>, 

    argv=<value optimized out>) at src/common/init.cpp:440

#6  0x0000000000444ce2 in ?? ()

#7  0x00007fca2e6f432a in __libc_start_main (main=0x444cd0, argc=1, 

    ubp_av=0x7fff37971a28, init=<value optimized out>, 

    fini=<value optimized out>, rtld_fini=<value optimized out>, 

    stack_end=0x7fff37971a18) at libc-start.c:220

#8  0x0000000000421969 in wxAppBase::MainLoop () at src/common/appcmn.cpp:308

#9  0x00007fff37971a18 in ?? ()

#10 0x000000000000001c in ?? ()

#11 0x0000000000000001 in ?? ()

#12 0x00007fff37972376 in ?? ()

#13 0x0000000000000000 in ?? ()



Version-Release number of selected component (if applicable):
boinc-manager-5.10.45-9.20080315svn.fc9.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Run `boincmgr`

Comment 1 Milos Jakubicek 2008-05-09 21:13:51 UTC
What version of wx widgets (wxGTK package) do you have installed?

Comment 2 Luke Macken 2008-05-10 00:20:09 UTC
wxGTK-2.8.7-2.fc9.x86_64


Comment 3 Milos Jakubicek 2008-05-10 22:07:16 UTC
I can confirm this behaviour on F9 -- but it seems to be caused by wxWidgets,
therefore I'm changing the component to wxGTK. 


Comment 4 Dan Horák 2008-05-12 08:52:41 UTC
It is questionable what is the primary source of the problem, because there is
no problem when I try to run boincmgr on F9/i386. Also boinc* packages have
unusable debuginfo, so it is hard to debug.

Comment 5 Milos Jakubicek 2008-05-12 09:37:08 UTC
Luke, are you running an i386 or x86_64 machine?
(I'll try to investigate what's wrong with the debuginfo package.)

Comment 6 Dan Horák 2008-05-12 09:58:59 UTC
The source of missing debuginfo is probably simple - strip (resp. @STRIP@) is
run when creating/symlinking ".unmodified" and normal binary - see the end of
Makefile.am in both client and clientgui dirs.

Comment 7 Luke Macken 2008-05-12 15:40:43 UTC
(In reply to comment #5)
> Luke, are you running an i386 or x86_64 machine?
> (I'll try to investigate what's wrong with the debuginfo package.)

x86_64

Comment 8 Milos Jakubicek 2008-05-13 09:46:47 UTC
It happens only on x86_64 -- even installing i386 packages on F9/x86_64
(including all its dependencies, of course) makes boincmgr working.

I've fixed the broken debuginfo package (thanks for the hint, I should have
noticed earlier that it is so damn small) -- please download the latest build
from Koji:

http://koji.fedoraproject.org/koji/buildinfo?buildID=48824

So the current gdb output is:

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/boincmgr
[Thread debugging using libthread_db enabled]
[New Thread 0x7f183ca557b0 (LWP 8983)]
Detaching after fork from child process 8984.
Detaching after fork from child process 8985.
Detaching after fork from child process 8986.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f183ca557b0 (LWP 8983)]
wxStringBase::operator= (this=0xe0, stringSrc=@0x7fff45deac30)
    at src/common/string.cpp:778
778       if ( m_pchData != stringSrc.m_pchData ) {
(gdb) where
#0  wxStringBase::operator= (this=0xe0, stringSrc=@0x7fff45deac30)
    at src/common/string.cpp:778
#1  0x00000000004c5998 in CSkinSimple::InitializeDelayedValidation (this=0x0)
    at /usr/include/wx-2.8/wx/string.h:660
#2  0x00000000004c6a2d in CSkinManager::InitializeDelayedValidation (
    this=0x119c7b0) at SkinManager.cpp:1436
#3  0x00000000004ccb23 in CSkinManager::ReloadSkin (this=0x119c7b0,
    pLocale=<value optimized out>, strSkin=<value optimized out>)
    at SkinManager.cpp:1257
#4  0x00000000004465da in CBOINCGUIApp::OnInit (this=0x1148430)
    at BOINCGUIApp.cpp:276
#5  0x00007f183cb10793 in wxEntry (argc=<value optimized out>,
    argv=<value optimized out>) at src/common/init.cpp:440
#6  0x0000000000444ce2 in main (argc=1, argv=0x7fff45deac30)
    at BOINCGUIApp.cpp:71


Comment 9 Dan Horák 2008-05-13 14:27:42 UTC
From the backtraces #2 and #1 is clear that problem is in boincmgr - #2 calls #1
with this=0x0 (m_SimpleSkin member of the class should be NULL when his method
gets called).

boinc-manager works on F8/x86_64 + wxGTK-2.8.7-2, so it looks like a gcc 4.3
incompatibility of the boincmgr's sources, switching the component back to
boinc-client

Comment 10 Bug Zapper 2008-05-14 10:55:55 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 11 Milos Jakubicek 2008-05-16 10:53:28 UTC
I see, sorry -- somehow I thought that from #3 down it's wxWidgets code,
although SkinManager.cpp is a part of BOINC.

Reported into BOINC trac as ticket #658 
(http://boinc.berkeley.edu/trac/ticket/658)

Comment 12 Bradley 2008-05-16 14:41:59 UTC
This bit me; I got a simplified test case and have attached a fix to the boinc bug.

sizeof(int) != sizeof(long) - this should never have worked....

Not sure the best way to get upstream to apply this; I'll leave that with you....

Comment 13 Bradley 2008-05-17 03:50:13 UTC
Its been applied upstream.

Comment 14 Milos Jakubicek 2008-05-17 10:02:02 UTC
Great work Bradley, thank you very much!

Should be fixed in boinc-client-5.10.45-13.20080315svn.fc9

(http://koji.fedoraproject.org/koji/buildinfo?buildID=49385)

An update will come soon.

Comment 15 Bradley 2008-05-17 10:52:35 UTC
Yep, that fixes it.

Comment 16 Fedora Update System 2008-05-21 10:55:22 UTC
boinc-client-5.10.45-14.20080315svn.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update boinc-client'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-3531

Comment 17 Fedora Update System 2008-05-29 02:46:31 UTC
boinc-client-5.10.45-14.20080315svn.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2008-05-29 02:47:55 UTC
boinc-client-5.10.45-14.20080315svn.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2008-05-29 02:52:31 UTC
boinc-client-5.10.45-14.20080315svn.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.


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