#953 Segmentation fault when library tokenised

None
open
nobody
none
5
2013-11-22
2010-10-29
Swifty
No

Summary: A simple program gets a Segmentation Fault if the Library that it ::Requires is tokenised with rexxc.
The program is irrelevant; its code is "Say arg(1)". It contains the directive:

::Requires 'climate.rex'

... If climate.rex is my rexx source, the program works. if climate.rex has been tokenised with rexxc then we get the Segmentation Fault.

I'm happy to share the source of climate.rex with the developers, but prefer not to attach it to this report.

Climate.rex in turn ::requires 'subroutines.rex' - a much larger library, also tokenised, which seems to cause no problem when used by itself. I'm happy to share this with the developers as well.

Discussion

  • Swifty

    Swifty - 2010-10-29

    My apologies; The system is Debian Linux. I can supply the details if you tell me how to get them.

     
  • Rick McGuire

    Rick McGuire - 2010-10-29

    I'm not able to recreate this with a simple test, so I think you'll need to send this to me for debugging. please email both the source and the tokenized versions to object.rexx@gmail.com

     
  • Mark Miesfeld

    Mark Miesfeld - 2010-11-01

    Steve,

    What happens if you re-tokenize the source file on the system you get the crash? Does the crash still happen if you use a freshly tokenized file? Being sure to save the file that produces the crash of course.

    Files can get corrupted; it doesn't happen often, but it's not impossible either.

     
  • Swifty

    Swifty - 2010-11-04

    Re-tokenising both of the libraries made no difference. I had to do this anyway, as I was porting from a system with an incompatible version of REXX. So I re-tokenised them again. I also verified that the rexx and rexxc executables are compatible (both 4.0.1) since we've also had 4.0 on this system.
    I gathered the stack trace that I appended with the command "strace rexx say 1". If you want other options, just let me know.

     
  • Rick McGuire

    Rick McGuire - 2013-11-22
    • Pending work items: --> none
    • Group: v4.0.1 --> None
     
  • Swifty

    Swifty - 2013-11-23

    I can't deduce what this email (and the similar one) is trying to tell me.
    But if we're just forgetting this, I'd like to set your mind at rest.

    In truth, I've lost interest in this matter.

    I started off tokenising my (huge) subroutines.src on the basis that my
    programs would get into execution faster, because they skipped the
    tokenisation step. Most of my programs build webpages (the CGI mechanism
    which existed before Computer Generated Imagery) and shaving a tenth of a
    second off the startup time made my website feel more responsive.

    However, the tokenised script is much larger, so more I/O is needed to load
    it. But if it is used frequently, it will get cached... but newer systems
    have faster CPU's ... and eventually I reached "oh, sod-it, I'll just do
    what I want and to hell with all this".

    The upshot of this is that my subroutines.rex stayed tokenised inside IBM
    (because it exposed certain algorithms which could have been classified
    "confidential"), but once I retired, I reverted to running subroutines.rex
    from source. The PC I bought myself in 2012 had four of the fastest Intel
    dual-processor chips that money could buy and 16Gb of RAM and an SSD C:
    drive. In theory, Moores Law not withstanding, this will be fast enough for
    anything that I ever throw at it in this lifetime. So, I waste no more time
    pondering the pro's and con's of pre-compiling.

    Incidentally, I use REXXC.EXE inside my editor; the keystroke "Alt-S" uses
    REXXC.EXE to syntax check REXX source code. I just don't use the tokenised
    output from it.

    On 22 November 2013 22:07, Rick McGuire bigrixx@users.sf.net wrote:

    • Pending work items: --> none
    • Group: v4.0.1 --> None

    Status: open
    Labels: Interpreter
    Created: Fri Oct 29, 2010 05:00 PM UTC by Swifty
    Last Updated: Tue Aug 14, 2012 06:18 PM UTC
    Owner: nobody

    Summary: A simple program gets a Segmentation Fault if the Library that it
    ::Requires is tokenised with rexxc.
    The program is irrelevant; its code is "Say arg(1)". It contains the
    directive:

    ::Requires 'climate.rex'

    ... If climate.rex is my rexx source, the program works. if climate.rex
    has been tokenised with rexxc then we get the Segmentation Fault.

    I'm happy to share the source of climate.rex with the developers, but
    prefer not to attach it to this report.

    Climate.rex in turn ::requires 'subroutines.rex' - a much larger library,
    also tokenised, which seems to cause no problem when used by itself. I'm
    happy to share this with the developers as well.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/oorexx/bugs/953/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

    --
    Steve Swift
    http://www.swiftys.org.uk

     


Anonymous

Cancel  Add attachments





Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks