Ticket #250 (closed bug: Fixed)

Opened 9 years ago

Last modified 43 years ago

getUserEntryForID dies

Reported by: nobody Owned by: nobody
Priority: normal Milestone:
Component: libraries/unix Version: None
Keywords: Cc:
Operating System: Architecture:
Type of failure: Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The following program dies with an "Illegal
instruction" error:

   module Main where

   import System.Posix.User

   main = do getUserEntryForID 0
             return ()

This is also the case for all the other uids I tried.

I'm running ghc 6.2.1 on Solaris 9.

- Ed

Change History

Changed 9 years ago by volkersf

Logged In: YES 
user_id=126328

Indeed a bug. The library uses the POSIX-signature which has different 
arguments from Solaris 9 own getpwduid_r. The .hsc-file must be compiled 
with _POSIX_PTHREAD_SEMANTICS like e.g. from libraries/base/cbits/
dirUtils.c.

Changed 9 years ago by volkersf

  • status changed from assigned to closed
Logged In: YES 
user_id=126328

Fixed in CVS and I expect it to be available in the upcoming 6.2.2. This 
turned out to be much more tricky after all: Solaris defines some functions 
in system headers which the mangler mangled to death when it should leave 
them untouched.
Note: See TracTickets for help on using tickets.