LinuxMCE Forums
Archive => Archive => Orbiter - Developers => Topic started by: archived on October 19, 2006, 05:22:18 am
-
Chris.m
I finally got my hybrid/core built and am trying to run the orbiter on the zaurus. I have run into a bit of a problem that I hope is easily fixed. My orbiter loads etc. then segfaults out saying that it can't open the Arial font. Openzaurus doesn't distribute the MS fonts. Is there a way to do this without using the MS truetype fonts?
Rob
-
Hi Rob,
You could try getting the fonts for a linux box and copy them to your zaurus, it should work. Here's the path : /usr/share/fonts/truetype/msttcorefonts. You could copy all *.ttf files.
Best regards,
Cristian Miron
-
Chris,
Sorry I haven't gotten back to you on this, I've been doing a bit of traveling for the last few weeks.
I copied the arial*.ttf files from a windows box to /usr/share/fonts/truetype/msttcorefonts. Now I get a bunch of errors like this:
ERROR: Xlib: ErrorHandler_Grabber() // static int X11wrapper::ErrorHandler_Grabber(Display*, XerrorEvent*)
Xlib: ErrorHandler_Grabber()
type: 0
display : 0x2473b0
serial : 286
error_code :
request_code : .
minor_code :
resourcid : 48234501
ErrorText : BadFont (invalid Font parameter)
Segmentation Fault
Also above that I get:
ERROR: Xlib: ErrorHandler_Grabber() // static int X11wrapper::ErrorHandler_Grabber(Display*, XerrorEvent*)
Xlib: ErrorHandler_Grabber()
type: 0
display : 0x40a00968
serial : 261
error_code :
request_code : <
minor_code :
resourcid : 50331731
ErrorText : BadGC (invalid GC parameter)
All this is in the terminal that I start the Orbiter.
In the log file I get:
-
Let's try this one then : http://only.mawhrin.net/~geometer/zaurus/fonts/mscf.html :)
-
Chris,
Let's try this one then : http://only.mawhrin.net/~geometer/zaurus/fonts/mscf.html Smile
That is for Qtopia. I am running openzaurus GPE which uses X11.
The BadGC error is concerning as well. Any ideas?
Rob
-
Hmm... then I guess there is no other solution but to use SDL_ttf with other supported fonts.
Maybe you should start with a hello world application with sdl_ttf. Once this is working, you can temporary hardcode the font name and path in Orbiter to test it.
Best regards,
Cristian Miron
-
Chris,
Ok, I have sdl_ttf installed on the zaurus. I'm not sure how to do a "hello world" compile using sdl_ttf. Also, How do I hard code the font path into the Orbiter binary?
Rob
-
You can check SDL_ttf's page http://www.libsdl.org/projects/SDL_ttf/ and download http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.8.tar.gz for example. Then compile showfont.c file (which is actually a "hello world!" application written to demonstrate minimal functionality of sdl_ttf). Once this working, send me a message and I'll guide you want to do next.
Best regards,
Cristian Miron
-
Chris.m,
Sorry about the long silence, I got a bit busy at work, I broke my build environment, then I broke my laptop. Long story. Anyway, I finally got the build environment back up and compiled showfont.c and it does work. What's next?
Rob
-
Hi Rob,
I guess the next step would be to see what's different in Orbiter. Go to src/Orbiter/SDL/OrbiterRenderer_SDL.cpp, RenderText method. You'll see that the path to the font is hardcoded. You can play with it (use same argument path we used for showfont app).
Best regards,
Cristian Miron
-
Are you talking about this block?
void OrbiterRenderer_SDL::RenderText(string &TextToDisplay,DesignObjText *Text,TextStyle *pTextStyle, PlutoPoint point)
{
PLUTO_SAFETY_LOCK(cm,OrbiterLogic()->m_ScreenMutex);
SDL_Rect TextLocation;
TextLocation.x = point.X + Text->m_rPosition.X;
TextLocation.y = point.Y + Text->m_rPosition.Y;
TextLocation.w = Text->m_rPosition.Width;
TextLocation.h = Text->m_rPosition.Height;
#ifdef WIN32
#ifdef WINCE
string BasePath = "C:\\Windows\\Fonts";
#else
char pWindowsDirector[MAX_PATH];
GetWindowsDirectory(pWindowsDirector, MAX_PATH);
string BasePath = string(pWindowsDirector) + "\\Fonts";
#endif
#else
string BasePath="/usr/share/fonts/truetype/msttcorefonts";
#endif //win32
The path in "string BasePath" is correct there.
-
One other thing I did notice. when I try to start orbiter I get:
sh: /usr/bin/X11/xset: not found
sh: /usr/bin/X11/xset: not found
Copyright (C) ...
Not sure if it makes a difference...
-
How exactly should I configure this on the core?
This is what I am doing:
Add Orbiter
Select user
select 640x480 for size
check uses wifi connection
full regen.
Is this correct? Is there something i need to do in advanced?
-
Hi Rob,
I believe that pluto uses arial and verdana fonts most of the time, so be sure you have these files in "usr/share/fonts/truetype/msttcorefonts". Also confirm with showfont test application. If it doesn't work, you have two solutions:
1) hardcode in RenderText a font which is working
or
2) write a "return;" at the beginning of RenderText; this will disable text rendering for now and we'll get back to it once the other things will work.
Best regards,
Cristian Miron
-
Chris.m,
I decided to try to rebuild using the latest code. Now I am running into a problem with PlutoUtils. I get the following error:
| arm-linux-g++ -c -I/home/oc60174/oe/build/tmp/staging/arm-linux/include-I./ -I../ -I../DCE/ -I../VIPShared/ -I/home/oc60174/oe/build/tmp/staging/arm-linux/include/mysql -I/home/oc60174/oe/build/tmp/staging/arm-linux/lib -I/home/oc60174/oe/build/tmp/staging/arm-linux/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_DEVEL_DEFINES -DUSE_LZO_DATAGRID -D_GNU_SOURCE -I/home/oc60174/oe/build/tmp/staging/arm-linux/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -fpermissive-Wall -ggdb3 Other.cpp -o Other.o
| Other.cpp:111:7: warning: no newline at end of file
| arm-linux-g++ -c -I/home/oc60174/oe/build/tmp/staging/arm-linux/include-I./ -I../ -I../DCE/ -I../VIPShared/ -I/home/oc60174/oe/build/tmp/staging/arm-linux/include/mysql -I/home/oc60174/oe/build/tmp/staging/arm-linux/lib -I/home/oc60174/oe/build/tmp/staging/arm-linux/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_DEVEL_DEFINES -DUSE_LZO_DATAGRID -D_GNU_SOURCE -I/home/oc60174/oe/build/tmp/staging/arm-linux/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -fpermissive-Wall -ggdb3 ProcessUtils.cpp -o ProcessUtils.o
| ProcessUtils.cpp:24: error: declaration of `int* __errno_location()' throws different exceptions
| /home/oc60174/oe/build/tmp/staging/arm-linux/include/bits/errno.h:38: error: than previous declaration `int* __errno_location() throw ()'
| make: *** [ProcessUtils.o] Error 1
| FATAL: oe_runmake failed
Any Ideas?
-
I'm not sure what version of sources you have. Try comment "extern int errno;" line.
Cristian
-
I'm using version 13999. I will give it a try removing the extern int errno; line.
-
Ok, That worked, now I am getting an error on Orbiter Build:
It looks like I am missing a hid.h file. What provides this?
| In file included from Linux/HIDInterface.cpp:3:
| Linux/HIDInterface.h:8:19: hid.h: No such file or directory
| Linux/HIDInterface.cpp: In constructor `PlutoHIDInterface::PlutoHIDInterface(DCE::Orbiter*)':
| Linux/../Orbiter.h:435: error: `pthread_mutexattr_t DCE::Orbiter::m_MutexAttr' is protected
| Linux/HIDInterface.cpp:22: error: within this context
| Linux/HIDInterface.cpp: In member function `void PlutoHIDInterface::ProcessHIDEvents()':
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:111: error: within this context
| Linux/HIDInterface.cpp: In member function `bool PlutoHIDInterface::ProcessBindRequest(char*)':
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:148: error: within this context
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:160: error: within this context
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:161: error: within this context
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:164: error: within this context
| Linux/HIDInterface.cpp: In member function `bool PlutoHIDInterface::SetActiveRemote(int, bool)':
| Linux/../Orbiter.h:402: error: `OrbiterFileBrowser_Collection*DCE::Orbiter::m_pOrbiterFileBrowser_Collection' is protected
| Linux/HIDInterface.cpp:239: error: within this context
| make: *** [Linux/HIDInterface.o] Error 1
| FATAL: oe_runmake failed
NOTE: Task failed: /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/temp/log.do_compile.3152
NOTE: package orbiter-13999.1.1-r0: task do_compile: failed
ERROR: Error in executing: /home/oc60174/oe/org.openembedded.oz354x/packages/Orbiter/orbiter_13999.1.1.bb
ERROR: Exception:<class 'bb.build.EventException'> Message:('Function failed in task: /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/temp/log.do_compile.3152', <bb.build.TaskFailed instance at 0x9f2952c>)
ERROR: Printing the environment of the function
ERROR: Error in executing: /home/oc60174/oe/org.openembedded.oz354x/packages/Orbiter/orbiter_13999.1.1.bb
ERROR: Exception:<class 'bb.build.EventException'> Message:('Function failed in task: /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/temp/log.do_compile.3152', <bb.build.TaskFailed instance at 0x9f2952c>)
ERROR: Printing the environment of the function
ERROR: TaskFailed event exception, aborting
NOTE: package orbiter-13999.1.1: failed
ERROR: Build of orbiter failed
-
You won't need that for zaurus. It's "human interface device", used to control your computer with exotic mice or remotes.
Remove "HIDInterface.cpp" from the Makefile and any references (includes) to that unit.
Cristian
-
Chris.m,
Now I'm getting a whole bunch of undefined references.
arm-linux-g++ -o Orbiter Main.o Orbiter.o /home/oc60174/oe/build/tmp/staging/arm-linux/include/Gen_Devices/OrbiterBase.o /home/oc60174/oe/build/tmp/staging/arm-linux/include/utilities/linux/window_manager/WMController/WMController.o /home/oc60174/oe/build/tmp/staging/arm-linux/include/utilities/linux/window_manager/wmctrl/wmctrl.o /home/oc60174/oe/build/tmp/staging/arm-linux/include/utilities/linux/wrapper/wrapper_x11.o /home/oc60174/oe/build/tmp/staging/arm-linux/include/utilities/linux/wrapper/image_file.o Linux/win_list_manager.o -L/home/oc60174/oe/build/tmp/staging/arm-linux/lib -Wl,-rpath-link,/home/oc60174/oe/build/tmp/staging/arm-linux/lib -Wl,-O1 -lDCECommon -lSDL -lSDL_ttf -lSDL_image -lSGE -lSDL_gfx -lXtst -lXext -lXrender -lSDL_Helpers -lX11 -lXmu -lglib-2.0 -lSerializeClass -lDCECommon -lPlutoUtils -lmysqlclient -lpthread
/home/oc60174/oe/build/tmp/cross/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: /home/oc60174/oe/build/tmp/staging/arm-linux/lib/libDCECommon.so: invalid string offset 141687512 >= 35395 for section `.dynstr'
/home/oc60174/oe/build/tmp/cross/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: /home/oc60174/oe/build/tmp/staging/arm-linux/lib/libPlutoUtils.so: invalid string offset 139636128 >= 14657 for section `.dynstr'
/home/oc60174/oe/build/tmp/cross/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/crt1.o: In function `_start':
init.c:(.text+0x30): undefined reference to `main'
Orbiter.o: In function `DCE::Orbiter::CurrentScreen()':
/home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:783: undefined reference to `DCE::ScreenHistory::PK_Screen()'
Orbiter.o: In function `DCE::Orbiter::GetDataGridHighlightCell(DesignObj_DataGrid*)':
/home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:9050: undefined reference to `DesignObj_DataGrid::DataGridTable_Get(int, int)'
Orbiter.o: In function `DCE::Orbiter::StartCachingGrid(void*)': /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:475
3: undefined reference to `DesignObj_DataGrid::CacheGrid()' Orbiter.o: In function `DCE::Orbiter::GetLastScreenChangedTime()':
/home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:6837: undefined reference to `DCE::ScreenHistory::TimeCreated() const'
Orbiter.o: In function `DCE::Orbiter::StopSimulatorThread()': /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:706
0: undefined reference to `DCE::Simulator::GetInstance()' /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:706
0: undefined reference to `DCE::Simulator::StopRandomEventGenerator()' /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:706
9: undefined reference to `DCE::Simulator::GetInstance()' /home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:707
2: undefined reference to `DCE::Simulator::m_pInstance' Orbiter.o: In function `DCE::Orbiter::CreateScreenHandler()':
/home/oc60174/oe/build/tmp/work/orbiter-13999.1.1-r0/Orbiter/Orbiter.cpp:8890: undefined reference to `ScreenHandler::ScreenHandler(DCE::Orbiter*, std::
map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >*)'
Orbiter.o: In function `DCE::Orbiter::ExecuteScreenHandlerCallback(CallBackType)':
It ends this way:
Linux/win_list_manager.cpp:350: undefined reference to `WindowContext::Position()'
Linux/win_list_manager.cpp:351: undefined reference to `WindowContext::IsMaximized()'
Linux/win_list_manager.cpp:351: undefined reference to `WindowContext::IsFullScreen()'
Linux/win_list_manager.cpp:357: undefined reference to `WindowContext::IsActivated()'
Linux/win_list_manager.cpp:375: undefined reference to `WindowContext::ErrorFlag(bool)'
Linux/win_list_manager.cpp:297: undefined reference to `WindowContext::Layer()'
Linux/win_list_manager.cpp:300: undefined reference to `WindowContext::IsMaximized()'
Linux/win_list_manager.o: In function `WinListManager::ApplyContext(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/oc60174/oe/build/tmp/cross/arm-linux/include/c++/bits/stl_tree.h:252: undefined reference to `WindowContext::IsErrorFlag()'
Linux/win_list_manager.o: In function `WinListManager::ApplyContext(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
Linux/win_list_manager.cpp:346: undefined reference to `WindowContext::IsMaximized()'
Linux/win_list_manager.cpp:345: undefined reference to `WindowContext::Layer()'
Linux/win_list_manager.cpp:347: undefined reference to `WindowContext::IsFullScreen()'
Linux/win_list_manager.cpp:347: undefined reference to `WindowContext::IsFullScreen()'
Linux/win_list_manager.cpp:303: undefined reference to `WindowContext::IsFullScreen()'
Linux/win_list_manager.cpp:307: undefined reference to `WindowContext::IsVisible()'
Linux/win_list_manager.o: In function `WinListManager::ApplyContext(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/oc60174/oe/build/tmp/staging/arm-linux/include/SerializeClass/ShapesColors.h:181: undefined reference to `WindowContext::Position(PlutoRectangle)'
Linux/win_list_manager.o: In function `std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, WindowContext>, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, WindowContext> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, WindowContext> > >::_M_erase(std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, WindowContext> >*)':
Linux/win_list_manager.cpp:396: undefined reference to `WindowContext::~WindowContext()'
collect2: ld returned 1 exit status
make: *** [Orbiter] Error 1
FATAL: oe_runmake failed
Help?
-
Make sure the Makefile includes Simulator.cpp , WindowContext.cpp. See what other symbols are missing, do a grep in src/Orbiter and see what cpp files implement these missing functions and add them to the Makefile.
-
Chris.m,
Ok, I finally got orbiter to compile. I compiled it with the fonts hardcoded like this:
/usr/share/fonts/truetype/msttcorefonts/arial.ttf
Now when I run orbiter it still segfaults but doesn't complain about fonts. Here is the logfile:
10 07/13/06 17:41:08.779 Device: 20 starting
10 07/13/06 17:41:08.902 Orbiter 0x244568 constructor
10 07/13/06 17:41:23.156 Socket::ReceiveString2 ReceiveData failed m_Socket: -1 Event Dev #20
01 07/13/06 17:41:23.157 [31;1mInternalSendCommand cannot send with return message. type 1 id 688 to -2000 Going to quit[0m
05 07/13/06 17:41:23.159 [33;1mOrbiter reloading...[0m
05 07/13/06 17:41:23.162 [33;1mOrbiter quiting...[0m
05 07/13/06 17:41:23.164 [33;1mGot an on quit. Pushing an event into SDL[0m
05 07/13/06 17:41:23.166 [33;1mGot an on quit. Pushing an event into SDL[0m
10 07/13/06 17:41:23.169 WizardLogic::Setup using host 192.168.80.1 ((nil))
13 07/13/06 17:41:23.165 Exiting MessageQueueThread_DCECI thread...
01 07/13/06 17:41:23.430 [31;1mConnect failed Access denied for user: 'root@192.168.80.249' (Using password: NO)[0m
10 07/13/06 17:41:23.504 Initialized SDL
10 07/13/06 17:41:23.515 Inside WatchDogThread
05 07/13/06 17:41:23.788 [33;1mOrbiterLinux::InitializeAfterSetVideoMode() START[0m
05 07/13/06 17:41:23.790 [33;1mOrbiterLinux::InitializeAfterSetVideoMode()[0m
10 07/13/06 17:41:23.791 OrbiterLinux::X11_Init()
10 07/13/06 17:41:23.792 SDL uses pDisplay=0x25e340, Window=39845900
10 07/13/06 17:41:23.794 OrbiterLinux::X11_Init() : X11wrapper
10 07/13/06 17:41:23.808 OrbiterLinux::X11_Init() : done
05 07/13/06 17:41:23.811 [33;1mWinListManager::PendingContext: adding new entry Orbiter[0m
10 07/13/06 17:41:23.813 WindowContext::Layer 'Orbiter' : LayerAbove
10 07/13/06 17:41:23.814 OrbiterLinux::InitializeAfterSetVideoMode() : HideOtherWindows
05 07/13/06 17:41:23.816 [33;1mOrbiterLinux::HideOtherWindows: Hidding other windows...[0m
10 07/13/06 17:41:24.126 WinListManager::GetWindows m_bExternalChange set
10 07/13/06 17:41:24.128 OrbiterLinux::HideOtherWindows, hidding SDL_App.SDL_App
05 07/13/06 17:41:24.129 [33;1mWinListManager::PendingContext: adding new entry SDL_App.SDL_App[0m
10 07/13/06 17:41:24.131 WindowContext::Visible 'SDL_App.SDL_App' : false
10 07/13/06 17:41:24.132 OrbiterLinux::InitializeAfterSetVideoMode() : done
10 07/13/06 17:41:24.133 Set video mode to 640 x 480 Window.
10 07/13/06 17:41:24.136 Created back screen surface!
05 07/13/06 17:41:24.152 [33;1mSocket::ReceiveData m_Socket 21 m_bQuit_get()1[0m
10 07/13/06 17:41:24.154 Socket::ReceiveString2 ReceiveData failed m_Socket: 21 Command_Impl1 Dev #20
01 07/13/06 17:41:24.155 [31;1mRequesthandler 0x244568 (device: 20) lost connection. Command_Impl1 Dev #20[0m
10 07/13/06 17:41:24.161 Connect OK
05 07/13/06 17:41:24.163 [33;1mOrbiterLinux::Initialize()[0m
05 07/13/06 17:41:24.164 [33;1mOrbiter UI Version is 0[0m
10 07/13/06 17:41:24.167 XRecordExtensionHandler::enableRecording(): Trying to change recording state: CurrentState[:ShouldRecord: 1, :IsRecording: 0]
10 07/13/06 17:41:24.169 XRecordExtensionHandler::enableRecording(): Waiting for state change. for condition: 0x281708
10 07/13/06 17:41:24.182 XRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2608192, pDisplay_DataConnection=2759832 ->Opened
10 07/13/06 17:41:24.202 XRecordExtensionHandler::recordingThreadMainFunction(): Available XRecord extension with version 13.1.
10 07/13/06 17:41:24.205 XRecordExtensionHandler::recordingThreadMainFunction(): Enabling recording!!!
10 07/13/06 17:41:24.210 XRecordExtensionHandler::enableRecording(): State changed: CurrentState[:ShouldRecord: 1, :IsRecording: 1].
05 07/13/06 17:41:24.212 [33;1mOrbiterLinux::reinitGraphics()[0m
10 07/13/06 17:41:24.213 WindowContext::Visible 'Orbiter' : true
10 07/13/06 17:41:24.216 WindowContext::Maximize 'Orbiter' : true
10 07/13/06 17:41:24.217 WindowContext::Layer 'Orbiter' : LayerBelow
10 07/13/06 17:41:24.218 WindowContext::Activate 'Orbiter' : true
05 07/13/06 17:41:24.220 [33;1mOrbiterLinux::Initialize() : done[0m
10 07/13/06 17:41:24.221 Orbiter logic initialized!
10 07/13/06 17:41:24.235 Waiting for Maint thread to finish...
10 07/13/06 17:41:24.237 Done with Maint thread.
05 07/13/06 17:41:24.238 [33;1mOrbiterLinux::Destroy()[0m
10 07/13/06 17:41:24.241 Marking as quit
10 07/13/06 17:41:24.243 XRecordExtensionHandler::~XRecordExtensionHandler(): Disabling recording
10 07/13/06 17:41:24.244 XRecordExtensionHandler::enableRecording(): Trying to change recording state: CurrentState[:ShouldRecord: 0, :IsRecording: 1]
10 07/13/06 17:41:24.247 XRecordExtensionHandler::enableRecording(): Calling XRecord Disable: ShouldRecord: 0, IsRecording: 1
10 07/13/06 17:41:24.249 XRecordExtensionHandler::enableRecording(): XRecordDisableContext called: ShouldRecord: 0, IsRecording: 1
10 07/13/06 17:41:24.250 XRecordExtensionHandler::~XRecordExtensionHandler(): Signaling the condition
10 07/13/06 17:41:24.253 XRecordExtensionHandler::~XRecordExtensionHandler(): Joining the thread
10 07/13/06 17:41:24.257 XRecordExtensionHandler::recordingThreadMainFunction(): Recording completed!!!
05 07/13/06 17:41:24.259 [33;1mXRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2608192, pDisplay_DataConnection=2759832 ->Closing[0m
05 07/13/06 17:41:24.266 [33;1mXRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2608192, pDisplay_DataConnection=2759832 ->Closed[0m
10 07/13/06 17:41:24.268 XRecordExtensionHandler::~XRecordExtensionHandler(): Done
05 07/13/06 17:41:24.269 [33;1mOrbiterLinux::Destroy() calling X11 Exit[0m
10 07/13/06 17:41:24.270 OrbiterLinux::X11_Exit()
10 07/13/06 17:41:24.276 OrbiterLinux::X11_Exit() : done
05 07/13/06 17:41:24.278 [33;1mOrbiterLinux::Destroy() deleting Window manager[0m
05 07/13/06 17:41:24.279 [33;1mWinListManager: deleting Window controller[0m
05 07/13/06 17:41:24.281 [33;1mOrbiterLinux::Destroy() : done[0m
10 07/13/06 17:41:24.282 Orbiter 0x244568 is exiting
10 07/13/06 17:41:24.284 Maint thread dead
05 07/13/06 17:41:24.288 [33;1mSocket::SendData socket is invalid[0m
01 07/13/06 17:41:24.290 [31;1mInternalSendCommand cannot send with return message. type 1 id 255 to -1 Going to quit[0m
05 07/13/06 17:41:24.292 [33;1mOrbiter reloading...[0m
05 07/13/06 17:41:24.293 [33;1mOrbiter quiting...[0m
05 07/13/06 17:41:24.294 [33;1mGot an on quit. Pushing an event into SDL[0m
05 07/13/06 17:41:24.301 [33;1mGot an on quit. Pushing an event into SDL[0m
10 07/13/06 17:41:24.303 about to free surface
10 07/13/06 17:41:24.304 ~OrbiterRenderer_SDL finished
10 07/13/06 17:41:24.309 Waiting for message queue thread to quit
10 07/13/06 17:41:24.311 Message queue thread quit
10 07/13/06 17:41:24.312 Message queue thread joined
10 07/13/06 17:41:24.355 ~Command_Impl finished
13 07/13/06 17:41:24.357 RequestSocket::Disconnect 0x244568 device: 20
05 07/13/06 17:41:24.358 [33;1mvoid ClientSocket::Disconnect() on this socket: 0x244568 (m_Socket: 21)[0m
01 07/13/06 17:41:24.362 [31;1merror returned by : CreateOrbiter()[0m
10 07/13/06 17:41:24.364 SDL_App_Object::Destroy()
10 07/13/06 17:41:24.366 SDL_Event_Loop_End()
Ideas?
Rob[/quote]
-
There seems to be two issues:
1)
01 07/13/06 17:41:23.430 [31;1mConnect failed Access denied for user: 'root@192.168.80.249' (Using password: NO)[0
I think this is because you'll have to grant privileges in mysql like this:
grant all privileges on *.* to 'root'@'192.168.80.249';
(go to your core's console, type mysql and execute that command).
2)
10 07/13/06 17:41:23.156 Socket::ReceiveString2 ReceiveData failed m_Socket: -1 Event Dev #20
I'm not sure about this one, but it might be related to the first one. This happens when orbiter sends a message with confirmation to a device/plugin and that device doesn't respond. You could compare DCERouter.log when this happens and see what is the problem.
Best regards,
Cristian Miron
-
Chris.m,
Number 1 confused me a bit because I was running Orbiter as a user, not sure why it tried connecting as root? I'll give it a try tonight and let you know how it goes.
Rob
-
Chris.m,
Ok, I did the mysql thing, now Orbiter just hangs. This is what I get in the orbiter.log:
10 07/13/06 8:15:30.995 Device: 20 Starting
10 07/13/06 8:15:31.017 Orbiter 0x244568 constructor
And this is what I get in DCERouter.log:
13 01/19/07 19:02:34.299 TCPIP: Accepting incoming connection on socket 1469, port 3450, from IP 192.168.80.249.
01 01/19/07 19:02:34.299 Pthread create returned 12 Incoming_Conn Socket 1469 192.168.80.249 dev -1 ptr 0xafb3fc78
In the DCERouter.log I also get a whole bunch of this:
10 01/19/07 19:03:07.761 PnpQueue::Run queue 114 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 135 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 178 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 195 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 385 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 386 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 599 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 600 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 816 blocked 7 time 1168318875 now 1169251387 by 0
10 01/19/07 19:03:07.761 PnpQueue::Run queue 862 blocked 7 time 1168318875 now 1169251387 by 0
Not sure what this means...
Rob
-
Hi,
Orbiter should download from core the configuration file and then parse it (in DCERouter you should see a "Request File And Checksum" command). If you don't see it, it might be a problem with X11 commands, like those for window controller. You can deactivate them by typing a return at the beginning of WinListManager::ApplyContext from src/Orbiter/Linux/win_list_manager.cpp. Also, you can compile it with -DDEBUG to get more info.
If none of these helps you, use gdb -p <pid_of_orbiter> to find out more.
Best regards,
Cristian Miron
-
It looks pretty similar except for the access denied is not there any more. Here is the log:
10 01/29/07 2:42:45.320 Device: 20 starting
10 01/29/07 2:42:45.450 Orbiter 0x244568 constructor
10 01/29/07 2:42:59.687 Socket::ReceiveString2 ReceiveData failed m_Socket: -1 Event Dev #20
01 01/29/07 2:42:59.689 [31;1mInternalSendCommand cannot send with return message. type 1 id 688 to -2000 Going to quit[0m
05 01/29/07 2:42:59.690 [33;1mOrbiter reloading...[0m
05 01/29/07 2:42:59.692 [33;1mOrbiter quiting...[0m
05 01/29/07 2:42:59.693 [33;1mGot an on quit. Pushing an event into SDL[0m
05 01/29/07 2:42:59.695 [33;1mGot an on quit. Pushing an event into SDL[0m
10 01/29/07 2:42:59.699 WizardLogic::Setup using host 192.168.80.1 ((nil))
13 01/29/07 2:42:59.696 Exiting MessageQueueThread_DCECI thread...
10 01/29/07 2:42:59.806 Initialized SDL
10 01/29/07 2:42:59.817 Inside WatchDogThread
05 01/29/07 2:43:00.114 [33;1mOrbiterLinux::InitializeAfterSetVideoMode() START[0m
05 01/29/07 2:43:00.116 [33;1mOrbiterLinux::InitializeAfterSetVideoMode()[0m
10 01/29/07 2:43:00.118 OrbiterLinux::X11_Init()
10 01/29/07 2:43:00.120 SDL uses pDisplay=0x264c08, Window=41943052
10 01/29/07 2:43:00.121 OrbiterLinux::X11_Init() : X11wrapper
10 01/29/07 2:43:00.131 OrbiterLinux::X11_Init() : done
05 01/29/07 2:43:00.133 [33;1mWinListManager::PendingContext: adding new entry Orbiter[0m
10 01/29/07 2:43:00.134 WindowContext::Layer 'Orbiter' : LayerAbove
10 01/29/07 2:43:00.135 OrbiterLinux::InitializeAfterSetVideoMode() : HideOtherWindows
05 01/29/07 2:43:00.137 [33;1mOrbiterLinux::HideOtherWindows: Hidding other windows...[0m
10 01/29/07 2:43:00.266 WinListManager::GetWindows m_bExternalChange set
10 01/29/07 2:43:00.268 OrbiterLinux::HideOtherWindows, hidding SDL_App.SDL_App
05 01/29/07 2:43:00.269 [33;1mWinListManager::PendingContext: adding new entry SDL_App.SDL_App[0m
10 01/29/07 2:43:00.271 WindowContext::Visible 'SDL_App.SDL_App' : false
10 01/29/07 2:43:00.272 OrbiterLinux::InitializeAfterSetVideoMode() : done
10 01/29/07 2:43:00.273 Set video mode to 640 x 480 Window.
10 01/29/07 2:43:00.275 Created back screen surface!
05 01/29/07 2:43:00.292 [33;1mSocket::ReceiveData m_Socket 22 m_bQuit_get()1[0m
10 01/29/07 2:43:00.294 Socket::ReceiveString2 ReceiveData failed m_Socket: 22 Command_Impl1 Dev #20
01 01/29/07 2:43:00.295 [31;1mRequesthandler 0x244568 (device: 20) lost connection. Command_Impl1 Dev #20[0m
10 01/29/07 2:43:00.305 Connect OK
05 01/29/07 2:43:00.307 [33;1mOrbiterLinux::Initialize()[0m
05 01/29/07 2:43:00.308 [33;1mOrbiter UI Version is 0[0m
10 01/29/07 2:43:00.311 XRecordExtensionHandler::enableRecording(): Trying to change recording state: CurrentState[:ShouldRecord: 1, :IsRecording: 0]
10 01/29/07 2:43:00.312 XRecordExtensionHandler::enableRecording(): Waiting for state change. for condition: 0x27f3e0
10 01/29/07 2:43:00.327 XRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2618424, pDisplay_DataConnection=2769904 ->Opened
10 01/29/07 2:43:00.332 XRecordExtensionHandler::recordingThreadMainFunction(): Available XRecord extension with version 13.1.
10 01/29/07 2:43:00.337 XRecordExtensionHandler::recordingThreadMainFunction(): Enabling recording!!!
10 01/29/07 2:43:00.342 XRecordExtensionHandler::enableRecording(): State changed: CurrentState[:ShouldRecord: 1, :IsRecording: 1].
05 01/29/07 2:43:00.345 [33;1mOrbiterLinux::reinitGraphics()[0m
10 01/29/07 2:43:00.346 WindowContext::Visible 'Orbiter' : true
10 01/29/07 2:43:00.348 WindowContext::Maximize 'Orbiter' : true
10 01/29/07 2:43:00.349 WindowContext::Layer 'Orbiter' : LayerBelow
10 01/29/07 2:43:00.350 WindowContext::Activate 'Orbiter' : true
05 01/29/07 2:43:00.351 [33;1mOrbiterLinux::Initialize() : done[0m
10 01/29/07 2:43:00.353 Orbiter logic initialized!
10 01/29/07 2:43:00.356 Waiting for Maint thread to finish...
10 01/29/07 2:43:00.358 Done with Maint thread.
05 01/29/07 2:43:00.359 [33;1mOrbiterLinux::Destroy()[0m
10 01/29/07 2:43:00.361 Marking as quit
10 01/29/07 2:43:00.362 XRecordExtensionHandler::~XRecordExtensionHandler(): Disabling recording
10 01/29/07 2:43:00.365 XRecordExtensionHandler::enableRecording(): Trying to change recording state: CurrentState[:ShouldRecord: 0, :IsRecording: 1]
10 01/29/07 2:43:00.367 XRecordExtensionHandler::enableRecording(): Calling XRecord Disable: ShouldRecord: 0, IsRecording: 1
10 01/29/07 2:43:00.370 XRecordExtensionHandler::enableRecording(): XRecordDisableContext called: ShouldRecord: 0, IsRecording: 1
10 01/29/07 2:43:00.372 XRecordExtensionHandler::~XRecordExtensionHandler(): Signaling the condition
10 01/29/07 2:43:00.373 XRecordExtensionHandler::~XRecordExtensionHandler(): Joining the thread
10 01/29/07 2:43:00.377 XRecordExtensionHandler::recordingThreadMainFunction(): Recording completed!!!
05 01/29/07 2:43:00.379 [33;1mXRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2618424, pDisplay_DataConnection=2769904 ->Closing[0m
05 01/29/07 2:43:00.386 [33;1mXRecordExtensionHandler::recordingThreadMainFunction(): pDisplay_ControlConnection=2618424, pDisplay_DataConnection=2769904 ->Closed[0m
10 01/29/07 2:43:00.388 XRecordExtensionHandler::~XRecordExtensionHandler(): Done
05 01/29/07 2:43:00.389 [33;1mOrbiterLinux::Destroy() calling X11 Exit[0m
10 01/29/07 2:43:00.391 OrbiterLinux::X11_Exit()
10 01/29/07 2:43:00.395 OrbiterLinux::X11_Exit() : done
05 01/29/07 2:43:00.397 [33;1mOrbiterLinux::Destroy() deleting Window manager[0m
05 01/29/07 2:43:00.399 [33;1mWinListManager: deleting Window controller[0m
05 01/29/07 2:43:00.402 [33;1mOrbiterLinux::Destroy() : done[0m
10 01/29/07 2:43:00.403 Orbiter 0x244568 is exiting
10 01/29/07 2:43:00.405 Maint thread dead
05 01/29/07 2:43:00.409 [33;1mSocket::SendData socket is invalid[0m
01 01/29/07 2:43:00.411 [31;1mInternalSendCommand cannot send with return message. type 1 id 255 to -1 Going to quit[0m
05 01/29/07 2:43:00.412 [33;1mOrbiter reloading...[0m
05 01/29/07 2:43:00.413 [33;1mOrbiter quiting...[0m
05 01/29/07 2:43:00.415 [33;1mGot an on quit. Pushing an event into SDL[0m
05 01/29/07 2:43:00.421 [33;1mGot an on quit. Pushing an event into SDL[0m
10 01/29/07 2:43:00.422 about to free surface
10 01/29/07 2:43:00.423 ~OrbiterRenderer_SDL finished
10 01/29/07 2:43:00.430 Waiting for message queue thread to quit
10 01/29/07 2:43:00.432 Message queue thread quit
10 01/29/07 2:43:00.434 Message queue thread joined
10 01/29/07 2:43:00.456 ~Command_Impl finished
13 01/29/07 2:43:00.459 RequestSocket::Disconnect 0x244568 device: 20
05 01/29/07 2:43:00.460 [33;1mvoid ClientSocket::Disconnect() on this socket: 0x244568 (m_Socket: 22)[0m
01 01/29/07 2:43:00.462 [31;1merror returned by : CreateOrbiter()[0m
10 01/29/07 2:43:00.464 SDL_App_Object::Destroy()
10 01/29/07 2:43:00.466 SDL_Event_Loop_End()
-
Hi Rob,
The first command orbiter is sending to DCERouter when it starts is "Get Remote Control Mapping" command (id #688), but the router doesn't seem to respond:
10 01/29/07 2:42:59.687 Socket::ReceiveString2 ReceiveData failed m_Socket: -1 Event Dev #20
01 01/29/07 2:42:59.689 [31;1mInternalSendCommand cannot send with return message. type 1 id 688 to -2000 Going to quit[0m
We'll need to investigate this. Maybe it's a serialization problem, we'll have to find. Going with small steps, we'll have to compile MessageSend tool (src/MessageSend) which does nothing else but to send a command to the router. After compiling it, on zaurus, run it with the following arguments:
./MessageSend dcerouter -r -o 0 7 1 688
Let me know if this works and also send me the lines of log from router when this happens.
Best regards,
Cristian Miron