bugMIT/GNU Scheme - Bugs: bug #36757, Microcode seg faults under 64-bit...

 
 

bug #36757: Microcode seg faults under 64-bit NetBSD 5.1.2 (amd64)

Submitter:  Henry Wu <mhwu>
Submitted:  Sat 30 Jun 2012 07:32:32 PM UTC
   
 
Category:  microcode Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect behavior
Status:  Fixed Privacy:  Public
Assigned to:  riastradh Originator Name: 
Open/Closed:  Closed
Keywords: 
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 30 Aug 2013 05:46:41 PM UTC, comment #1: 

I believe all these issues are fixed now.  I fixed the heap allocation code in MIT Scheme so it should work on NetBSD again.  On NetBSD 6 there was an issue with fenv lossage, but I fixed that in NetBSD's libm a while ago and the fix has been pulled up to NetBSD 6 (https://releng.netbsd.org/cgi-bin/req-6.cgi?show=477 and https://releng.netbsd.org/cgi-bin/req-6.cgi?show=899).  I have been running MIT Scheme under NetBSD 6 on amd64 happily for a while now.  Let me know if you have any further problems.

Taylor R. Campbell <riastradh>
Group Member
Sat 30 Jun 2012 07:32:32 PM UTC, original submission:  

The microcode immediately quits upon invocation with a segmentation fault under the captioned OS.

Upon further investigation, it is system function mmap called with MAP_FIXED that seg faults.  Calling code is in memmag.c -> ux.c

If I force mmap never to be called with MAP_FIXED (letting the surrounding code return failure rather than letting it fault), then the runtime tries to start, but immediately quits within Scheme reporting: "SIGSEGV ... Address not mapped to object ..." and then end of stream without further chance to interact.  But the runtime ran enough to print [error] prompts and such.

I don't immediately understand how the current C memory allocation scheme works to know how to proceed further to debug ... but from a cursory glance, MAP_FIXED should be allowed to fail like the way I forced it and the system should still recover.

Henry

Henry Wu <mhwu>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #27247:  patch-microcode_ux.c added by olgeni (510B - text/x-csrc - The core dump issues may be fixes with the attached patch. After that, at least on FreeBSD, I had to hack config.h.in to enable some fenv.h function, as the configure script was not able to pick them up for some reason that I couldn't figure out.)
file #27248:  patch-microcode_config.h.in added by olgeni (1KiB - application/octet-stream - The core dump issues may be fixes with the attached patch. After that, at least on FreeBSD, I had to hack config.h.in to enable some fenv.h function, as the configure script was not able to pick them up for some reason that I couldn't figure out.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by riastradh (Posted a comment)
  • -email is unavailable- added by olgeni (Updated the item)
  • -email is unavailable- added by mhwu (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-08-30 riastradh StatusNone Fixed
        Assigned toNone riastradh
        Open/ClosedOpen Closed
    2013-01-12 olgeni Attached File- Added patch-microcode_ux.c, #27247
        Attached File- Added patch-microcode_config.h.in, #27248

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code