• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • FMSLogo
  • Bugs
FMSLogo

3d graphic code stalls

A Logo programming environment for Microsoft Windows

Brought to you by: david_costanzo
  • Summary
  • Files
  • Reviews
  • Support
  • Tickets ▾
    • Feature Requests
    • Bugs
    • Support Requests
  • Discussion
  • Code
Menu ▾ ▴
  • Create Ticket
  • View Stats

Group

  • v_6.06x
  • v_6.07.X
  • v_6.08.X
  • v_6.10.X
  • v_6.11.X
  • v_6.13.X
  • v_6.22.X
  • v_6.25.X
  • v_6.26.X
  • v_6.27.X
  • v_6.28.X
  • v_6.29.X

Searches

  • Changes
  • Closed Tickets
  • Open Tickets

Help

  • Formatting Help

#592 3d graphic code stalls

v_6.06x
closed-fixed
nobody
None
5
2024-05-11
2024-05-02
DanielAjoy
No

I had some 3d shapes someone shared on the LogoForum and I tried to run them again. I opened the attached file.

I typed:

aaa

in the command center.

The first shape starts to be drawn but just before it finishes it stalls and my laptop starts overheating. The process never ends. I have to kill the FMSLogo app.

1 Attachments
3d-u-plot.LGO

Discussion

  • David Costanzo

    David Costanzo - 2024-05-03
    • status: open --> open-accepted
     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2024-05-03

    I was able to reproduce the problem as far back as FMSLogo 7.0.0. I was unable to reproduce it on FMSLogo 6.35.0 OWL or FMSLogo 6.35.0 wxWidgets. CHANGELOG.TXT gives a lot of changes for FMSLogo 7.0.0, but very few related to 3D graphics.

    I ran the program under valgrind on GNU/Linux and it reported some heap corruption (freed memory read) deep in the BSP tree construction.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2024-05-06

    I managed to compile the source code for FMSLogo 6.35.0 wxWidgets with the build tools that I currently use to compile the 8.X series. I was not able to reproduce the problem in the resulting executable. This suggests that this is a regression that I made to the source code, not a change to the compiler or the C runtime.

    In looking at the difference in the polygon code (threed.cpp and 3dsolid.cpp), it looks like I cleaned up 3dsolid.cpp by removing, among other thing, the precompiler switches NO_ASM and SHARED and retained whatever code was used in FMSLogo 6.35.0 (removed the #ifdef NO_ASM blocks and kept the #ifdef SHARED blocks). I see two mistakes that I made in this process.

    I released FMSLogo 7.0.0 (the first version with the bug) on 2017-02-22. It took more than seven years for someone to find the regression. I have some simple polygon regression tests, but nothing complex. This suggests that no one has use the polygon functionality for something this complex in seven years.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • DanielAjoy

    DanielAjoy - 2024-05-06

    This suggests that no one has use the polygon functionality for something this complex in seven years.

    That's why I wanted to resurface them again. So that more people are aware that FMSLogo is capable of doing those things. All I see as Logo Youtube videos is children drawing squares.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2024-05-08
    • status: open-accepted --> closed-fixed
     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2024-05-08

    This is fixed by [r6046]. I fixed this by comparing the current 3dsolid.cpp with the 3dsolid.cpp from 6.35.0 and correcting mistakes I made when cleaning it up. I do not claim to understand the code.

    This fix will be available in FMSLogo 8.4.0.

     

    Related

    Commit: [r6046]

    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • DanielAjoy

    DanielAjoy - 2024-05-09

    thanks! appreciate it.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2024-05-11

    By the way, the code you attached demonstrates a second bug in FMSLogo. For example, vecprod is implemented as:

    to vecprod :k :vec
    if empty? :vec [[] stop]
    op fput (:k* first :vec) vecprod :k bf :vec
    end
    

    The first line should just be

    if empty? :vec [stop]
    

    When run in UCBLogo it throws an error

    ? vecprod 2 [1 2 3]
    You don't say what to do with []  in vecprod
    [if empty? :vec [[] stop]]
    

    I think UCBLogo has the correct behavior. If you want to post this code, be aware that I may fix this second bug in a future version of FMSlogo, which would render the program unrunnable.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:

Log in to post a comment.

SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2026 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
mdb logo