This service will be undergoing maintenance at 00:00 UTC, 2016-09-28. It is expected to last about 1 hours
Bug 115201 - prelink breaks w3m
prelink breaks w3m
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: w3m (Show other bugs)
rawhide
All Linux
medium Severity high
: ---
: ---
Assigned To: Akira TAGOH
:
: 115702 117754 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-02-08 12:06 EST by Moritz Barsnick
Modified: 2007-11-30 17:10 EST (History)
2 users (show)

See Also:
Fixed In Version: 0.4.1-10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-02-10 03:04:22 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Moritz Barsnick 2004-02-08 12:06:32 EST
Description of problem:
After a fresh install, w3m works fine. After a while, w3m always 
segfaults. prelink seems to be the culprit.

Version-Release number of selected component (if applicable):
prelink-0.3.0-20
w3m-0.4.1-9

How reproducible:
always

Steps to Reproduce:
1. rpm -e w3m
2. rpm -ivh w3m-0.4.1-9.i386.rpm
3. w3m -version
4. prelink /usr/bin/w3m-en
5. w3m -version
  
Actual results:
3. w3m version w3m/0.4.1-m17n-20030308, options lang=en,m17n,image,
color,ansi-color,mouse,gpm,menu,cookie,ssl,ssl-verify,
external-uri-loader,w3mmailer,nntp,gopher,ipv6,alarm,mark
5. Segmentation fault

Expected results:
5. like 3. under "actual results"

Additional info:
This also happens with self-compiled versions of w3m, also with other 
optimizations.
Comment 1 Jakub Jelinek 2004-02-09 12:39:56 EST
w3m (well, the GC it uses) is buggy.  It makes assumptions about __libc_stack_end which it certainly should not do.

--- w3m-0.4.1/gc/os_dep.c.jj    2003-05-09 04:43:47.000000000 +0200
+++ w3m-0.4.1/gc/os_dep.c       2004-02-09 18:33:10.000000000 +0100
@@ -897,7 +897,7 @@ ptr_t GC_get_stack_base()
     size_t i, buf_offset = 0;

     /* First try the easy way.  This should work for glibc 2.2 */
-      if (0 != &__libc_stack_end) {
+      if (0 != &__libc_stack_end && __libc_stack_end != 0) {
 #       ifdef IA64
          /* Some versions of glibc set the address 16 bytes too        */
          /* low while the initialization code is running.              */
Comment 2 Akira TAGOH 2004-02-10 03:04:22 EST
Fixed in 0.4.1-10, which will be available soon. Thanks!
Comment 3 Akira TAGOH 2004-02-16 01:32:55 EST
*** Bug 115702 has been marked as a duplicate of this bug. ***
Comment 4 Moritz Barsnick 2004-02-17 03:21:16 EST
I can confirm: 0.4.1-10 works for me. Thanks!
Comment 5 Akira TAGOH 2004-03-08 04:10:17 EST
*** Bug 117754 has been marked as a duplicate of this bug. ***

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