[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#283613: marked as done (fortune-mod: Mysterious segfault using UTF-8 on a large file)



Your message dated Tue, 25 Jun 2013 13:13:22 +0200
with message-id <20130625111322.GE7994@debian.WAG160N>
and subject line Re: bug appears to be gone
has caused the Debian Bug report #283613,
regarding fortune-mod: Mysterious segfault using UTF-8 on a large file
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
283613: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283613
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: fortune-mod
Version: 1:1.99.1-1
Severity: normal

Hi,

I've been accumulating personal fortune databases for years now, and
they're getting huge.  The "grab bag" one, quotes, contains a few 8-bit
characters, so I converted it to UTF-8 and upgraded fortune.  I created
the required link (quotes.u8 -> quotes).  All is well; it works okay.
But I get a segfault in *one* case; I haven't managed to make the case
significantly smaller.

1:18:hedgehog:/tmp% strfile quotes
"quotes.dat" created
There were 1042 strings
Longest string: 1864 bytes
Shortest string: 19 bytes
1:18:hedgehog:/tmp% ls -l quotes*
-rw-r--r--    1 allover  allover    291738 2004-11-30 01:15 quotes
-rw-rw-r--    1 allover  allover      4196 2004-11-30 01:18 quotes.dat
lrwxrwxrwx    1 allover  allover         6 2004-11-30 01:07 quotes.u8 -> quotes
1:18:hedgehog:/tmp% fortune -m Gates quotes
(/tmp/quotes)
%
Microsoft Hack (the Company, not a Product)

First the attack lasted three months.  Then it was six weeks and the
attackers had access to major source code.  Then, it was only five or six
days.  Now it's 12 days but they didn't see anything interesting.  Soon,
the whole thing will have been a penetration test by a Microsoft tiger
team.  And when Bill Gates finally takes over the world, he'll have Winston
Smith consign all copies of the story to a memory hole, since it will never
have happened.
                -- Bruce Schneier, in CRYPTO-GRAM
%
zsh: segmentation fault  fortune -m Gates quotes
139! 1:18:hedgehog:/tmp% 


An strace shows some indication of how far the process gets (to an
Ashleigh Brilliant quote); no obvious 8-bit characters show up within
a few thousand bytes either way.  However:

139! 1:18:hedgehog:/tmp% rm quotes.u8
1:22:hedgehog:/tmp% fortune -m Gates quotes
(/tmp/quotes)
%
Microsoft Hack (the Company, not a Product)

First the attack lasted three months.  Then it was six weeks and the
attackers had access to major source code.  Then, it was only five or six
days.  Now it's 12 days but they didn't see anything interesting.  Soon,
the whole thing will have been a penetration test by a Microsoft tiger
team.  And when Bill Gates finally takes over the world, he'll have Winston
Smith consign all copies of the story to a memory hole, since it will never
have happened.
                -- Bruce Schneier, in CRYPTO-GRAM
%
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the world.
                -- seen on the net
%
1! 1:22:hedgehog:/tmp%

If I delete all, or most, of the text before the first Gates quote,
no segfault.  If I delete all the text after the second Gates quote,
no segfault.

By creative trimming, I can obtain a file of 159063 bytes which ceases to
segfault if I remove a single character from the last fortune or replace
enough of the first line with spaces (it doesn't start with a %).  I am
mystified.  But I can't produce a *small* file that triggers the error,
and I haven't found a pattern other than "Gates" that triggers it (hmm...)


Anyway, it'd be nice to see this figured out; probably it's some strange
recode bug.  I'd be happy to send along the fortune file (I think it's
clear of bulk copying from any one source (that's all in other files)
so it should be fair use; I'd be happy to contribute it to fortune)
but I'm hesitant to lay that 300k file on the BTS.

Failing that, I can try rebuilding fortune in debugging mode and see if
GDB can help, but it's been a long time since I used GDB.


Andrew Archibald

-- System Information
Debian Release: testing/unstable
Kernel Version: Linux hedgehog 2.4.24-1-686 #1 Tue Jan 6 21:29:44 EST 2004 i686 GNU/Linux

Versions of the packages fortune-mod depends on:
ii  fortunes-min   9708-25        Data files containing fortune cookies
ii  libc6          2.3.2.ds1-13   GNU C Library: Shared libraries and Timezone
ii  librecode0     3.6-6          Shared library on which recode is based.
ii  fortunes       9708-25        Data files containing fortune cookies
	^^^ (Provides virtual package fortune-cookie-db)


--- End Message ---
--- Begin Message ---
Bugs looks fixed here to, hence closing this bug.

WRT to adding the file to the database, I'll take care of that, there are some
great quotes there.


-- 
Andrea Colangelo                     |   http://andreacolangelo.com
Ubuntu Developer  <www.ubuntu.com>   |   Debian Maintainer  <www.debian.org>

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: