[Haskell-cafe] Getting segmentation fault when profiling, despite `-K100M'.
Niklas Larsson
metaniklas at gmail.com
Tue Aug 16 19:45:14 CEST 2011
Reading a bit closer I assume you have already done that. Sorry for that.
Regards,
Niklas
2011/8/16 Niklas Larsson <metaniklas at gmail.com>:
> If you want to call a Haskell function from C you should do a "foreign
> export" of the function, that will create a stub function with C
> calling convention that you can call.
>
> Regards,
> Niklas
>
> 2011/8/16 David Banas <dbanas at banasfamily.net>:
>> Hi all,
>>
>> I'm trying to profile a mixed language program, in which Haskell is NOT
>> the top layer and does not contain the `main' function. (C is/does.)
>>
>> Is this effort doomed to fail?
>>
>> I'm getting a segmentation fault, as soon as the first Haskell function
>> is called, despite having included `-K100M' in my list of +RTS args:
>>
>> 19 int argc = 5;
>> 20 char* argv[] = {"ghcDll",
>> 21 "+RTS",
>> 22 "-hc",
>> 23 "-p",
>> 24 "-K100M",
>> 25 NULL}; // argv must end with NULL
>> 26
>> 27 // Initialize Haskell runtime
>> 28 char** args = argv;
>> 29 hs_init(&argc, &args);
>>
>> Using gdb to trace through the C-code, up until the first call to
>> Haskell, I get to here:
>>
>> 64 // Call the Haskell function.
>> 65 res = amiInit(
>> 66 impulse_matrix,
>> 67 row_size,
>>
>> Here's the beginning of `amiInit':
>>
>> 41 -- Our Haskell implementation of `AMI_Init'.
>> 42 amiInit :: Ptr CDouble -> CInt -> CInt -> CDouble -> CDouble ->
>> 43 CString -> Ptr CString -> Ptr (StablePtr AmiModel) -> Ptr
>> CString -> IO Int
>> 44 amiInit impulse_matrix row_size aggressors sample_interval bit_time
>> 45 ami_parameters_in ami_parameters_out ami_memory_handle
>> msgHndl
>> 46 | impulse_matrix == nullPtr = return 0
>> 47 | otherwise = do
>> 48 putStrLn "I'm here."
>>
>> I never see "I'm here." printed to my console, before I get the
>> segmentation fault.
>>
>> Any thoughts?
>>
>> Thanks,
>> -db
>>
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
More information about the Haskell-Cafe
mailing list