Segfault when handling __m128i

Hi,
the below code segfaults when compiled with -m32, but runs fine when built with -m64 or when built with gcc regardless of the 32/64 bits.
A slight shift of the cast makes the segfault go away (below).
Is it a bug in CC or is there something else in it?
(this is with 12.3beta and 12.1)
TIA for any hints
failing code:
<pre>
#include <cstdlib>
#ifdef __SUNPRO_CC
#include <sys/emmintrin.h>
#else
#include <xmmintrin.h>
#endif
int main(int argc, char** argv) {
const unsigned char s1[16] = {0U,1U,2U,3U,4U,5U,6U,7U,8U,9U,10U,11U,12U,13U,14U,15U};
const unsigned char *s2 = s1;
int x = 0;
__m128i top = mmloadu_si128((__m128i*)((const unsigned int *)(s2)+x));
return 0;
</pre>
non-failing code:
<pre>
#include <cstdlib>
#ifdef __SUNPRO_CC
#include <sys/emmintrin.h>
#else
#include <xmmintrin.h>
#endif
int main(int argc, char** argv) {
const unsigned char s1[16] = {0U,1U,2U,3U,4U,5U,6U,7U,8U,9U,10U,11U,12U,13U,14U,15U};
const unsigned char *s2 = s1;
int x = 0;
__m128i* qqq = (__m128i*)((const unsigned int *)(s2)+x);
__m128i top = mmloadu_si128(qqq);
return 0;
</pre>

Take a look at the bug I have filed in the middle of Nov 2011. Under some conditions the Oracle C++ compilers won't even compile SSE2 code.
*2011-11-14 15:42:54.85 EMAIL SENT BY* ****
From: *** ****
Subject: Re: (Incident Review ID: 2127676) C++ compiler crash when compiling SSE2 code.
Hi Konstantin, we have verified this bug against our latest build and it is no longer reproducible.
Report
<font face="courier">
    category : compiler
 subcategory : ube
     release : spica
        type : bug
    synopsis : C++ compiler crash when compiling SSE2 code.
      sdn id :
    hardware : x86
          os : solaris_10
      bug id : 0
date created : Mon Nov 14 04:19:23 MST 2011
   date eval : Mon Nov 14 15:42:59 MST 2011
</font>
ADDITIONAL OS VERSION INFORMATION :
uname -a: SunOS jabba 5.11 snv_130 i86pc i386 i86pc
This is a "SXCE snv_130 X86 (14 Dec 2009)" system running 32-bit kernel.
EXTRA RELEVANT SYSTEM CONFIGURATION :
$ CC -V
CC: Sun C++ 5.12 SunOS_i386 Spica 2011/07/21
A DESCRIPTION OF THE PROBLEM :
Compiling this peace of code results in compiler crash if optimization level is not zero:
#include <emmintrin.h>
class A {
public:
    ~A() {};
    char *data();
static A
foo(const short *src) {
    A a;
    char *dst = a.data();
    __m128i chunk = _mm_loadu_si128((__m128i*)src);
    const __m128i rv = _mm_packus_epi16(chunk, chunk);
    _mm_storeu_si128((__m128i*)dst, rv);
    return a;
A
bar() {
    short u[3];
    return foo(u);
}| $ CC -xO1 -c -xarch=sse2 -o t.o t.C
|  
| assertion failed in function unzip() @ fall_thru.c:521
| assert(nd_not_null_(start_label))
|  
| CC: ube failed for t.C
Compiling very similar peace of code results in compiler crash in ir2hf:
#include <emmintrin.h>
class A {
public:
    ~A() {};
    char *data();
static A
foo(const short *src) {
    A a;
    __m128i chunk = _mm_loadu_si128((__m128i*)src);
    const __m128i rv = _mm_packus_epi16(chunk, chunk);
    _mm_storeu_si128((__m128i*)a.data(), rv);
    return a;
A
bar() {
    short u[3];
    return foo(u);
}| $ CC -xO1 -c -xarch=sse2 -o t.o t.C
| CC: Fatal error in /opt/SUNWspro/prod/bin/ir2hf
| CC: Status 139
I nominate this bug as regression, because "Sun Studio Express 2009/03" compiles this code flawlessly.
With that, I shall strongly emphasize that SSX0903 is also buggy compiling SSE2 code. Below is the test case to crash SSX0903 C++, and that bug may still present in 12u3b release, but hidden by the front bug. I kindly invite the developers to check this bug too.
Here is a test case to crash SSX0903:
#include <emmintrin.h>
class A {
public:
    char *data();
static A
foo(const short *src) {
    A a;
    char *dst = a.data();
    for ( int i = 0; i < 1; ++ i ) {
        __m128i chunk1 = _mm_loadu_si128((__m128i*)src);
        __m128i chunk2 = _mm_loadu_si128((__m128i*)src);
        const __m128i rv = _mm_packus_epi16(chunk1, chunk2);
        _mm_storeu_si128((__m128i*)dst, rv);
    return a;
A
bar()
    short u[8];
    return foo(u);
}| $ CC -V
| CC: Sun Ceres C++ 5.10 SunOS_i386 2009/03/06
| $ CC -xO2 -c -xarch=sse2 -o t.o t.C
| Assembler: t.C
| "/tmp/ube.10982.6.s", line 63 : Syntax error
| Near line: "{ 14 } movdqa (%xmm0),%xmm1 "
REGRESSION Last worked in version ossx10.06
REPRODUCIBILITY This bug can be reproduced always.

Similar Messages

  • OpenCV SEGFAULT when using imshow functions

    Hello,
    recently, when I run my OpenCV application on archlinux, I get a segfault when using  OpenCV's imshow() functions for displaying the video output. This still worked some weeks ago and I did not change my code since then.
    The error is related to GTK+ which causes the segfault after OpenCV uses the gtk_init() function.
    This is the stacktrace:
    #0  0x00000000006328a0 in signal ()
    #1  0x00007ffff1dff264 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #2  0x00007ffff1524427 in g_option_context_parse ()
       from /usr/lib/libglib-2.0.so.0
    #3  0x00007ffff1dff80e in gtk_parse_args ()
       from /usr/lib/libgtk-x11-2.0.so.0
    #4  0x00007ffff1dff869 in gtk_init_check ()
       from /usr/lib/libgtk-x11-2.0.so.0
    #5  0x00007ffff1dff899 in gtk_init () from /usr/lib/libgtk-x11-2.0.so.0
    #6  0x00007ffff6a1fa38 in cvInitSystem ()
       from /usr/lib/libopencv_highgui.so.2.4
    #7  0x00007ffff6a20163 in cvNamedWindow ()
       from /usr/lib/libopencv_highgui.so.2.4
    #8  0x00007ffff6a20cfd in cvShowImage ()
       from /usr/lib/libopencv_highgui.so.2.4
    #9  0x00007ffff6a1c7f7 in cv::imshow(std::string const&, cv::_InputArray const&) () from /usr/lib/libopencv_highgui.so.2.4
    #10 0x00000000004187e0 in StereoMatrix::displayImages (this=0x7fffffffd6ff)
        at /home/user/mtdev/src/StereoMatrix.cpp:51
    #11 0x000000000041861a in StereoMatrix::generateStereoMat (
        this=0x7fffffffd6ff, input=..., resizeMat=false)
    I'm running the recent version of OpenCV from the repositories:
    extra/opencv 2.4.6.1-3
    Apart from that my system is also up-to-date.
    Can anyone reproduce this error or has an idea what causes it?
    Thanks

    Hi Thanks for the response
    Still beavering away at this but have made sizeable progress since this post.
    First off I ma looking for solutions within CVI and not LabView but I often find that if there is a solution in Labview then there is often one in CVI so my question becomes.....does Labview allow for capture of a 10 bit image? That is my biggest stumbling block.
    My solution so far involves writing a C wrapper dll for the existing C++ SDK that is supplied with these cards in Visual studio then using it within CVI.
    This works but has been allot of work and as disappointed as I would be to find that there is a simpler solution I would be happy to simplify the code involved in my overall project - and also to put details of the best solution on the forums for others that may be trying to do the same thing!
    Another disadvantage to the curretn method is it is a little slow - I am constantly looking at way of speeding up aquisition of the images. I have no solid numbers but I'd estimate I am working in the region fo around 10 frames a second when working with 10 bit images.
    For 8 bit images the best solution I have found is to make use of the IPP library that is provided by Intel. This hasgreat functions for taking the raw data from the card and presenting it in various ways at high speed. I have written 1 application with this that pulls the informaiton in real time but only at 8 bit as unfortunately there is no 10 bit option.

  • Error 1064 An exception occurred in the service when handling the control

    Hi all,
    I downloaded Oracle Business Intelligence 10.1.3.4.1 on windows XP successfully, once I try to start any service of Oracle BI [scheduler/server]. This error is shown *1064 An exception occurred in the service when handling the control request*.
    Could anyone help me out?
    Thanks in advance
    Maitha

    I checked the file
    [68008] Scheduler Error: [nQSError: 67042] The Scheduler Configuration is incorrect.
    [nQSError: 67004] Registry value for SchedulerScriptPath not set.
    How the issue can be resolved ?

  • [Solved] Programs segfaults when compiled by makepkg

    Hi!
    I changed my computer recently and now makepkg is giving me segfaults. When I try to build mplayer from aur I get segfaults when ./configure is run.
    The strange thing it that mplayer unset CFLAGS... makepkg change something else in the enviroment? I'm getting segfaults on building asymptote too. Outside of makepkg, compiling mplayer manually works.
    I have a  Intel Core2 Duo CPU and my makepkg.conf have the following
    CARCH="x86_64"
    CHOST="x86_64-pc-linux-gnu"
    #-- Exclusive: will only run on -march=x86-64
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    CFLAGS="-march=nocona -mtune=generic -O2 -pipe"
    CXXFLAGS="-march=nocona -mtune=generic -O2 -pipe"
    #-- Make Flags: change this for DistCC/SMP systems
    MAKEFLAGS="-j3"
    Thanks.
    Last edited by kazuo (2009-04-15 17:05:12)

    you have nvidia-utils installed? Is a know issue [#1]
    if true use this workaround:
    LD_PRELOAD=/xyz/usr/lib/libGL/libGL.so.1.2 makepkg
    Where "xyz" is the path to a extracted libgl package from Arch Linux for example /home/kazuo/libgl
    [#1] http://bugs.archlinux.org/task/13375#comment39966

  • When handling local files , should I call flush() at all?

    When handling local files, I am confused by the flush() method.
    A lot of tutorial pages say it's safer to call flush() before close(). After thinking for a while, I'm asking mysel: Does flush() applies only to buffered stream(right?)? If a stream is not buffered, program should not call flush(). For buffered stream, the corresponding close() method of the wrapper or stream class should invoke flush() method. If they don't , it's an implementation bug, which should be fixed. So for both buffered and unbuffered stream, no need to call flush() before close()(right?).
    Then the question is: when do we need to call flush() method? If we don't need call flush() at all, why are there flush() methods in almost every stream/wrapper class?
    Please let me know what is wrong, either me or something else.
    Any feedback is appreciated.
    Gang

    "The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream." (Javadoc)
    By inheritance this also applies to BufferedOutputStream and its descendants. However FileOutputStream does not extend FOS or BOS so it has nothing to flush(), so flushing it does nothing at any time even before closing.
    In general flush() writes buffered bytes out of the JVM into the operating system. When you do have buffering, which in practice you should (e.g. new BufferedOutputStream(new FileOutputStream(...))), you should flush at points when you really want to be rid of the data. When operating on sockets you should always flush before try to read the next data from the socket. You can flush more often if you like but it is often counter-productive.

  • SQL requests when handling a refresh on a persistent-dirty instance

    I just noticed that Kodo issues two SQL requests when handling a refresh
    on a persistent-dirty instance, the first one getting the JDOLOCKX
    column value.
    For a persistent-clean instance, it makes sense to get the version
    number first and to check if it has been changed. If not, the attribute
    values are not read from the database.
    For a persistent-dirty instance, as the memory state has been changed,
    it has to be reloaded anyway and it seems to me that the first request
    is useless.
    Any confirmation ?
    Thanks.

    Yeah, the version check seems to be extraneous. We'll see what we can do
    about that. Thanks for pointing it out!

  • [svn] 4706: When handling the damageEvent make sure _contents gets updated with the potentially modified contents of the textFlow .

    Revision: 4706
    Author: [email protected]
    Date: 2009-01-28 07:58:30 -0800 (Wed, 28 Jan 2009)
    Log Message:
    When handling the damageEvent make sure _contents gets updated with the potentially modified contents of the textFlow. Either the contents or the style of the text flow, or both could have triggered the damage event.
    QE Notes:
    Doc Notes:
    Bugs: SDK-18749
    Reviewers: Gordon
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-18749
    Modified Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as

    Remember that Arch Arm is a different distribution, but we try to bend the rules and provide limited support for them.  This may or may not be unique to Arch Arm, so you might try asking on their forums as well.

  • X segfaults when using fglrx

    So after reading this post in my thread from the other day, I've decided to try and get fglrx working to see if this would resolve my issue.  All went well in installing and building the driver modules, but when restarting X, I got thrown back to a console with a segfault.
    Here's /var/log/Xorg.0.log:
    [ 4129.616]
    X.Org X Server 1.12.0
    Release Date: 2012-03-04
    [ 4129.616] X Protocol Version 11, Revision 0
    [ 4129.616] Build Operating System: Linux 3.2.9-1-ARCH x86_64
    [ 4129.616] Current Operating System: Linux zeus 3.2.12-1-ARCH #1 SMP PREEMPT Mon Mar 19 17:50:01 CET 2012 x86_64
    [ 4129.616] Kernel command line: root=/dev/disk/by-uuid/0131902b-69c9-4d45-8e29-000d52a0ecc8 ro
    [ 4129.616] Build Date: 05 March 2012 05:59:48AM
    [ 4129.616]
    [ 4129.616] Current version of pixman: 0.24.4
    [ 4129.617] Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    [ 4129.617] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 4129.617] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 26 18:14:05 2012
    [ 4129.618] (==) Using config file: "/etc/X11/xorg.conf"
    [ 4129.618] (==) Using config directory: "/etc/X11/xorg.conf.d"
    [ 4129.618] (==) ServerLayout "aticonfig Layout"
    [ 4129.618] (**) |-->Screen "aticonfig-Screen[0]-0" (0)
    [ 4129.618] (**) | |-->Monitor "aticonfig-Monitor[0]-0"
    [ 4129.618] (**) | |-->Device "aticonfig-Device[0]-0"
    [ 4129.618] (==) Automatically adding devices
    [ 4129.618] (==) Automatically enabling devices
    [ 4129.618] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
    [ 4129.618] Entry deleted from font path.
    [ 4129.618] (WW) The directory "/usr/share/fonts/Type1/" does not exist.
    [ 4129.618] Entry deleted from font path.
    [ 4129.618] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
    [ 4129.618] Entry deleted from font path.
    [ 4129.618] (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
    [ 4129.618] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
    [ 4129.618] Entry deleted from font path.
    [ 4129.618] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
    [ 4129.618] (==) FontPath set to:
    /usr/share/fonts/misc/,
    /usr/share/fonts/TTF/
    [ 4129.618] (==) ModulePath set to "/usr/lib/xorg/modules"
    [ 4129.618] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
    [ 4129.618] (II) Loader magic: 0x7cef60
    [ 4129.618] (II) Module ABI versions:
    [ 4129.618] X.Org ANSI C Emulation: 0.4
    [ 4129.618] X.Org Video Driver: 12.0
    [ 4129.618] X.Org XInput driver : 16.0
    [ 4129.618] X.Org Server Extension : 6.0
    [ 4129.619] (--) PCI:*(0:1:5:0) 1002:9710:103c:2ab1 rev 0, Mem @ 0xd0000000/268435456, 0xfe8f0000/65536, 0xfe900000/1048576, I/O @ 0x0000d000/256
    [ 4129.619] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
    [ 4129.619] (II) "extmod" will be loaded by default.
    [ 4129.619] (II) "dbe" will be loaded by default.
    [ 4129.619] (II) "glx" will be loaded by default.
    [ 4129.619] (II) "record" will be loaded by default.
    [ 4129.619] (II) "dri" will be loaded by default.
    [ 4129.619] (II) "dri2" will be loaded by default.
    [ 4129.619] (II) LoadModule: "extmod"
    [ 4129.619] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
    [ 4129.619] (II) Module extmod: vendor="X.Org Foundation"
    [ 4129.619] compiled for 1.12.0, module version = 1.0.0
    [ 4129.619] Module class: X.Org Server Extension
    [ 4129.619] ABI class: X.Org Server Extension, version 6.0
    [ 4129.619] (II) Loading extension MIT-SCREEN-SAVER
    [ 4129.619] (II) Loading extension XFree86-VidModeExtension
    [ 4129.619] (II) Loading extension XFree86-DGA
    [ 4129.619] (II) Loading extension DPMS
    [ 4129.619] (II) Loading extension XVideo
    [ 4129.619] (II) Loading extension XVideo-MotionCompensation
    [ 4129.619] (II) Loading extension X-Resource
    [ 4129.619] (II) LoadModule: "dbe"
    [ 4129.619] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
    [ 4129.619] (II) Module dbe: vendor="X.Org Foundation"
    [ 4129.619] compiled for 1.12.0, module version = 1.0.0
    [ 4129.619] Module class: X.Org Server Extension
    [ 4129.619] ABI class: X.Org Server Extension, version 6.0
    [ 4129.619] (II) Loading extension DOUBLE-BUFFER
    [ 4129.619] (II) LoadModule: "glx"
    [ 4129.619] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
    [ 4129.619] (II) Module glx: vendor="Advanced Micro Devices, Inc."
    [ 4129.619] compiled for 6.9.0, module version = 1.0.0
    [ 4129.620] (II) Loading extension GLX
    [ 4129.620] (II) LoadModule: "record"
    [ 4129.620] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
    [ 4129.620] (II) Module record: vendor="X.Org Foundation"
    [ 4129.620] compiled for 1.12.0, module version = 1.13.0
    [ 4129.620] Module class: X.Org Server Extension
    [ 4129.620] ABI class: X.Org Server Extension, version 6.0
    [ 4129.620] (II) Loading extension RECORD
    [ 4129.620] (II) LoadModule: "dri"
    [ 4129.620] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
    [ 4129.620] (II) Module dri: vendor="X.Org Foundation"
    [ 4129.620] compiled for 1.12.0, module version = 1.0.0
    [ 4129.620] ABI class: X.Org Server Extension, version 6.0
    [ 4129.620] (II) Loading extension XFree86-DRI
    [ 4129.620] (II) LoadModule: "dri2"
    [ 4129.620] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
    [ 4129.620] (II) Module dri2: vendor="X.Org Foundation"
    [ 4129.620] compiled for 1.12.0, module version = 1.2.0
    [ 4129.620] ABI class: X.Org Server Extension, version 6.0
    [ 4129.620] (II) Loading extension DRI2
    [ 4129.620] (II) LoadModule: "fglrx"
    [ 4129.620] (II) Loading /usr/lib/xorg/modules/drivers/fglrx_drv.so
    [ 4129.633] (II) Module fglrx: vendor="FireGL - ATI Technologies Inc."
    [ 4129.633] compiled for 1.4.99.906, module version = 8.95.3
    [ 4129.633] Module class: X.Org Video Driver
    [ 4129.634] (II) Loading sub module "fglrxdrm"
    [ 4129.634] (II) LoadModule: "fglrxdrm"
    [ 4129.634] (II) Loading /usr/lib/xorg/modules/linux/libfglrxdrm.so
    [ 4129.634] (II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."
    [ 4129.634] compiled for 1.4.99.906, module version = 8.95.3
    [ 4129.634] (II) ATI Proprietary Linux Driver Version Identifier:8.95.3
    [ 4129.634] (II) ATI Proprietary Linux Driver Release Identifier: 8.95
    [ 4129.634] (II) ATI Proprietary Linux Driver Build Date: Feb 14 2012 21:05:02
    [ 4129.634] (--) using VT number 7
    [ 4129.635] (WW) Falling back to old probe method for fglrx
    [ 4129.641] (II) Loading PCS database from /etc/ati/amdpcsdb
    [ 4129.642] (--) Assigning device section with no busID to primary device
    [ 4129.642] (--) Chipset Supported AMD Graphics Processor (0x9710) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:17:0) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:0) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:1) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:2) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:0) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:1) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:2) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:0) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:2) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:3) found
    [ 4129.642] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:4) found
    [ 4129.642] (II) AMD Video driver is running on a device belonging to a group targeted for this release
    [ 4129.642] (II) AMD Video driver is signed
    [ 4129.642] (II) fglrx(0): pEnt->device->identifier=0xf52090
    [ 4129.642] (II) fglrx(0): Loading PCS database from /etc/ati/amdpcsdb
    [ 4129.643]
    [ 4129.643] Backtrace:
    [ 4129.643] 0: /usr/bin/X (xorg_backtrace+0x34) [0x567da4]
    [ 4129.643] 1: /usr/bin/X (0x400000+0x16b8b9) [0x56b8b9]
    [ 4129.643] 2: /lib/libpthread.so.0 (0x7f23c8da0000+0xf270) [0x7f23c8daf270]
    [ 4129.643] 3: /usr/lib/xorg/modules/drivers/fglrx_drv.so (xdl_xs111_atiddxLeaveVT+0x45) [0x7f23c5588715]
    [ 4129.643] 4: /usr/bin/X (xf86DeleteScreen+0x7c) [0x47ac4c]
    [ 4129.643] 5: /usr/bin/X (InitOutput+0xdca) [0x473b5a]
    [ 4129.643] 6: /usr/bin/X (0x400000+0x22c0d) [0x422c0d]
    [ 4129.643] 7: /lib/libc.so.6 (__libc_start_main+0xed) [0x7f23c7c5638d]
    [ 4129.643] 8: /usr/bin/X (0x400000+0x230cd) [0x4230cd]
    [ 4129.643]
    [ 4129.643] Segmentation fault at address 0x10
    [ 4129.643]
    Fatal server error:
    [ 4129.643] Caught signal 11 (Segmentation fault). Server aborting
    [ 4129.643]
    [ 4129.643]
    Please consult the The X.Org Foundation support
    at http://wiki.x.org
    for help.
    [ 4129.643] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
    [ 4129.643]
    [ 4129.644] Server terminated with error (1). Closing log file.
    /etc/rc.conf:
    # /etc/rc.conf - Main Configuration for Arch Linux
    # See 'man 5 rc.conf' for more details
    # LOCALIZATION
    HARDWARECLOCK="localtime"
    TIMEZONE="America/New_York"
    KEYMAP="us"
    CONSOLEFONT=
    CONSOLEMAP=
    LOCALE=
    DAEMON_LOCALE="yes"
    USECOLOR="yes"
    # HARDWARE
    MODULES=(fglrx)
    USEDMRAID="no"
    USEBTRFS="no"
    USELVM="no"
    # NETWORKING
    HOSTNAME=zeus
    interface=wlan0
    address=
    netmask=
    broadcast=
    gateway=
    NETWORK_PERSIST="no"
    # DAEMONS
    DAEMONS=(syslog-ng dbus !network crond !alsa @wicd)
    /etc/X11/xorg.conf (as generated by aticonfig):
    Section "ServerLayout"
    Identifier "aticonfig Layout"
    Screen 0 "aticonfig-Screen[0]-0" 0 0
    EndSection
    Section "Module"
    EndSection
    Section "Monitor"
    Identifier "aticonfig-Monitor[0]-0"
    Option "VendorName" "ATI Proprietary Driver"
    Option "ModelName" "Generic Autodetecting Monitor"
    Option "DPMS" "true"
    EndSection
    Section "Device"
    Identifier "aticonfig-Device[0]-0"
    Driver "fglrx"
    EndSection
    Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device "aticonfig-Device[0]-0"
    Monitor "aticonfig-Monitor[0]-0"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    And last but not least, /etc/X11/xorg.conf.d/10-monitor.conf:
    Section "Monitor"
    Identifier "Monitor0"
    EndSection
    Section "Device"
    Identifier "Device0"
    Driver "fglrx"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display"
    Depth 16
    Modes "1920x1080_60.00"
    EndSubSection
    EndSection

    Did you read the Wiki entry?
    You use xorg 1.12, fglrx does not support it (yet). In the wiki there is a link to an extra repo with an old xorg version. And you better use directly the catalyst repo mentioned there instead of... yeah whatever you are doing now (suspecting you are not using it). It will handle all the dependencies for you.
    Good luck
    matse
    Last edited by matse (2012-03-27 16:00:17)

  • Bug in Oracle Driver 11.2.0.3.0 when handling CLOB?

    Hello,
    I got a table which is defined like this:
    CREATE TABLE FOO
    FOO_id NUMBER(18) NOT NULL ,
    xml_content sys.XMLTYPE NOT NULL
    According to the documentation Oracle is using a CLOB as internal type.
    For reading the CLOB from the database we are using Spring's org.springframework.jdbc.support.lob.OracleLobHandler (Spring 3.0.6.RELEASE) class which is implemented like this:
    public String getClobAsString( ResultSet rs, int columnIndex ) throws SQLException
    logger.debug( "Returning Oracle CLOB as string" );
    Clob clob = rs.getClob( columnIndex );
    initializeResourcesBeforeRead( rs.getStatement().getConnection(), clob );
    String retVal = ( clob != null ? clob.getSubString( 1, (int) clob.length() ) : null );
    releaseResourcesAfterRead( rs.getStatement().getConnection(), clob );
    return retVal;
    For me, this looks like the valid solution. But when reading CLOB greater than 4109 bytes, the resulting String contains a 0x0 (NULL) byte. Because the table is defined to contain XML, the XML parser is unable to handle this.
    As workaround I got the following solution:
    public String getClobAsString( ResultSet rs, int columnIndex ) throws SQLException
    logger.debug( "Returning Oracle CLOB as string" );
    Clob clob = rs.getClob( columnIndex );
    initializeResourcesBeforeRead( rs.getStatement().getConnection(), clob );
    readAllCharacter( clob );
    String retVal = ( clob != null ? clob.getSubString( 1, (int) clob.length() ) : null );
    releaseResourcesAfterRead( rs.getStatement().getConnection(), clob );
    return retVal;
    * Dummy read of all characters of the given lob. This fixes an issue that the resulting string
    * contains 0x0 bytes.
    * @param clob the clob
    * @throws SQLException
    private void readAllCharacter( Clob clob ) throws SQLException
    if( clob != null )
    Reader characterStream = clob.getCharacterStream();
    char[] buffer = new char[4 * 1000];
    try
    while( characterStream.read( buffer ) != -1 )
    catch( IOException e )
    logger.error( "Exception while reading from the clob", e );
    finally
    try
    characterStream.close();
    catch( IOException e )
    // nothing to do;
    With this dummy read, the string does not contain the 0x0 token.
    I think it's a Bug in the oracle.sql.CLOB class or did I miss something?
    Kind regards
    Michael

    >
    I'm unsure what you mean with your citation and how this affects my code?
    >
    That citation specifically tells you how the drivers (based on version) support 'the Oracle SQL XML type (XMLType)'.
    >
    A call to getSubString should give me the content of the clob. But why does the content contain some bytes (0x0) which should not be there.
    >
    A CLOB instance is just a LOB locator. A locator contains the information necessary for Oracle to 'locate' the full lob contents. It usually also contains all of the lob data that is stored 'inline' in the table row. There is a limit of around 4k for the 'inline' part of the lob data.
    A lob locator does NOT contain the part of the lob that is stored in the lob segment. The 'out-of-line' lob is generally retrieved using streams as shown in that doc.
    So the 'getSubString' call is only using the contents of the locator.
    See Inline and Out-of_Line LOB Storage in the 'Oracle® Database SecureFiles and Large Objects Developer's Guide'
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm
    >
    Inline and Out-of-Line LOB Storage
    LOB columns store locators that reference the location of the actual LOB value. Depending on the column properties you specify when you create the table, and depending the size of the LOB, actual LOB values are stored either in the table row (inline) or outside of the table row (out-of-line).
    LOB values are stored out-of-line when any of the following situations apply:
    If you explicitly specify DISABLE STORAGE IN ROW for the LOB storage clause when you create the table.
    If the size of the LOB is greater than approximately 4000 bytes (4000 minus system control information), regardless of the LOB storage properties for the column.
    If you update a LOB that is stored out-of-line and the resulting LOB is less than approximately 4000 bytes, it is still stored out-of-line.
    LOB values are stored inline when any of the following conditions apply:
    When the size of the LOB stored in the given row is small, approximately 4000 bytes or less, and you either explicitly specify ENABLE STORAGE IN ROW or the LOB storage clause when you create the table, or when you do not specify this parameter (which is the default).
    When the LOB value is NULL (regardless of the LOB storage properties for the column).
    Using the default LOB storage properties (inline storage) can allow for better database performance; it avoids the overhead of creating and managing out-of-line storage for smaller LOB values. If LOB values stored in your database are frequently small in size, then using inline storage is recommended.
    Note:
    LOB locators are always stored in the row.
    A LOB locator always exists for any LOB instance regardless of the LOB storage properties or LOB value - NULL, empty, or otherwise.
    If the LOB is created with DISABLE STORAGE IN ROW properties and the BASICFILE LOB holds any data, then a minimum of one CHUNK of out-of-line storage space is used; even when the size of the LOB is less than the CHUNK size.
    If a LOB column is initialized with EMPTY_CLOB() or EMPTY_BLOB(), then no LOB value exists, not even NULL. The row holds a LOB locator only. No additional LOB storage is used.
    LOB storage properties do not affect BFILE columns. BFILE data is always stored in operating system files outside the database.
    >
    You should generally use streams to read/write LOBs as they are the most efficient way to access them. If you commonly only need a subset of the data I suggest you use a PL/SQL package/function/procedure to perform the substringing and return the results.
    >
    the first read results also in an String with the 0x0 byte
    >
    And those would be part of the lob locator.

  • Possible bug - Missing click event when handling change event

    Using Flex 4.5 SDK, I have a spark ComboBox and a Button next to it for applying a filter according to ComboBox selection.
    I listen to both the ComboBox's change event & the Button's click event (for different functions).
    When I manually delete the ComboBox text value from its TextInput (i.e. changing selected index to -1) and immediately click on the Button,
    the click event-handler function is not being called and only the ComboBox's change event-handler function is executed.
    (Selecting a value from the ComboBox's list and clicking on the button triggers both methods on the right order.)
    There's also a state definition for the module, but it isn't being changed during these operations...
    Is this a bug or a correct behavior? Am I missing something here?
    Any workaround suggestions?
    (I thought of listening also to mouse-down or mouse-up on the button instead, but haven't tried it yet...)
    *** UPDATE ***
    When using the Button's mouseDown event the behavior is as expected, so there's a simple workaround.
    However, it seems to me like there's a bug with the Button's click event listener or something...
    *** UPDATE #2 ***
    I created a test application for that and couldn't reproduce the problem.
    Then I figured out the problem and solved it.
    It's a bit emmbarrasing, but I actually disabled the button (enabled=false) as in a child method of the change handling code...
    (If there is no value, don't allow applying the filter - It makes sense! )
    Anyway... No issue after all.
    However, I choose to leave this post (and not delete it) as an example of identifying and resolving a strange behavior in a complex application.

    There's no need.
    Please read the section UPDATE #2.

  • Getting multiple segfaults when using Gnome3

    I recently switch to Arch linux for my work computer, and decided on Gnome3 for my WM.  Everything looked good however I have recently been getting very odd behavior that is hard to describe.
    Gnome3 seems generally unstable, and I say that because I have been frequently been getting the "Oh No.." error which then crashes the window manager and kicks me back out to GDM.  Also, the online accounts functionality gives me gnome-keyring errors when trying to remove accounts (I think this might be because I changed my password).  Evolution hangs when loading my exchange account, crashes, has trouble syncing my calendar, but then magically starts working again after a restart.  Just today I changed my desktop background and got an "Oh No..." error. 
    Trying to investigate these issues and haven't found much in the way of logs.  I am used to seeing /var/log/messages but that does not exist on my system.  I did however find these in dmesg:
    [  180.763980] mission-control[805]: segfault at 0 ip 00007f686f38b360 sp 00007fff071ec2e8 error 4 in libglib-2.0.so.0.3400.3[7f686f353000+f4000]
    [  278.351169] dconf worker[914]: segfault at a ip 00007f8a33bb17f2 sp 00007f8a1d5cb9a0 error 4 in libglib-2.0.so.0.3400.3[7f8a33b4f000+f4000]
    [  961.020095] evolution[2046]: segfault at 8 ip 00007fdb88d89fa8 sp 00007fff01e02d60 error 4 in libpixman-1.so.0.28.2[7fdb88d32000+91000]
    [ 9174.786628] soffice.bin[3191]: segfault at 7f2aeb006182 ip 00007f2aecb67f7d sp 00007fff837271b0 error 4 in libmergedlo.so[7f2aebf15000+2d92000]
    [11892.209189] mission-control[2019]: segfault at 0 ip 00007f028bae6360 sp 00007fff1f590b08 error 4 in libglib-2.0.so.0.3400.3[7f028baae000+f4000]
    [13693.700127] mission-control[5266]: segfault at 0 ip 00007fd7cb0f8360 sp 00007fff7247c8f8 error 4 in libglib-2.0.so.0.3400.3[7fd7cb0c0000+f4000]
    What is going on with my glib2?  The frequency of segfaults and the applications involved suggest that this might be my problem.  I just reinstalled it with pacman and so far so good, but the nature of this problem doesn't give me too much confidence that it is fixed!
    TIA,
    Trann

    ...so look in the Event editor (just hit E ) and see if the doubled notes are on the same or on different midi channels. If the doubles are duplicates (same length, same velocity, same channel) then you have a MIDI loop and need to set your keyboard to local off, as pointed out.
    To get rid of the duplicates you already have, select all notes (⌘-A) in the editor and hit D .

  • Error when handling rejections

    Hi experts,
    This is relative to Mobile Infrastructure 7.1 SP8.
    I have a scenario where the client wants to upload to the backend only orders that are finalized. In our Data Object Node we created an BOOL attribute 'finalized', in the client this status is setted when needed. If the order is not finalized, the changes made on client (such as 'description' and 'hours spent') can´t be lost on close the mobile client and can´t either go to backend until this order is finalized.
    In this [Thread|; I asked for possible solutions for this issue and got a solution. In this solution I changed my BAPI Wrapper modify to handle a rejection when the order is not finalized:
    IF ( ORDERHEADER-FINALIZED = 1 ).
      UPDATE ZORDERS
      SET HOURS_SPENT = ORDERHEADER-HOURS_SPENT
        FINALIZED = ORDERHEADER-FINALIZED
        DESCRIPTION = ORDERHEADER-DESCRIPTION
      WHERE ID = ORDERHEADER-ID.
    ELSE.
      LTYPE = 'E'.
      LCL = 'not_finalized'.
    ENDIF.

    In the mobile client I followed this Document which describes how to handle rejections on mobile client.  My rejection implementation is that:
    public void getOrdersRejections() {
    //@@begin getOrdersRejections()
      RejectionRepository rr = OcaRoot.getInstance().getSyncManager().getRejectionRepository();
      Ordem_srvModel model = ((Ordem_srvModel) OcaRoot.getInstance().getModel(Ordem_srvModel.class));
      Collection rejections = rr.getRejections((OcaModel) model);
      forRejections : for (Iterator iterRejections = rejections.iterator(); iterRejections.hasNext();) {
        Rejection rejection = (Rejection) iterRejections.next();
        if (rejection.getRejectionState() != RejectionState.INITIAL) {
          continue forRejections;
        // If there is at least one normal rejection, accept server version.
        for (Iterator iterInfo = rejection.getRejectionInfos(); iterInfo.hasNext();) {
          RejectionInfo info = (RejectionInfo) iterInfo.next();
          if (!"not_finalized".equals(info.getMessageClass())) {
            rejection.acceptServerVersion();
            wdContext.nodeordem_srv().nodegetOrders().reload();
            rejection.delete();
            continue forRejections;
        // There was no normal rejection, only mine, accept client version.
        rejection.acceptClientVersion();
        wdContext.nodeordem_srv().nodegetOrders().reload();
        rejection.delete();
    //@@end
    I tested changing only the order description on client and sync, this scenario was sucessfull, the description wasn´t updated on backend. I tested changing the order description and I finalized the order and sync, this scenario was sucessfull also, the description and the 'finalized' attribute went updated on backend.
    In the third scenario, when I updated description on client and on server, after sync the object on client went in an invalid state, I could not update anymore, receiving this message on NWDS console:
    java.lang.IllegalStateException: Cannot update row in status - 4
      at com.sap.tc.mobile.cfs.sync.InternalSyncState.update(InternalSyncState.java:27)
    Any ideia?

  • Segfault when using shared library

    Hi,
    I have a little problem. I'm using a shared library in my program. It works fine under windows, but when I run my program under linux or solaris I get a segfault.
    When using the same library from a C/C++ program under soloris or linux I have no problem.
    Does someone have an idea ??
    Thanks.
    Vincent

    This is Java related ?
    Windows may not be as strict about memory pointers....
    Try running something like "BoundsChecker" against a debug version of your code.
    Years ago I used to use that, to detect pointer problems.
    You may be trying to access the contents of NULL in C/C++, or trying to read from a memory location
    which is no longer valid... eg. freed memory, or you return a pointer to a local variable to a calling routine.
    That stack space would be destroyed when the function returns, so you'd be trying to access memory
    that is no longer "valid".
    regards,
    Owen

  • Utdsd segfault when trying to setup replication

    Hi All,
    I'm a new sysadmin at an organisation running SRSS 4.1 and around 350 SunRays (Sun Ray 100, 170, 2, 2FS) in a production environment which is very messy (outdated apps, poor performance due to software layering etc). I have been tasked with building a new environment based around RHEL 5.
    First up here is my build environment:
    Sun Blade 6000 Chassis
    Sun Blade X6250 - Dual Xeon 5450 + 16GB RAM + 2x73GB SAS in RAID1
    VMWare vSphere Hypervisor (esxi installable free) 4.1 + NFS datastore on EMC NAS
    RHEL 5.3 64-bit - No updates apart from Firefox, and installing gajim from rpmforge repository.
    All pre-requisites listed in install docs are installed, both 64-bit and 32-bit libraries
    I'm setting up a dedicated primary server, and 4 - 8 secondaries for sessions.
    I've successfully installed the SRSS software and configured it. Using either JRE 1.6.0 u 21 32-bit from sun's site, or the supplied 1.6.0 u 13 in the srss 4.3 tarball.
    We are using a dedicated DHCP server with a bunch of sun ray vendor options set (ie not sun ray dhcp) on a shared LAN. I have run utconfig successfully and I can access the webadmin interface. A Sun Ray 170 and Sun Ray 2 can both get a session on the secondary server. (Only one secondary built right now)
    When it comes time to setup replication between the primary and a secondary for failover group, the process fails on the master with:
    [root@primary ~]# /opt/SUNWut/sbin/utreplica -p secondary01.domain.name.tld
    Sun Ray Server Software 4.2
    Administration Failover Configuration
    Converting Administration Standalone Server to Administration Primary
    <pregnant pause here - about 10 seconds>
    utreplica: Warning, could not contact LDAP server on secondary01.domain.name.tld on port 7012.
    Do you want to continue with configuration of this server as a primary? (y/[n])? n
    [root@primary ~]#When checking the secondary01 server, utdsd has failed with a message in syslog:
    Aug 10 11:33:08 secondary1 kernel: utdsd[8762]: segfault at 0000000000000010 rip 00000000f7f2684d rsp 00000000ffb26e80 error 4If I answer yes to the above question and then try to run replication setup from the secondary, utdsd segfaults on the primary. If I watch running processes, utdsd is running all the time and instantly crashes at the same time as the error message appears on the 'calling' machine.
    Where do I begin to diagnose this problem? I can't see anything useful in logs (sun ray or system) apart from the kernel report of the utdsd segfaulting.
    Any help appreciated.
    Regards,
    tifkat

    Yes. I installed with firewall off and selinux off. the primary is definitely connecting to the secondary, and utdsd is crashing sometime after the connection.
    I'd like to find out where/why the utdsd is segfaulting. Any ideas how to debug this?

  • Folder symbol when handling node_double_click

    Hi,
    I am using the class cl_gui_alv_tree to display tree structure.
    I am getting folder symbols in the tree structure ,I have to remove these.
    how to do???.
    Another thing is I have to handle the event node_double_click.
    it is triggered if I double click on folder symbol only.
    if I remove the folder symbol how to handle this...
    please very very very urjent
    Srilakshmi.

    Hello Srilakshmi
    When you double-click in an ALV tree you always get the node key as input for the event handler methods. Therefore, I use a simple trick to retrieve the entire row from the node key:
    " Assumption: ALV tree is used to display customers stored in table KNB1.
    " Note: define additional fields to your outtab itab for the node key (and parent node key)
    TYPES: BEGIN OF ty_s_outtab.
    INCLUDE TYPE knb1   AS customer.
    TYPES: node_key       TYPE tm_nodekey.  " not sure if this is the correct type -> replace if necessary
    TYPES: parent_key     TYPE tm_nodekey.
    TYPES: END OF ty_s_outtab.
    TYPES: ty_t_outtab   TYPE STANDARD TABLE OF ty_s_outtab
                                     WITH DEFAULT KEY.
    DATA:
      gt_outtab    TYPE ty_t_outtab.   " itab for ALV tree data
    " Fill the ALV tree
    DATA:
      ld_node_Key TYPE tm_nodekey,
      ld_parent_key TYPE tm_Nodekey,
      lt_knb1      TYPE STANDARD TABLE OF knb1,
      ls_knb1     TYPE knb1,
      ls_outtab   TYPE ty_s_outtab.
      LOOP AT lt_knb1 INTO ls_knb1.
        CLEAR: ls_outtab.
        ls_outtab-customer = ls_knb1.
        CALL METHOD go_tree->add_node
          EXPORTING
            relatkey = ld_parent_key
          IMPORTING
            node_key = ld_node_key.
        ls_outtab-node_key = ld_node_key.  " returned from ADD_NODE method
        ls_outtab-parent_key = ld_parent_key.
        MODIFY gt_outtab FROM ls_outtab
          TRANSPORTING node_key   parent_key
        WHERE ( bukrs = ls_knb1-bukrs 
        AND         kunnr = ls_Knb1-kunnr ).
      ENDLOOP.
    " Retrieve entire row in event handler method by node key
      METHOD handle_node_double_click.
      " define local data
        DATA:
          ls_knb1     TYPE knb1,
          ls_outtab   TYPE ty_s_outtab.
          READ TABLE gt_outtab INTO ls_outtab
                    WITH KEY node_key = node_key.
          IF ( syst-subrc = 0 ).
            ls_Knb1 = ls_outtab-customer.
          ENDIF.
      ENDMETHOD.
    Regards,
      Uwe

Maybe you are looking for

  • How to display the output of a reports called from forms in the same window

    Hi all. I have installed Forms / Reports 11g Rel2 developer only installation on my windows 7 box. I can successfully call a reports from forms using RUN_REPORT_OBJECT and WEB_SHOW.document, but the report is opened in a new window. I'd like to open

  • How do I add another subscription to my account?

    I have taken out a subscription to Creative Cloud but I want to add another subscription to my account. How do I do this?

  • Mavericks Hang up on boot

    Hello, can anyone help me please ? after install of Mavericks my Macbook Pro don't stop to reboot and reboot ... i can boot it with Maj Key Pressed. how can i see what wrong ? Thank you for any response Anonymous UUID:       743F4978-D64E-9E3F-F2DA-1

  • Apps have "remove" next to them

    I am trying to synch my iPhone with iTunes.  When I connect it, all of the apps I have installed say "remove" after them.  It is gray and I cannot change it.  I never noticed this before.  Any ideas on how to fix this?

  • Macbook pro burning out chargers

    i've now burnt out my third charger. it gets super hot while charging and then dies. nothing is still under waranty. don't want to have to keep on buying them and literally burn right through them.