Difference between revisions of "Education Project/Effort/Various adaptations on Sugar/Work In Progress"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
m
Line 61: Line 61:
  
 
<font color=red>Scheduled :  IRC meeting to make a point around the 3rd August</font>
 
<font color=red>Scheduled :  IRC meeting to make a point around the 3rd August</font>
 +
 +
20/07/09-HOW TO : Crash OOo4Kids
  
 
Today, we have been working on watching when OOo4Kids was using a lot of the CPU's power. Going with this, we saw a few cases when it was maybe overdooing and some times crashed:
 
Today, we have been working on watching when OOo4Kids was using a lot of the CPU's power. Going with this, we saw a few cases when it was maybe overdooing and some times crashed:
Line 69: Line 71:
 
     -In OOo4Kids Writer : fill one page of text, copy it. Paste it, again, again, ag... Around page 15, pasting will stop and the user is unable to write anymore. From this point on, OOo4Kids become extremely unstable, and will crash if you erase the last character written and try to write something else, select a different font...
 
     -In OOo4Kids Writer : fill one page of text, copy it. Paste it, again, again, ag... Around page 15, pasting will stop and the user is unable to write anymore. From this point on, OOo4Kids become extremely unstable, and will crash if you erase the last character written and try to write something else, select a different font...
 
     -Everything that is "drag'n'droppable" may be victim of extreme delay (and CPU overuse) if you try to be too fast. Same thing goes with the "draw line" in the writer. Moreover, if you draw a huge pack of lines in the writer, trying to type text will make the CPU skyrocket to 95%+ usage (whereas without lines, it won't go over 30-35%). Same goes with scrolling up and down on a filled page.
 
     -Everything that is "drag'n'droppable" may be victim of extreme delay (and CPU overuse) if you try to be too fast. Same thing goes with the "draw line" in the writer. Moreover, if you draw a huge pack of lines in the writer, trying to type text will make the CPU skyrocket to 95%+ usage (whereas without lines, it won't go over 30-35%). Same goes with scrolling up and down on a filled page.
 +
 +
21/07/09-HOW TO : Use Gdb
 +
 +
Few subtle experimentations on a simple C++ program to learn how to break :
 +
 +
-at a given line:
 +
 +
(gdb) attach #processnumber
 +
 +
{Loading...}
 +
 +
(gdb) break 7
 +
 +
Breakpoint 1 at 0x8048918: file zzz.cpp, line 7.
 +
 +
(gdb) run
 +
 +
 +
Observations : I'm yet to fine how to select the correct file. This syntax will break line number 'x' in the file containing the main.
 +
 +
 +
-using a given methode
 +
 +
(gdb) attach #processnumber
 +
 +
{Loading...}
 +
 +
(gdb) break Class::method
 +
 +
Breakpoint 1 at 0x8048932: file Test.cpp, line 18.
 +
 +
(gdb) run
 +
 +
 +
Observations : just like setting the breakpoint for a function, except you have to precise which class the method belongs to. Breakpoint will occur each time the method is called.
 +
 +
 +
-when a condition is true
 +
 +
(gdb) attach #processnumber
 +
 +
{Loading...}
 +
 +
(gdb) break randomfunction
 +
 +
Breakpoint #brkpoint at 0x8048757: file main.cpp, line 9.
 +
 +
(gdb) condition #brkpoint i==5
 +
 +
(gdb) continue
 +
 +
 +
Observations: #brkpoint is the breakpoint number that will be associated with the condition. In this case, the breakpoint will only occur when the variable i equals 5. Of course, trying to set a wrong condition is not possible.

Revision as of 11:38, 21 July 2009

@Adbdelkader and Thomas, please add there what you are currently doing

Means :

  • a list of tasks
  • the history
  • a planning
  • whatever information needed for the current work in progress, and who will be removed once put in a better shape elsewhere


First Objective : Compilation of OOo and OOo4Kids

After four days of desperate struggles with Ubuntu, packages and lack of space on the hard drive, both Abdelkader and myself have been able to generate and launch the makefile of OOo this afternoon. This will last the whole night, hopefully void of compilation error.

After 8 hours, the compilation ended for both of us.

Then, we had to compile OOo4Kids. We had a tough time getting past some errors, but they were almost all caused by using a wrong version of the sources so we had to apply a patch. After this, we had to build && deliver from the *new* scp2 directory but not to forget to make an "export PKGFORMAT="installed" (we went through some errors forgetting this). Then all we had to do was to make a dmake.

Then, we worked on a small installation problem on Linux. In fact, the installation directory have the pref, and it shouldn't. In the common_brand.scp (which is located in scp2/sources/ooo/) from line 829 to 843 we can see few conditions, depending the system, to put the things on the good place. It works well on Macsosx and Windows but it goes in the wrong place for linux, it hits the "StandaloneValue = "$ORIGIN/..". We don't really understand why yet but we will work on this later. Then, we tried some tests on OOo4Kids with valgrind, we saw some memory leaks and we will see about this.

The next step is for me to work on building OOo4Kids for Windows and work on the wiki page for this step and for Thomas to build OOo4Kids on Sugar.


IRC meeting / 17th July 2009

Attendees : Thomas Fontenay, Abdelkader Bellabes, Eric Bachard

Point 1 : what has been done

  • OOO build on Linux : verified OK
  • OOo4Kids build on Linux : verified OK
  • First steps in the source code
  • Started with Valgrind ( log of the leak ?)

Point 2 : Planning for the two coming weeks 30 and 31 ( 17th to 31st July) :

Action Items :

  • document the use of Valgrind
  • document the memory leak (supposed)

Objectives for the next two weeks are :

  • ( Abdelkader) setup Windows install set, and build OOo4Kids + complete the wiki page (OOo4Kids wiki page, Windows dedicated)
  • ( Thomas ): setup a Sugar set, and do the same

Objective : complete two builds in 2 differents OS's

  • start documenting Valgrind use
  • start working with gdb, in particular, be able to set breakpoints in 3 cases :
  1. at a given line
  2. using a given method
  3. when a condition is true

+ providing examples

(if time allows) Case study : catch and trace what happens when changing some color. e.g. changing the color of the background in a Writer document

Objective : trace and document

Scheduled : IRC meeting to make a point around the 3rd August

20/07/09-HOW TO : Crash OOo4Kids

Today, we have been working on watching when OOo4Kids was using a lot of the CPU's power. Going with this, we saw a few cases when it was maybe overdooing and some times crashed:

  -Using a special character and pasting it recklessly would end up with a crash.
  -On the same way, but without special chars (so that may be linked in a way), OOo4Kids is in some cases stopping and you have to go to the next line to be able to put an other char, or in other cases, it's not responding anymore.

Some other cases of huge delay/crashes:

   -In OOo4Kids Writer : fill one page of text, copy it. Paste it, again, again, ag... Around page 15, pasting will stop and the user is unable to write anymore. From this point on, OOo4Kids become extremely unstable, and will crash if you erase the last character written and try to write something else, select a different font...
   -Everything that is "drag'n'droppable" may be victim of extreme delay (and CPU overuse) if you try to be too fast. Same thing goes with the "draw line" in the writer. Moreover, if you draw a huge pack of lines in the writer, trying to type text will make the CPU skyrocket to 95%+ usage (whereas without lines, it won't go over 30-35%). Same goes with scrolling up and down on a filled page.

21/07/09-HOW TO : Use Gdb

Few subtle experimentations on a simple C++ program to learn how to break :

-at a given line:

(gdb) attach #processnumber

{Loading...}

(gdb) break 7

Breakpoint 1 at 0x8048918: file zzz.cpp, line 7.

(gdb) run


Observations : I'm yet to fine how to select the correct file. This syntax will break line number 'x' in the file containing the main.


-using a given methode

(gdb) attach #processnumber

{Loading...}

(gdb) break Class::method

Breakpoint 1 at 0x8048932: file Test.cpp, line 18.

(gdb) run


Observations : just like setting the breakpoint for a function, except you have to precise which class the method belongs to. Breakpoint will occur each time the method is called.


-when a condition is true

(gdb) attach #processnumber

{Loading...}

(gdb) break randomfunction

Breakpoint #brkpoint at 0x8048757: file main.cpp, line 9.

(gdb) condition #brkpoint i==5

(gdb) continue


Observations: #brkpoint is the breakpoint number that will be associated with the condition. In this case, the breakpoint will only occur when the variable i equals 5. Of course, trying to set a wrong condition is not possible.

Personal tools