X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/90d7a44a10f763abca26651bd6c622f970c9a9d8..b7a0bd6d14b9d12d0caf498e34c54f7842a7edc7:/doc/FAQ.doc
diff --git a/doc/FAQ.doc b/doc/FAQ.doc
index bc4636b64f..0aac3fa350 100644
--- a/doc/FAQ.doc
+++ b/doc/FAQ.doc
@@ -24,12 +24,13 @@ make
make install
\endverbatim
-If at some point, something fails, you can report this problem to the list
-but, please, avoid sending a laconic mail like "There is a problem. Is it
-normal?". Send the config.log file which is automatically generated by
-configure. Try to capture both the standard output and the error output of
-the make command with script. There is no way for us to
-help you without the relevant bits of information.
+If at some point, something fails, check the section "\ref
+faq_compil_trouble". If it does not help, you can report this problem to the
+list but, please, avoid sending a laconic mail like "There is a problem. Is it
+okay?". Send the config.log file which is automatically generated by
+configure. Try to capture both the standard output and the error output of the
+make command with script. There is no way for us to help you
+without the relevant bits of information.
Now, the following directory should have been created :
@@ -707,6 +708,17 @@ An example of this trick is distributed in the file examples/msg/msg_test_surfxm
\section faq_troubleshooting Troubleshooting
+\subsection faq_compil_trouble ./configure fails!
+
+We now only one reason for the configure to fail:
+
+ - You are using a borken build environment\n
+ If symptom is that configure complains about gcc not being able to build
+ executables, you are probably missing the libc6-dev package. Damn Ubuntu.
+
+If you experience other kind of issue, please get in touch with us. We are
+always interested in improving our portability to new systems.
+
\subsection faq_distcheck_fails Dude! "make check" fails on my machine!
Don't assume we never run this target, because we do. Really. Promise!
@@ -721,9 +733,6 @@ machine:
4.0 gcc compiler. This version happens to be completely unusable, and you
should install a gcc-3.4 compiler and change the /usr/bin/gcc link to let
it point on /usr/bin/gcc-3.4.
- - You are using a borken build environment\n
- If symptom is that configure complains about gcc not being able to build
- executables, you are probably missing the libc6-dev package. Damn Ubuntu.
- You are using a borken libc (probably concerning the contextes).\n
The symptom is that the "make check" fails within the examples/msg directory.\n
By default, SimGrid uses something called ucontexts. This is part of the
@@ -799,6 +808,43 @@ Here are some tricks I had to use in order to run a token ring between
low, you'll get a segfault. The token ring example, which is quite simple,
runs with 40kb stacks.
+\subsection faq_longjmp longjmp madness
+
+This is when valgrind starts complaining about longjmp things, just like:
+
+\verbatim ==21434== Conditional jump or move depends on uninitialised value(s)
+==21434== at 0x420DBE5: longjmp (longjmp.c:33)
+==21434==
+==21434== Use of uninitialised value of size 4
+==21434== at 0x420DC3A: __longjmp (__longjmp.S:48)
+\endverbatim
+
+or even when it reports scary things like:
+
+\verbatim ==24023== Warning: client switching stacks? SP change: 0xBE3FF618 --> 0xBE7FF710
+x86->IR: unhandled instruction bytes: 0xF4 0xC7 0x83 0xD0
+==24023== to suppress, use: --max-stackframe=4194552 or greater
+==24023== Your program just tried to execute an instruction that Valgrind
+==24023== did not recognise. There are two possible reasons for this.
+==24023== 1. Your program has a bug and erroneously jumped to a non-code
+==24023== location. If you are running Memcheck and you just saw a
+==24023== warning about a bad jump, it's probably your program's fault.
+==24023== 2. The instruction is legitimate but Valgrind doesn't handle it,
+==24023== i.e. it's Valgrind's fault. If you think this is the case or
+==24023== you are not sure, please let us know.
+==24023== Either way, Valgrind will now raise a SIGILL signal which will
+==24023== probably kill your program.
+==24023==
+==24023== Process terminating with default action of signal 4 (SIGILL)
+==24023== Illegal opcode at address 0x420D234
+==24023== at 0x420D234: abort (abort.c:124)
+\endverbatim
+
+This is the sign that you didn't used the exception mecanism well. Most
+probably, you have a return; somewhere within a TRY{}
+block. This is evil, and you must not do this. Did you read the section
+about \ref XBT_ex??
+
\subsection faq_flexml_limit I get the message "surf_parse_lex: Assertion `next<limit' failed."
This is because your platform file is too big for the parser.