Bug 478650

Summary: monodoc immediately crashs with segmentation fault
Product: [Fedora] Fedora Reporter: Christian Krause <chkr>
Component: mono-toolsAssignee: Christian Krause <chkr>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: ljph.fontaine, lxtnow, paul, yodatux
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.4-12.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-01 23:53:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
backtrace
none
Error output from 'monodoc --engine GtkHtml' none

Description Christian Krause 2009-01-02 19:42:52 UTC
Created attachment 328088 [details]
backtrace

Description of problem:
monodoc (mono documentation browser) exits with segfault immediately

Version-Release number of selected component (if applicable):
mono-tools-2.0-8.fc10.i386

How reproducible:
100%

Steps to Reproduce:
1. start "monodoc"
  
Actual results:
segmetation fault, for backtrace see attached file

Additional info:
the information from the backtrace indicates, that this is a problem when monodoc uses the Gecko engine

when starting monodoc with the gtkhtml engine, it works fine:
"monodoc --engine GtkHtml"

Comment 1 Chris Van Steenlandt 2009-02-10 09:15:12 UTC
Created attachment 331406 [details]
Error output from 'monodoc --engine GtkHtml'

Comment 2 Chris Van Steenlandt 2009-02-10 09:19:36 UTC
Christian,

I also have an abort running 'monodoc --engine GtkHtml'. I have attached the output.

The mono-tools packages I have installed are (output from yum list) 

mono-tools.i386                    2.0-8.fc10                  installed        
mono-tools-devel.i386              2.0-8.fc10                  fedora

Comment 3 Christian Krause 2009-02-10 10:50:05 UTC
(In reply to comment #2)
> I also have an abort running 'monodoc --engine GtkHtml'. I have attached the
> output.

It seems that "gtkhtml-sharp.dll" is not installed on your system.

Please try it again after installing: "gnome-desktop-sharp".

Comment 4 Chris Van Steenlandt 2009-02-10 11:57:54 UTC
Christian,

this was indeed the problem. 
Only running monodoc without arguments (thus using Gecko as engine) crashes also on my system.

I assume there is a dependency problem between 'mono-tools' and 'gnome-desktop-sharp'. There is also a dependency missing between monodevelop and mono-tools in my opnion. I'll check if a bug exists and file a seperate one for the dependencies.

Thanks,

Comment 5 Christian Krause 2009-07-06 20:42:29 UTC
Hi Paul, Hi Chris,

I'm very sorry that I didn't had the time to look at this problem earlier. However investigated the problem last weekend and it turns out to consists of three independend issues:

1. As Chris mentioned, not even the GtkHtml works if the package gnome-desktop-sharp is not installed. This can be easily solved by adding the respective dependency to the mono-tools-monodoc package.

2. The original problem from this bug report: When starting monodoc without any parameters it will just crash. This is caused by the fact, that docbrowser/browser.cs defines the possible engines in the following order:
        public static string[] engines = {"WebKit", "Gecko", "MonoWebBrowser", "GtkHtml"};
Usually it should work like this: 
The docbrowser tries one engine at the time until one of it works. Since WebKit cannot be started it tries out Gecko next and this will crash.

So actually there are 2 problems here:

2a) if the gecko engine doesn't work, it shouldn't crash in the native code but raise an exception

2b) WebKit

Comment 6 Christian Krause 2009-07-06 20:53:03 UTC
[sorry for the broken comment #5, here is the complete one... ]

Hi Paul, Hi Chris,

I'm very sorry that I didn't had the time to look at this problem earlier. However investigated the problem last weekend and it turns out to consists of three independend issues:

1. As Chris mentioned, not even the GtkHtml works if the package gnome-desktop-sharp is not installed. This can be easily solved by adding the respective dependency to the mono-tools-monodoc package.

2. The original problem from this bug report: When starting monodoc without any parameters it will just crash. This is caused by the fact, that docbrowser/browser.cs defines the possible engines in the following order:
        public static string[] engines = {"WebKit", "Gecko", "MonoWebBrowser", "GtkHtml"};
Usually it should work like this: 
The docbrowser tries one engine at the time until one of it works. Since WebKit cannot be started it tries out Gecko next and this will crash.

So actually there are 2 problems here:

2a) If the gecko engine doesn't work, it shouldn't crash in the native code but raise an exception. Sure, this should also be investigated further, but most likely it is not a problem in mono-tools.

2b) WebKit engine is not compiled. This can be also fixed easily by just adding webkit-sharp-devel as build requirement and webkit-sharp as runtime requirement.


Paul, if there are no objections from you side, I would like to fix problem 1. and 2b) by adding the respective requirements and push a out new build. Sure, this would be only a workaround for the real crash, but it would help people in the first place that just calling monodoc would not work at all. 

Additionally I would investigate 2a) a little bit and probably write another bug report for the problematic mono component later.

Best regards,
Christian

Comment 7 Fedora Update System 2009-07-12 08:59:46 UTC
mono-tools-2.4-12.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/mono-tools-2.4-12.fc11

Comment 8 Fedora Update System 2009-07-12 09:03:08 UTC
mono-tools-2.0-9.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/mono-tools-2.0-9.fc10

Comment 9 Christian Krause 2009-07-12 09:07:52 UTC
Fixed 2 problems in CVS:
- missing dependencies (runtime) for gtkhtml-sharp (and webkit-sharp)
- enabled webkit-based html renderer so that starting monodoc will not result in a crash anymore

Comment 10 Fedora Update System 2009-07-16 07:30:43 UTC
mono-tools-2.4-12.fc11 has been pushed to the Fedora 11 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 mono-tools'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-7676

Comment 11 Fedora Update System 2009-07-16 07:35:55 UTC
mono-tools-2.0-9.fc10 has been pushed to the Fedora 10 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 mono-tools'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-7690

Comment 12 Fedora Update System 2009-08-01 23:53:27 UTC
mono-tools-2.0-9.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2009-08-02 00:00:56 UTC
mono-tools-2.4-12.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.