Compiled software can not read UTF-8 characters using readFile when run via Upstart
Honestly I dont know if this is a problem with Upstart or ghc.
I'm Using Ubuntu 14
Create a software that reads from a file containing UTF-8 characters. Compile the program. Running the program from the terminal works but not if you run it via Upstart. It will crash with the following error: "hGetContents: invalid argument (invalid byte sequence)"
Minimal Example: Main.hs:
module Main where
main :: IO ()
main = readFile "ex.txt" >>= putStr
ex.txt:
å
Place ex.txt and the compiled program "Comp" in the same directory "/the/path/"
/etc/init/bug-test.conf:
start on runlevel [2345]
stop on runlevel [^2345]
chdir /the/path/
exec ./Comp
If you run ./Comp from the terminal it works. But if you run "sudo service bug-test start" and then check "/var/log/upstart/bug-test.log" you will see that it has crashed.
Trac metadata
Trac field | Value |
---|---|
Version | 7.10.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |