cybop-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cybop-developers] Api still not generated on mac os x


From: Enrico Gallus
Subject: [cybop-developers] Api still not generated on mac os x
Date: Sat, 25 Feb 2017 22:50:17 +0900

Hello Christian,

really well done with the new knowledge path, looks flexible and seems to cover all possible cases that could arise. Sounds like a lot of work, so the Japanese would say in this situation: おつかれさまでした

This time the email address should be registered in the subscription list.

Therefore that we have new members from other countries, i think it is the best to stick to English rather than German. Please forgive me for any mistakes.

Unfortunately the generation of the html file under mac os x is still not working. I tried several things today.
I started to debug a lot in the source code, but to be honest, even having the xml documentation on the classes, doesn’t make it easy to read the code with all the var names p0-p13 and the general pointers void*.
Possible that i need some time to get used to that more. But there have been some points in the code i already understood quite well.

Nevertheless, i could not find the issue by debugging. I still think it is some architectural problem.
I try to explain what I did to isolate the issue, I hope you can point in the right direction to help me out.

(Of course i checked out the current version rev. 3651 and cleaned up using make and build it again)
1. I deleted the api.css and api.html from my hard drive to check if it will be generated newly.
2. I run src/controller/cyboi --knowledge=doc/books/cybol/api/run.cybol
a) the api files have not been created
3. I started the api cybol with different log levels (btw, loglevel=debug throws an Segmentation fault:11)
a) using the warning-level showed some really strange deserialising problems like:
- Warning: Could not deserialise cybol encoding. The source encoding is unknown.
- Warning: Could not deserialise cybol. The format is unknown.
b) additionally to that it logged a lot of (really a lot of)
- Error: Could not remove array. The destination index is outside the array boundaries.
- Warning: Could not compare all array. The left array count is not equal to the right array count.
- as well as other warnings about the arrays (if helpful i can send the whole log file)

After a couple of hours debugging, i realised that i will not be able to figure out the root of the problem, but it helped me a lot to get a bit closer to the source code.
I had the idea to call the cyboi without any arguments to check if this will log any issues, and even just calling 
cybop enrico$ src/controller/cyboi --loglevel=warning --logfile=without.txt
ended up in logging four errors. do you have the same on windows/linux?
Error: Could not remove array. The destination index is outside the array boundaries.
Error: Could not remove array. The destination index is outside the array boundaries.
Error: Could not remove array. The destination index is outside the array boundaries.
Error: Could not remove array. The destination index is outside the array boundaries.

My next idea was to restrict the issue by playing around with the cybol definition of the api.
First thing that i was interested in was to see if the model is build correctly.

I added the following snippet after the initialise node to the run.cybol to print the model:
<node name="TEST" channel="inline" format="communicate/send" model="">
        <node name="channel" channel="inline" format="meta/channel" model="file"/>
        <node name="encoding" channel="inline" format="meta/encoding" model="utf-8"/>
        <node name="language" channel="inline" format="meta/language" model="text/model-diagram"/>
        <node name="format" channel="inline" format="meta/format" model="element/part"/>
        <node name="message" channel="inline" format="text/cybol-path" model="."/>
        <node name="receiver" channel="inline" format="text/plain" model="test_api.txt"/>
    </node>

The output was unexpectedly the following:
'[selected_node] | element/part | ‘

Doesn’t look correct to me.

I moved the ’Test’-Node to print the model to the app.cybol and afterwards to the logic.cybol, but there was no output file anymore.
So looks like that the communicate/receive is not processed correctly.

I uncommented the prints in content_element_part_cybol_deserializer.c, which gave the following output and is an proof for that the cyboi only process the run.cybol.

src/controller/cyboi --knowledge=doc/books/cybol/api/run.cybol
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 19
TEST content element part cybol deserialiser sfmd: 953162960
TEST content element part cybol deserialiser *sfmd: communicate/receive
TEST content element part cybol deserialiser fd: 1400
TEST content element part cybol deserialiser td: 70
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 12
TEST content element part cybol deserialiser sfmd: 953168208
TEST content element part cybol deserialiser *sfmd: meta/channel
TEST content element part cybol deserialiser fd: 491
TEST content element part cybol deserialiser td: 34
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 13
TEST content element part cybol deserialiser sfmd: 953173408
TEST content element part cybol deserialiser *sfmd: meta/encoding
TEST content element part cybol deserialiser fd: 492
TEST content element part cybol deserialiser td: 34
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 13
TEST content element part cybol deserialiser sfmd: 953178656
TEST content element part cybol deserialiser *sfmd: meta/language
TEST content element part cybol deserialiser fd: 493
TEST content element part cybol deserialiser td: 34
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 11
TEST content element part cybol deserialiser sfmd: 953183904
TEST content element part cybol deserialiser *sfmd: meta/format
TEST content element part cybol deserialiser fd: 494
TEST content element part cybol deserialiser td: 34
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 10
TEST content element part cybol deserialiser sfmd: 953189152
TEST content element part cybol deserialiser *sfmd: text/plain
TEST content element part cybol deserialiser fd: 622
TEST content element part cybol deserialiser td: 71
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 15
TEST content element part cybol deserialiser sfmd: 953194464
TEST content element part cybol deserialiser *sfmd: text/cybol-path
TEST content element part cybol deserialiser fd: 610
TEST content element part cybol deserialiser td: 71
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 16
TEST content element part cybol deserialiser sfmd: 953199744
TEST content element part cybol deserialiser *sfmd: maintain/startup
TEST content element part cybol deserialiser fd: 2001
TEST content element part cybol deserialiser td: 70
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 12
TEST content element part cybol deserialiser sfmd: 953204960
TEST content element part cybol deserialiser *sfmd: meta/channel
TEST content element part cybol deserialiser fd: 491
TEST content element part cybol deserialiser td: 34
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 13
TEST content element part cybol deserialiser sfmd: 953210320
TEST content element part cybol deserialiser *sfmd: flow/sequence
TEST content element part cybol deserialiser fd: 1702
TEST content element part cybol deserialiser td: 70
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 15
TEST content element part cybol deserialiser sfmd: 953215504
TEST content element part cybol deserialiser *sfmd: text/cybol-path
TEST content element part cybol deserialiser fd: 610
TEST content element part cybol deserialiser td: 71
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 13
TEST content element part cybol deserialiser sfmd: 953220928
TEST content element part cybol deserialiser *sfmd: flow/sequence
TEST content element part cybol deserialiser fd: 1702
TEST content element part cybol deserialiser td: 70
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 15
TEST content element part cybol deserialiser sfmd: 953226112
TEST content element part cybol deserialiser *sfmd: text/cybol-path
TEST content element part cybol deserialiser fd: 610
TEST content element part cybol deserialiser td: 71
TEST content element part cybol deserialiser *slmc: 10
TEST content element part cybol deserialiser slmd: 184836616
TEST content element part cybol deserialiser *slmd: text/cybol
TEST content element part cybol deserialiser sfmc: 9
TEST content element part cybol deserialiser sfmd: 953231504
TEST content element part cybol deserialiser *sfmd: live/exit
TEST content element part cybol deserialiser fd: 1800
TEST content element part cybol deserialiser td: 70
Information: Exit cyboi normally.

Any ideas how to fix this? I really appreciate any help!

Greetings from Japan
Enrico

On 24 Feb 2017, at 06:10, Christian Heller <address@hidden> wrote:

Hallo Enrico,

soweit die Zeit es zuließ, habe ich an CYBOP gearbeitet.
Durch die Umstellung auf "text/cybol-path" war Etliches zu ändern
und zu korrigieren. Viel Zeit brauchte die Suche nach einem Stack-Fehler.

Nun scheint aber alles wieder zu laufen.
Zur Verwendung der neuen Pfade siehe die CYBOL-Anwendungen:
examples/project_overview/
doc/books/cybol/api/

Hilfen und weitere Beispiele zur Nutzung der CYBOL-Pfade finden sich
unter der Überschrift "Knowledge Path", am Ende der Datei:
src/design_decisions.txt

Das Projekt "project_overview" erzeugt übrigens die drei HTML-Dateien
links im Menü "Projekte" unter:
http://www.ba-leipzig.de/microsites/informatikba_leipzigde/projekte.html?no_cache=1

In der CYBOL-Anwendung zur Generierung der API-Dokumentation fand sich:
doc/books/cybol/api/readme.txt
mit einigen TODO-Anmerkungen von Studenten.
Deren Inhalt habe ich mir erlaubt, in Deine TODO-Datei zu kopieren:
todo/enrico_gallus.txt

Vielleicht kannst Du irgendwann einmal:
- testen, ob die API-Anwendung nun auch unter MacOS X läuft
- mir weitere Fehler melden
- Deine gewünschten Anpassungen an der API, CSS etc. vornehmen

Die Log-Funktionalität an der Kommandozeile läuft leider noch NICHT.

Soweit erstmal.
Voraussichtlich ab April habe ich wieder ein wenig Luft.

Viele Grüße
Christian


On Thursday 19 January 2017 23:05:30 Enrico Gallus wrote:
Hallo Christian,

ich hab keinen Windows Rechner und würde aus diesem Grund gerne weiter auf dem Mac arbeiten (sehe aktuell auch keine Notwendigkeit für ein Windows-Bootstrap oder VM).

Die Ausführung des Befehls „../../../src/controller/cyboi api/run.cybol“ ausgeführt aus dem „cybop/doc/books/cybol“ Verzeichnis, beendet sich nicht und liefert dabei unzählig viele ‚Could not remove array‘.
Diese werde nicht als Fehler standardmäßig ausgegeben und die api.html dabei wird auch nicht geschrieben.

Ich hatte hierfür ein Issue im Savannah-Issue-Tracker angelegt.
Allerdings hat sich diesem noch keiner angenommen :)

Da ich noch nicht so vertraut bin mit dem Quellcode, könnte ich ein wenig Unterstützung gebrauchen. Es scheint sich ja um eine Mac-spezifisches Problem zu handeln, da die api.html beim letzten release ordnungsgemäß auf einen (?windows?) system erzeugt wurde.
Ich habe mir erst einmal damit beholfen eine StrackTrace Methode zu implementieren, welche mir dann den folgenden Output generiert hat.

Der logtrace im array_remover.c zeile 259:

backtrace() returned 91 addresses
0   cyboi                               0x0000000102016794 logtrace + 52
1   cyboi                               0x0000000102016c8f remove_array + 303
2   cyboi                               0x000000010200aa65 deallocate_array + 117
3   cyboi                               0x000000010200f3b7 deallocate_item + 487
4   cyboi                               0x000000010200f9f3 deallocate_part + 1539
5   cyboi                               0x000000010200fe48 reference_part + 920
6   cyboi                               0x000000010200ff80 reference_array_elements + 176
7   cyboi                               0x0000000102010075 reference_array + 213
8   cyboi                               0x0000000102016a8c remove_array_inside + 620
9   cyboi                               0x0000000102016bf8 remove_array + 152
10  cyboi                               0x000000010200aa65 deallocate_array + 117
11  cyboi                               0x000000010200f360 deallocate_item + 400
12  cyboi                               0x000000010200f9e3 deallocate_part + 1523
13  cyboi                               0x000000010200fe48 reference_part + 920
14  cyboi                               0x000000010200ff80 reference_array_elements + 176
15  cyboi                               0x0000000102010075 reference_array + 213
16  cyboi                               0x0000000102016a8c remove_array_inside + 620
17  cyboi                               0x0000000102016bf8 remove_array + 152
18  cyboi                               0x000000010200aa65 deallocate_array + 117
19  cyboi                               0x000000010200f360 deallocate_item + 400
20  cyboi                               0x0000000102086a04 deserialise_cybol_element + 1540
21  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
22  cyboi                               0x00000001020bbb0e deserialise + 2846
23  cyboi                               0x000000010207dd39 receive_data + 537
24  cyboi                               0x000000010207d8ba deserialise_cybol_part_element_content + 9354
25  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
26  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
27  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
28  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
29  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
30  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
31  cyboi                               0x0000000102086944 deserialise_cybol_element + 1348
32  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
33  cyboi                               0x00000001020bbb0e deserialise + 2846
34  cyboi                               0x000000010207dd39 receive_data + 537
35  cyboi                               0x000000010207d8ba deserialise_cybol_part_element_content + 9354
36  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
37  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
38  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
39  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
40  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
41  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
42  cyboi                               0x0000000102086944 deserialise_cybol_element + 1348
43  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
44  cyboi                               0x00000001020bbb0e deserialise + 2846
45  cyboi                               0x000000010207dd39 receive_data + 537
46  cyboi                               0x000000010207d8ba deserialise_cybol_part_element_content + 9354
47  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
48  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
49  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
50  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
51  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
52  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
53  cyboi                               0x0000000102086944 deserialise_cybol_element + 1348
54  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
55  cyboi                               0x00000001020bbb0e deserialise + 2846
56  cyboi                               0x000000010207dd39 receive_data + 537
57  cyboi                               0x000000010207d8ba deserialise_cybol_part_element_content + 9354
58  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
59  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
60  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
61  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
62  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
63  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
64  cyboi                               0x0000000102086944 deserialise_cybol_element + 1348
65  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
66  cyboi                               0x00000001020bbb0e deserialise + 2846
67  cyboi                               0x000000010207dd39 receive_data + 537
68  cyboi                               0x000000010207d8ba deserialise_cybol_part_element_content + 9354
69  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
70  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
71  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
72  cyboi                               0x000000010207e594 deserialise_cybol_part_element + 1700
73  cyboi                               0x000000010207ded0 deserialise_cybol_part + 192
74  cyboi                               0x000000010207c736 deserialise_cybol_part_element_content + 4870
75  cyboi                               0x0000000102086944 deserialise_cybol_element + 1348
76  cyboi                               0x0000000102086eaf deserialise_cybol + 1103
77  cyboi                               0x00000001020bbb0e deserialise + 2846
78  cyboi                               0x000000010207dd39 receive_data + 537
79  cyboi                               0x00000001020bfc26 apply_receive + 7174
80  cyboi                               0x00000001021084e9 handle_operation + 6937
81  cyboi                               0x00000001020eb7ff handle + 2479
82  cyboi                               0x000000010210a298 handle_part_element + 760
83  cyboi                               0x000000010210a3b9 handle_part + 249
84  cyboi                               0x00000001020eb6a1 handle + 2129
85  cyboi                               0x000000010210a6c4 check_signal + 356
86  cyboi                               0x000000010210acfb check + 1531
87  cyboi                               0x000000010210b25e initialise + 1342
88  cyboi                               0x000000010210b939 manage + 1721
89  cyboi                               0x000000010210f831 main + 497
90  libdyld.dylib                       0x00007fff937585ad start + 1

Diese logs sind aus dem array-remover weile 259-265:

Could not remove array. The destination index is outside the array boundaries *p0 array: 307505952
Could not remove array. The destination index is outside the array boundaries *p1 type: 50
Could not remove array. The destination index is outside the array boundaries p2 count: 0
Could not remove array. The destination index is outside the array boundaries *p3 index: 0
Could not remove array. The destination index is outside the array boundaries p4 array count: 0
Could not remove array. The destination index is outside the array boundaries *p5 array size: 3
Could not remove array. The destination index is outside the array boundaries *p6 flag: 0

Könnte es etwas mit der escape Sequenz in den Dateien zu tun haben? Allerdings sind diese ja identisch mit den Escape-Sequenzen unter Linux. Bin ein wenig ratlos.
Ich wäre für ein paar Tipps sehr dankbar! Kann ich irgendwelche zusätzlichen Informationen liefern, die hilfreich sind?

Selbst das HelloWorld-Programm hat dieses Problem und wird nicht korrekt ausgeführt:

0   cyboi                               0x00000001021ae794 logtrace + 52
1   cyboi                               0x00000001021aec8f remove_array + 303
2   cyboi                               0x00000001021a2a65 deallocate_array + 117
3   cyboi                               0x00000001021a7384 deallocate_item + 436
4   cyboi                               0x00000001022a4d47 deserialise_command_line_argument_wide + 647
5   cyboi                               0x00000001022a4ea5 deserialise_command_line_argument + 325
6   cyboi                               0x00000001022a50f8 optionalise + 264
7   cyboi                               0x00000001022a7745 main + 261
8   libdyld.dylib                       0x00007fff937585ad start + 1
9   ???                                 0x0000000000000004 0x0 + 4
Could not remove array. The destination index is outside the array boundaries *p0 array: 297808448
Could not remove array. The destination index is outside the array boundaries *p1 type: 34
Could not remove array. The destination index is outside the array boundaries p2 count: 0
Could not remove array. The destination index is outside the array boundaries *p3 index: 0
Could not remove array. The destination index is outside the array boundaries p4 array count: 0
Could not remove array. The destination index is outside the array boundaries *p5 array size: 1
Could not remove array. The destination index is outside the array boundaries *p6 flag: 0


Sobald cyboi korrekt auf mac läuft werde ich damit anfangen mich mit meiner ToDo liste auseinander zu setzen.

Viele Grüße

Enrico


reply via email to

[Prev in Thread] Current Thread [Next in Thread]