haskell-hvr / hslogger

Logging framework for Haskell
https://hackage.haskell.org/package/hslogger
BSD 3-Clause "New" or "Revised" License
64 stars 36 forks source link

Error in SDL application on Windows #25

Open EPashkin opened 10 years ago

EPashkin commented 10 years ago

Error occurs when attempting to log anything in SDL application

: hPutChar: invalid argument (Bad file descriptor)

I made test application in EPashkin/hslogger_SDL_test bad branch Problem can be fixed on application side if call removeAllHandlers before any log action (ex. in start setupLogger). Source of problem is very strange value of stderr. Don't found way detect it, stderr still opened and writable. Simply hPutChar stderr 'g' will also fail.

P.S. Failing handler IMHO created in System.Log.Logger.logTree. P.P.S. ~~When application started from console (cabal run) it works fine even on WARNING, but hPutChar stderr 'g' still failing.~~ (Sorry, was wrong. Error still showing.)

expipiplus1 commented 4 years ago

This is not specific to hslogger and seems to happen in any application linked with SDL2 when run using stack run on windows

BuBuMan commented 3 years ago

@expipiplus1 Did you find a solution for it?

expipiplus1 commented 3 years ago

@BuBuMan Can't remember, sorry!

Perhaps it's this: https://github.com/haskell-game/sdl2/issues/86#issuecomment-523928830

(so adding -optl-mconsole might fix it)