On Thu, 6 Feb 2014, Reginald Beardsley wrote:

FWIW

You can overflow the stack with automatic variables. I've run into this many times with large arrays in main() and elsewhere. The symptom is SEGV on entry to the function. It's not uncommon to encounter code that works fine on several systems, but SEGVs on another.

Solaris provides a quite generous stack size (10,240 kbytes vs 8192 kbytes for Linux). Multithreaded programs can get themselves into trouble if they request to reduce the thread stack and the request is too small.

Initialization is always the hardest part. If C++ code is involved with statically allocated objects, then it is easy for bad things to happen since initalization order is somewhat arbitrary and may depend on the order the objects were provided to the linker. Even with C, bad things can happen if assumptions are made regarding uninitialized data values.

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to