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: microcodeSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Incorrect behavior
Status: FixedPrivacy: Public
Assigned to: Taylor R. Campbell <riastradh>Originator Name: 
Open/Closed: Closed
Keywords: 

Add a New Comment (Rich MarkupRich 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 File(s):
   
   
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 (1kB - 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
  • -unavailable- added by riastradh (Posted a comment)
  • -unavailable- added by olgeni (Updated the item)
  • -unavailable- added by mhwu (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 30 Aug 2013 05:46:41 PM UTCriastradhStatusNone=>Fixed
      Assigned toNone=>riastradh
      Open/ClosedOpen=>Closed
    Sat 12 Jan 2013 10:27:25 PM UTColgeniAttached File-=>Added patch-microcode_ux.c, #27247
      Attached File-=>Added patch-microcode_config.h.in, #27248

    Back to the top


    Powered by Savane 3.1-cleanup