summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar http://joeyh.name/ <http://joeyh.name/@web>2014-02-08 20:56:11 +0000
committerGravatar admin <admin@branchable.com>2014-02-08 20:56:11 +0000
commit3419dbf529648252ea29f3cce90164bfda27cbf5 (patch)
treeee186280543086f39904229e9e98b0b39b0f6e0d
parent5270c97bed0d09564c9c70cfe2c8ee8dcebfbd2d (diff)
Added a comment
-rw-r--r--doc/bugs/More_build_oddities_under_OpenBSD/comment_15_ad4b7191c9b8f67def33b26a1d762a5d._comment26
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/bugs/More_build_oddities_under_OpenBSD/comment_15_ad4b7191c9b8f67def33b26a1d762a5d._comment b/doc/bugs/More_build_oddities_under_OpenBSD/comment_15_ad4b7191c9b8f67def33b26a1d762a5d._comment
new file mode 100644
index 000000000..4aeda69eb
--- /dev/null
+++ b/doc/bugs/More_build_oddities_under_OpenBSD/comment_15_ad4b7191c9b8f67def33b26a1d762a5d._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="209.250.56.163"
+ subject="comment 15"
+ date="2014-02-08T20:56:10Z"
+ content="""
+I think you need to find which calls to setSocketOption are failing and/or what value is causing the crash. It's a bit of a pain to get a backtrace on error (would need to build everything with profiling enabled and run git-annex with +RTS -xc options). Probably simplest to modify the setSocketOption code:
+
+[[!format patch \"\"\"
+diff --git a/Network/Socket.hsc b/Network/Socket.hsc
+index 2fe62ee..0c66432 100644
+--- a/Network/Socket.hsc
++++ b/Network/Socket.hsc
+@@ -963,7 +963,7 @@ setSocketOption :: Socket
+ setSocketOption (MkSocket s _ _ _ _) so v = do
+ (level, opt) <- packSocketOption' \"setSocketOption\" so
+ with (fromIntegral v) $ \ptr_v -> do
+- throwSocketErrorIfMinus1_ \"setSocketOption\" $
++ throwSocketErrorIfMinus1_ (\"setSocketOption \" ++ show so ++ \" \" ++ show v) $
+ c_setsockopt s level opt ptr_v
+ (fromIntegral (sizeOf (undefined :: CInt)))
+ return ()
+\"\"\"]]
+
+Which should make it print out a quite nice symbolic name of the option being used on failure, which will make it easy to find any call sites and more importantly, determine what's wrong with that option.
+"""]]