bug-xnee
[Top][All Lists]
Advanced

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

Re: [Bug-xnee] Buffer overflow error while replaying recorded file


From: Henrik Sandklef
Subject: Re: [Bug-xnee] Buffer overflow error while replaying recorded file
Date: Wed, 18 Apr 2007 17:02:49 +0200
User-agent: Icedove 1.5.0.10 (X11/20070329)

Hi,


Xnee in Debian and Ubuntu is old (and I mean really old). I don't know
when a new version is coming out, but try here:

   http://jeremiahfoster.com/deb_repository/binary/

nevertheless I am glad things are working for you :)

/hesa

Kp wrote:
> Hi,
> 
> I tried things out on xUbuntu, and it all just seems to work :)
> 
> Installed xnee using "apt-get install xnee".
> Oddly, cnee and gnee aren't installed. xnee appears to be the command-line
> program after install.
> 
> I used the below commands to try recording and replay...
> 
> xnee --record -sk Alt,s -l -1 --keyboard --mouse --out gnumeric.xnl
> 
> xnee --replay --file ./gnumeric.xnl
> 
> ...It just works.
> 
> address@hidden:~/Desktop$ xnee --version
> xnee 1.08
> Copyright (C) 2000-2003 Henrik Sandklef (address@hidden)
> xnee and all its included programs come with NO WARRANTY,
> to the extent permitted by law.
> This is free software, and you may redistribute
> copies of it under terms of GNU Genreal Public License.
> Xnee: Xnee's not an Event Emulator http://www.gnu.org/software/xnee/
> GPL:  Gnu General Public License   http://www.gnu.org/
> FSF:  Free Software Foundation     http://www.fsf.org/
> 
> ...this gets me thinking... is it the version? The version installed by yum
> is 2.05, whereas the version apt-get installs is 1.08. Does this point to
> something interesting, for you?
> 
> Thanks for all the help :)
> 
> Computers don't.
> 
> Kp.
> 
> On 4/17/07, Kp <address@hidden> wrote:
>>
>> Let me tell you the setup in some more detail...
>>
>> 1. AMD Turion64 laptop running 32 bit Fedora Core 4 / KDE 3.5 - I did a
>> yum install on this machine, and got the buffer overflow during
>> replay. This
>> is the machine that I could not run gdb on, since yum downloads
>> binaries, as
>> you know... Also, this is the machine on which I attempted to compile the
>> nightly build, and got a segmentation fault while running cnee.
>>
>> 2. 2 CPU AMD Opteron running CentOS 4.3 32 bit SMP kernel / Gnome - I did
>> NOT use yum to install xnee on this machine - I downloaded the last
>> stable
>> release from your site and compiled it successfully on this machine,
>> only to
>> run it and get the same error on replay as on the Fedora machine.
>>
>> I haven't copied binaries to/ from either machine, and haven't run
>> binaries compiled on one machine on the other. After installation I
>> ran it
>> on the same machine I installed it on. I have no idea what would have
>> happened otherwise, anyway :)
>>
>> Hmmm...
>>
>> Must be my face. I shall turn off my webcam :)
>>
>> Anyway, if you don't mind, could you please let me know the general setup
>> you use to run stuff? Distro, kernel version etc.? I can then try and
>> reproduce it on a computer and see if I can get things to work :)
>>
>> One thing that strikes me is that I've not attempted running things on a
>> non-RHEL distro. Will try that tomorrow and report, with Gentoo and
>> Ubuntu,
>> possibly. I can't really see how it ought to affect things, but might as
>> well give it a go...
>>
>> By the way, really like what the program can do - as far as I can see,
>> nothing else would quite suit my requirement... need to automate
>> testing of
>> streamed apps, and also attempt performance/ load testing of multiple
>> streaming apps from a single server... and I'm trying hard to stay
>> away from
>> Windows :)
>>
>> Thanks a lot anyway, even if I don't get lucky enough to get things
>> going.
>> I think it's really awesome, the responsive way in which you've been
>> attempting to address my queries.
>>
>> :)
>>
>> Kp.
>>
>> On 4/17/07, Henrik Sandklef <address@hidden> wrote:
>> >
>> > Aaarrrggghhhh,,,....... I don't get it.....
>> >
>> > Do you exec the program on the same machine as you compile on?
>> >
>> >
>> >
>> > /hesa
>> >
>> > Kp wrote:
>> > > Hi,
>> > >
>> > > Managed a gdb run... the output is below. As you can see,
>> recording is
>> > done
>> > > happily. It's only the replay that causes it to die.
>> > >
>> > > This was done on a computer running CentOS, as I didn't have xnee
>> > > sources on
>> > > the other (Fedora Core 4) machine.
>> > >
>> > > Sorry for the trouble, and thanks for all your help!
>> > >
>> > > Kp.
>> > >
>> > > (gdb) run --record --keyboard --mouse --events-to-record 400
>> > --out-file
>> > > gnumeric2.xnl --delivered-event-range
>> > > Expose,MapRequest,LeaveNotify,EnterNotify
>> > > Starting program: /home/kp/Desktop/Xnee-2.05/cnee/src/cnee --record
>> > > --keyboard --mouse --events-to-record 400 --out-file
>> > > gnumeric2.xnl--delivered-event-range
>> > > Expose,MapRequest,LeaveNotify,EnterNotify
>> > >
>> > > Program exited normally.
>> > > (gdb) run --replay --verbose -e /tmp/gnumeric2.err -f ./gnumeric2.xnl
>> > > Starting program: /home/kp/Desktop/Xnee-2.05/cnee/src/cnee --replay
>> > > --verbose -e /tmp/gnumeric2.err -f ./gnumeric2.xnl
>> > > ---> xnee_find_option_entry_impl
>> > >      xnee_find_option_entry_impl: "-e"
>> > >        Compare 'file'  'e'
>> > >        Compare 'help'  'e'
>> > >        Compare 'flags'  'e'
>> > >        Compare 'project'  'e'
>> > >        Compare 'version'  'e'
>> > >        Compare 'record'  'e'
>> > >        Compare 'replay'  'e'
>> > >        Compare 'retype-file'  'e'
>> > >        Compare 'write-settings'  'e'
>> > >        Compare 'print-settings'  'e'
>> > >        Compare 'print-event-names'  'e'
>> > >        Compare 'print-event-name'  'e'
>> > >        Compare 'print-error-names'  'e'
>> > >        Compare 'print-error-name'  'e'
>> > >        Compare 'print-reply-names'  'e'
>> > >        Compare 'print-request-names'  'e'
>> > >        Compare 'print-request-name'  'e'
>> > >        Compare 'keyboard'  'e'
>> > >        Compare 'mouse'  'e'
>> > >        Compare 'print-data-names'  'e'
>> > >        Compare 'manpage'  'e'
>> > >        Compare 'texipage'  'e'
>> > >        Compare 'type-help'  'e'
>> > >        Compare 'demonstration'  'e'
>> > > <--- xnee_find_option_entry_impl
>> > > ---> xnee_find_option_entry_impl
>> > >      xnee_find_option_entry_impl: "-e"
>> > >        Compare 'err-file'  'e'
>> > > ** Found key: 1   for option e at 0 in option array  (err-file)
>> > > Found xns entry for '-e' at position: 0
>> > >        long option: '134612697'
>> > >        short option:'134621851'
>> > >        long option: 'err-file'
>> > >        short option:'e'
>> > > xnee_resource.c:1023-->xnee_parse_xns_option() Handling:
>> > > 'XNEE_ERR_FILE_KEY'
>> > > ---> xnee_find_option_entry_impl
>> > >      xnee_find_option_entry_impl: "-f"
>> > >        Compare 'file'  'f'
>> > > ** Found key: 1   for option f at 0 in option array  (file)
>> > > Found cli entry for '-f' at position: 0
>> > >        long option: 'file'
>> > >        short option:'f'
>> > >        long option: 'file'
>> > >        short option:'f'
>> > > parse.c:350-->xnee_parse_cnee_option() Handling:
>> > 'CNEE_FILE_OPTION_KEY'
>> > > --> xnee_prepare
>> > > ---> xnee_open_files
>> > > ---  xnee_open_files: handling err
>> > > ---  xnee_open_files: opening err: /tmp/gnumeric2.err
>> > > Option: '--distribute
>> > > '
>> > > Option: '--out-file'
>> > >        argument: 'gnumeric2.xnl
>> > > '
>> > > Option: '--err-file'
>> > >        argument: 'stderr
>> > > '
>> > > Option: '--events-to-record'
>> > >        argument: '400
>> > > '
>> > > Option: '--data-to-record'
>> > >        argument: '-1
>> > > '
>> > > Option: '--seconds-to-record'
>> > >        argument: '-1
>> > > '
>> > > Option: '--first-last'
>> > >        argument: '0
>> > > '
>> > > Option: '--all-client
>> > > '
>> > > Option: '--max-threshold'
>> > >        argument: '20'
>> > >        argument: '
>> > > '
>> > > Option: '--min-threshold'
>> > >        argument: '20'
>> > >        argument: '
>> > > '
>> > > Option: '--tot-threshold'
>> > >        argument: '40'
>> > >        argument: '
>> > > '
>> > > Option: '--feedback-xosd
>> > > '
>> > > Option: '--plugin'
>> > >        argument: '0
>> > > '
>> > > Option: '--human-printout'
>> > >        argument: '0
>> > > '
>> > > Option: '--request-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--reply-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--delivered-event-range'
>> > >        argument: '7-8'
>> > >        argument: '
>> > > '
>> > > Option: '--device-event-range'
>> > >        argument: '2-6'
>> > >        argument: '
>> > > '
>> > > Option: '--error-range'
>> > >        argument: '6-6'
>> > >        argument: '
>> > > '
>> > > Option: '--request-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--reply-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--delivered-event-range'
>> > >        argument: '12-12'
>> > >        argument: '
>> > > '
>> > > Option: '--device-event-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--error-range'
>> > >        argument: '6-6'
>> > >        argument: '
>> > > '
>> > > Option: '--request-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--reply-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0
>> > > '
>> > > Option: '--extension-request-major-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--delivered-event-range'
>> > >        argument: '20-21'
>> > >        argument: '
>> > > '
>> > > Option: '--device-event-range'
>> > >        argument: '0-0'
>> > >        argument: '
>> > > '
>> > > Option: '--error-range'
>> > >        argument: '6-6'
>> > >        argument: '
>> > > '
>> > > ####################################
>> > > #         System information       #
>> > > ####################################
>> > > # Date:                   2007:04:17
>> > > # Time:                   15:30:24
>> > > # Xnee program:           cnee
>> > > # Xnee version:           2.05
>> > > # Xnee home:              http://www.gnu.org/software/xnee/
>> > > # Xnee info mailing list: address@hidden
>> > > # Xnee bug mailing list:  address@hidden
>> > > # X version:              11
>> > > # X revision:             0
>> > > # X vendor:               The X.Org Foundation
>> > > # X vendor release:       60802000
>> > > # Record version major:   1
>> > > # Record version minor:   13
>> > > # OS name:                Linux
>> > > # OS Release:             2.6.9-42.0.3.ELsmp
>> > > # OS Version:             #1 SMP Fri Oct 6 06:21:39 CDT 2006
>> > > # Machine:                i686
>> > > # Nodename:               signup
>> > > # Display name:           :0.0
>> > > # Dimension:              1600x1200
>> > >
>> > > Program received signal SIGSEGV, Segmentation fault.
>> > > xnee_verbosef (xd=0x65443a30,
>> > >    msg=0x80625b4 "  else branch reached in
>> > xnee_expression_handle_prim\n")
>> > >    at print_varargs.c:55
>> > > 55        if ( (xd->verbose!=0) && (xd->err_file!=NULL) )
>> > >
>> > >
>> > > On 4/17/07, Kp <address@hidden> wrote:
>> > >>
>> > >> Is there something stupid that I'm probably doing? I can't
>> understand
>> > how
>> > >> a project that's been going on for such a long time, and is being
>> > used by
>> > >> quite a few, just doesn't work for me. Do you think it may have
>> > >> anything to
>> > >> do with the fact that I'm running Fedora Core 4, which is slightly
>> > old?
>> > >>
>> > >> Kp.
>> > >>
>> > >> On 4/17/07, Kp < address@hidden> wrote:
>> > >> >
>> > >> > Hi,
>> > >> >
>> > >> > I tried installing from CVS, and I'm getting a segmentation fault
>> > while
>> > >> > attempting replay. The output is below... Also, I could not run
>> gdb
>> >
>> > >> on the
>> > >> > older installation I have, since I 'yum install'-ed it, which
>> means
>> > >> I don't
>> > >> > have the sources.
>> > >> >
>> > >> > Anything else I could do?
>> > >> >
>> > >> > Thanks!
>> > >> >
>> > >> > address@hidden ~/Desktop $ /usr/local/bin/cnee --replay --verbose -f
>> > >> > ./gnumeric2.xnl
>> > >> >  ---> xnee_find_option_entry_impl
>> > >> >       xnee_find_option_entry_impl: "-f"
>> > >> >         Compare 'file'  'f'
>> > >> > ** Found key: 1   for option f at 0 in option array  (file)
>> > >> > Found cli entry for '-f' at position: 0
>> > >> >         long option: 'file'
>> > >> >         short option:'f'
>> > >> >         long option: 'file'
>> > >> >         short option:'f'
>> > >> > parse.c:348-->xnee_parse_cnee_option() Handling:
>> > 'CNEE_FILE_OPTION_KEY'
>> > >> > --> xnee_prepare
>> > >> > ---> xnee_open_files
>> > >> > ---  xnee_open_files: is replayer
>> > >> > ---  xnee_open_files: handling data (in)
>> > >> > ---  xnee_open_files: opening data: ./gnumeric2.xnl
>> > >> > --> xnee_rep_prepare
>> > >> >  ---> xnee_setup_recordext
>> > >> > Entering main loop (replayer) to read META data
>> > >> >  --- xnee_reset_elapsed_time
>> > >> > reset fake
>> > >> > handling comment: "####################################
>> > >> > "
>> > >> > comment data read: ####################################
>> > >> >
>> > >> > handling comment: "#         System information       #
>> > >> > "
>> > >> > comment data read: #         System information       #
>> > >> >
>> > >> > handling comment: "####################################
>> > >> > "
>> > >> > comment data read: ####################################
>> > >> >
>> > >> > handling comment: "# Date:                   2007:04:12
>> > >> > "
>> > >> > comment data read: # Date:                   2007:04:12
>> > >> >
>> > >> > handling comment: "# Time:                   12:06:43
>> > >> > "
>> > >> > comment data read: # Time:                   12:06:43
>> > >> >
>> > >> > handling comment: "# Xnee program:           cnee
>> > >> > "
>> > >> > comment data read: # Xnee program:           cnee
>> > >> >
>> > >> > handling comment: "# Xnee version:           2.05
>> > >> > "
>> > >> > comment data read: # Xnee version:           2.05
>> > >> >
>> > >> > handling comment: "# Xnee home:
>> > >> > http://www.gnu.org/software/xnee/
>> > >> > "
>> > >> > comment data read: # Xnee home:
>> > >> > http://www.gnu.org/software/xnee/
>> > >> >
>> > >> > handling comment: "# Xnee info mailing list: address@hidden
>> > >> > "
>> > >> > comment data read: # Xnee info mailing list: address@hidden
>> > >> >
>> > >> > handling comment: "# Xnee bug mailing list:   address@hidden
>> > >> > "
>> > >> > comment data read: # Xnee bug mailing list:  address@hidden
>> > >> >
>> > >> > handling comment: "# X version:              11
>> > >> > "
>> > >> > comment data read: # X version:              11
>> > >> >
>> > >> > handling comment: "# X revision:             0
>> > >> > "
>> > >> > comment data read: # X revision:             0
>> > >> >
>> > >> > handling comment: "# X vendor:               The X.Org Foundation
>> > >> > "
>> > >> > comment data read: # X vendor:               The X.Org Foundation
>> > >> >
>> > >> > handling comment: "# X vendor release:       60802000
>> > >> > "
>> > >> > comment data read: # X vendor release:       60802000
>> > >> >
>> > >> > handling comment: "# Record version major:   1
>> > >> > "
>> > >> > comment data read: # Record version major:   1
>> > >> >
>> > >> > handling comment: "# Record version minor:   13
>> > >> > "
>> > >> > comment data read: # Record version minor:   13
>> > >> >
>> > >> > handling comment: "# OS name:                Linux
>> > >> > "
>> > >> > comment data read: # OS name:                Linux
>> > >> >
>> > >> > handling comment: "# OS Release:             2.6.16-1.2069_FC4
>> > >> > "
>> > >> > comment data read: # OS Release:             2.6.16-1.2069_FC4
>> > >> >
>> > >> > handling comment: "# OS Version:             #1 Tue Mar 28
>> 12:19:10
>> > EST
>> > >> > 2006
>> > >> > "
>> > >> > comment data read: # OS Version:             #1 Tue Mar 28
>> 12:19:10
>> > EST
>> > >> > 2006
>> > >> >
>> > >> > handling comment: "# Machine:                i686
>> > >> > "
>> > >> > comment data read: # Machine:                i686
>> > >> >
>> > >> > handling comment: "# Nodename:               acer-kp.atlantis.com
>> > >> > "
>> > >> > comment data read: # Nodename:               acer-kp.atlantis.com
>> > >> >
>> > >> > handling comment: "# Display name:           :0
>> > >> > "
>> > >> > comment data read: # Display name:           :0
>> > >> >
>> > >> > handling comment: "# Dimension:              1280x800
>> > >> > "
>> > >> > comment data read: # Dimension:              1280x800
>> > >> >
>> > >> > handling comment: "##############################################
>> > >> > "
>> > >> > comment data read: ##############################################
>> > >> >
>> > >> > handling comment: "#      Xnee application arguments            #
>> > >> > "
>> > >> > comment data read: #      Xnee application arguments            #
>> > >> >
>> > >> > handling comment: "##############################################
>> > >> > "
>> > >> > comment data read: ##############################################
>> > >> >
>> > >> > handling comment: "#  cnee --record --keyboard --mouse
>> > >> > --events-to-record 400 --out-file
>> gnumeric2.xnl--delivered-event-range
>> > >> > Expose,MapRequest,LeaveNotify,EnterNotify
>> > >> > "
>> > >> > comment data read: #  cnee --record --keyboard --mouse
>> > >> > --events-to-record 400 --out-file
>> gnumeric2.xnl--delivered-event-range
>> > >> > Expose,MapRequest,LeaveNotify,EnterNotify
>> > >> >
>> > >> > handling comment: "##############################################
>> > >> > "
>> > >> > comment data read: ##############################################
>> > >> >
>> > >> > handling comment: "#      Displays                              #
>> > >> > "
>> > >> > comment data read: #      Displays                              #
>> > >> >
>> > >> > handling comment: "##############################################
>> > >> > "
>> > >> > comment data read: ##############################################
>> > >> >
>> > >> > handling comment: "# display :0
>> > >> > "
>> > >> > comment data read: # display :0
>> > >> >
>> > >> > handling comment: "distribute
>> > >> > "
>> > >> > handling settings: 'distribute
>> > >> > '
>> > >> > Option: 'distribute'
>> > >> >  ---> xnee_find_option_entry_impl
>> > >> >       xnee_find_option_entry_impl: "distribute"
>> > >> >         Compare 'err-file'  'distribute'
>> > >> >         Compare 'out-file'  'distribute'
>> > >> >         Compare 'display'  'distribute'
>> > >> >         Compare 'Dimension'  'distribute'
>> > >> >         Compare 'loops-left'  'distribute'
>> > >> >         Compare 'first-last'  'distribute'
>> > >> >         Compare 'all-events'  'distribute'
>> > >> >         Compare 'all-clients'  'distribute'
>> > >> >         Compare 'future-clients'  'distribute'
>> > >> >         Compare 'events-to-record'  'distribute'
>> > >> >         Compare 'data-to-record'  'distribute'
>> > >> >         Compare 'seconds-to-record'  'distribute'
>> > >> >         Compare 'stop-key'  'distribute'
>> > >> >         Compare 'pause-key'  'distribute'
>> > >> >         Compare 'resume-key'  'distribute'
>> > >> >         Compare 'insert-key'  'distribute'
>> > >> >         Compare 'exec-key'  'distribute'
>> > >> >         Compare 'exec-key'  'distribute'
>> > >> >         Compare 'time'  'distribute'
>> > >> >         Compare 'speed-percent'  'distribute'
>> > >> >         Compare 'recorded-resolution'  'distribute'
>> > >> >         Compare 'replay-resolution'  'distribute'
>> > >> >         Compare 'resolution-adjustment'  'distribute'
>> > >> >         Compare 'record'  'distribute'
>> > >> >         Compare 'replay'  'distribute'
>> > >> >         Compare 'distribute'  'distribute'
>> > >> > ** Found key: 26   for option distribute at 25 in option array
>> > >> > (distribute)
>> > >> > Found xns entry for 'distribute' '(null)' at position: 25
>> > >> >         long option: '134617369'
>> > >> >         short option:'134617380'
>> > >> >         long option: 'distribute'
>> > >> >         short option:'di'
>> > >> > xnee_resource.c:1215-->xnee_parse_option_impl() Handling:
>> > >> > 'XNEE_DISTRIBUTE_KEY'
>> > >> > Segmentation fault
>> > >> >
>> > >> > Kp.
>> > >> >
>> > >> > On 4/16/07, Kp <address@hidden > wrote:
>> > >> > >
>> > >> > > Hi,
>> > >> > >
>> > >> > > No, I haven't... I'll try this tomorrow first thing and let you
>> > know.
>> > >> > > Thanks!
>> > >> > >
>> > >> > > Kp.
>> > >> > >
>> > >> > > On 4/16/07, Henrik Sandklef < address@hidden> wrote:
>> > >> > > >
>> > >> > > > BTW, have you tried using the latest nightly dist[1] since
>> this
>> > bug
>> > >> > > > may
>> > >> > > > already have been fixed..
>> > >> > > >
>> > >> > > > /hesa
>> > >> > > >
>> > >> > > > [1] http://www.sandklef.com/xnee/nightly-dists/
>> > >> > > >
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> > > --
>> > >> > > There once was a racer named Fisk
>> > >> > > Who took a considerable risk
>> > >> > > When his dragster got traction
>> > >> > > The Fitzgerald contraction
>> > >> > > Reduced his wazoo to a disc
>> > >> > >
>> > >> >
>> > >> >
>> > >> >
>> > >> > --
>> > >> > There once was a racer named Fisk
>> > >> > Who took a considerable risk
>> > >> > When his dragster got traction
>> > >> > The Fitzgerald contraction
>> > >> > Reduced his wazoo to a disc
>> > >> >
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> There once was a racer named Fisk
>> > >> Who took a considerable risk
>> > >> When his dragster got traction
>> > >> The Fitzgerald contraction
>> > >> Reduced his wazoo to a disc
>> > >>
>> > >
>> > >
>> > >
>> >
>> >
>>
>>
>> -- 
>> There once was a racer named Fisk
>> Who took a considerable risk
>> When his dragster got traction
>> The Fitzgerald contraction
>> Reduced his wazoo to a disc
>>
> 
> 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]