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)

Submitted by:  Henry Wu <mhwu>
Submitted on:  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:  Taylor R. Campbell <riastradh> Originator Name: 
Open/Closed:  Closed
Keywords: 

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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>
Project MemberIn charge of this item.
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>
Project 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)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    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.3