Logged In: YES
user_id=1432862
Originator: NO

I get some slightly different errors before the INVALID state error:

~/work/freepv/branches/branch_leonox/testcases/good $ ../../src/freepv-glx/freepv-glx cube_front="outside_000000.jpg" cube_right="outside_000001.jpg" cube_back="outside_000002.jpg" cube_left="outside_000003.jpg" cube_top="outside_000004.jpg" cube_bottom="outside_000005.jpg"
XF86VidModeExtension-Version 2.2
Got Doublebuffered Visual!
glX-Version 1.3
Depth 24
Congrats, you have Direct Rendering!
before processing events
Starting freepv, revision: $Revision: 119 $
a scene was created
ERROR: 22:21:24.028325 (glx_platform.cpp:349) glSwapBuffers(): OpenGL Error: 1281, invalid value
state 4: downloading: outside_000000.jpg
state 4: 371350 bytes downloaded
ERROR: 22:21:24.030175 (glx_platform.cpp:349) glSwapBuffers(): OpenGL Error: 1281, invalid value
ERROR: 22:21:24.030766 (glx_platform.cpp:349) glSwapBuffers(): OpenGL Error: 1281, invalid value
state 7: IMAGE decoding error: outside_000000.jpg
ERROR: 22:21:24.031409 (glx_platform.cpp:349) glSwapBuffers(): OpenGL Error: 1281, invalid value
state 7: 255036 bytes downloaded
ERROR: 22:21:24.032248 (PanoViewer.cpp:302) onDownloadComplete(): INVALID state after downloading to memory

Moreover, this is what I use when I run the GLUT version:

~/work/freepv/branches/branch_leonox/testcases/good $ ../../src/freepv-glut/freepv-glut cube_front="outside_000000.jpg" cube_right="outside_000001.jpg" cube_back="outside_000002.jpg" cube_left="outside_000003.jpg" cube_top="outside_000004.jpg" cube_bottom="outside_000005.jpg"
before processing events
Starting freepv, revision: $Revision: 119 $
a scene was created
state 4: downloading: outside_000000.jpg
state 4: 371350 bytes downloaded
state 7: IMAGE decoding error: outside_000000.jpg
state 7: 255036 bytes downloaded
ERROR: 22:20:15.677888 (PanoViewer.cpp:302) onDownloadComplete(): INVALID state after downloading to memory

Here is a full gdb backtrace for the GLX version:

Breakpoint 1, FPV::PanoViewer::onDownloadComplete (this=0x666800, data=0x716d00, sz=255036)
at /home/plouj/work/freepv/branches/branch_leonox/src/libfreepv/PanoViewer.cpp:302
302 DEBUG_ERROR("INVALID state after downloading to memory");
(gdb) bt full
#0 FPV::PanoViewer::onDownloadComplete (this=0x666800, data=0x716d00, sz=255036)
at /home/plouj/work/freepv/branches/branch_leonox/src/libfreepv/PanoViewer.cpp:302
img = (class FPV::Image *) 0x0
file_to_download = 0x41cb50 "UH\211åH\203ì@H\211}ØH\211uÐH\213}ØH\201Çø"
__func__ = "onDownloadComplete"
#1 0x000000000041cc58 in GLXPlatformStandalone::startDownloadURL (this=0x7fff6ec98d50, url=@0x666848)
at /home/plouj/work/freepv/branches/branch_leonox/src/freepv-glx/glx_platform.cpp:135
f = (FILE *) 0x709490
sz = 255036
buffer = (void *) 0x716d00
readsz = 255036
#2 0x00000000004207bc in FPV::PanoViewer::onDownloadComplete (this=0x666800, data=0x716d00, sz=371350)
at /home/plouj/work/freepv/branches/branch_leonox/src/libfreepv/PanoViewer.cpp:281
img = (class FPV::Image *) 0x0
file_to_download = 0x41cb50 "UH\211åH\203ì@H\211}ØH\211uÐH\213}ØH\201Çø"
__func__ = "onDownloadComplete"
#3 0x000000000041cc58 in GLXPlatformStandalone::startDownloadURL (this=0x7fff6ec98d50, url=@0x666840)
at /home/plouj/work/freepv/branches/branch_leonox/src/freepv-glx/glx_platform.cpp:135
f = (FILE *) 0x706f80
sz = 371350
buffer = (void *) 0x716d00
readsz = 371350
#4 0x0000000000421206 in FPV::PanoViewer::start (this=0x666800)
at /home/plouj/work/freepv/branches/branch_leonox/src/libfreepv/PanoViewer.cpp:116
---Type <return> to continue, or q <return> to quit---
o = <incomplete type>
#5 0x000000000041d90c in main (argc=7, argv=0x7fff6ec98fc8)
at /home/plouj/work/freepv/branches/branch_leonox/src/freepv-glx/main.cpp:42
platform = {<GLXPlatform> = {<FPV::Platform> = {_vptr.Platform = 0x661730, m_eventListener = 0x666800}, m_glwin = {
dpy = 0x667620, screen = 0, win = 10485763, ctx = 0x67c1d0, attr = {background_pixmap = 4131212846,
background_pixel = 6695256, border_pixmap = 6690134, border_pixel = 0, bit_gravity = 1858703304, win_gravity = 32767,
backing_store = 7, backing_planes = 0, backing_pixel = 236850303365, save_under = 1, event_mask = 172111,
do_not_propagate_mask = 0, override_redirect = -1431443400, colormap = 10485762, cursor = 6690304}, fs = false,
deskMode = {dotclock = 135000, hdisplay = 2560, hsyncstart = 1296, hsyncend = 1440, htotal = 1688, hskew = 0,
vdisplay = 1024, vsyncstart = 1025, vsyncend = 1028, vtotal = 1066, flags = 5, privsize = 0, c_private = 0x0}, x = 0,
y = 0, width = 1278, height = 510, depth = 24}, m_timerPeriod = 0}, m_running = true, m_exitcode = 0, m_currentURL = {
static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707b18 "outside_000001.jpg"}}}
viewer = (class FPV::PanoViewer *) 0x666800
para = {m_width = 0, m_height = 0, m_src = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x37300efe18 ""}}, m_sw_src = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x37300efe18 ""}}, m_path = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x37300efe18 ""}}, m_waitImage = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x37300efe18 ""}}, m_cubeSrc = {{static npos = 18446744073709551615,
---Type <return> to continue, or q <return> to quit---
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707ad8 "outside_000000.jpg"}}, {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707b18 "outside_000001.jpg"}}, {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707b58 "outside_000002.jpg"}}, {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707b98 "outside_000003.jpg"}}, {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707bd8 "outside_000004.jpg"}}, {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x707c18 "outside_000005.jpg"}}}, m_renderQuality = FPV::RQ_HIGH, m_panoType = FPV::Parameters::PANO_UNKNOWN,
m_panoHFOV = 360, m_maxTexMem = 268435456}