Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
44 user(s) are online (24 user(s) are browsing Forums)

Members: 0
Guests: 44

more...

Support us!

Headlines

 
  Register To Post  

« 1 2 3 (4) 5 6 7 ... 72 »
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
Excellent work.

If I was porting it and had all the libpng problems I'd have scapped libpng and used datatypes to decode all static images instead, giving a smaller exe, no future problems with libpng incompatabilities etc. but then that would take time and everyone wants a fast port.

Amiga user since 1985
AOS4, A-EON, IBrowse & Alinea Betatester

Ps. I hate the new amigans website. <shudder>
Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@Severin

Except datatypes aren't suited at all for that, and it would actually give a (much) slower result.
I could use reggae for decoding, though.

Go to top
Re: Odyssey 1.23 progress
Quite a regular
Quite a regular


See User information
@kas1e

soon we will browsing!

Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
Great work kas1e :)

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Fab
Quote:
Except datatypes aren't suited at all for that, and it would actually give a (much) slower result.
I could use reggae for decoding, though.


What makes datatypes unsuitable for this task? Loading image data is one of the things that they were designed for.

Hans

Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@Hans

But in WebKit's case, for performance reasons, slice decoding is needed. With Datatypes, you get the whole thing decoded at once (and with a high memory footprint as well).


Edited by Fab on 2014/1/30 12:53:16
Go to top
Re: Odyssey 1.23 progress
Amigans Defender
Amigans Defender


See User information
@Hans

Datatypes (at least their current implementations) are not designed for any kind of streaming - partial loading of data.

Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
@trixie

IBrowse has been using datatypes forever with no problems with displaying or speed.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Severin
Quote:

If I was porting it and had all the libpng problems I'd have scapped libpng and used datatypes to decode all static images instead, giving a smaller exe, no future problems with libpng incompatabilities etc.


libpng is only 300kb of size, which is really nothing in compare with what it give in end. Besides, on morphos, odyssey use shared png.library, so those 300kb out of binary (but as core itself its pretty big, 300kb there is just nothing, so i think shared png.library or static as i do it now, there is no diffs). Rewrote all that stuff in odyssey on datatypes (even if it was of worry), instead of deal with libpng, for sure _MUCH_ harder and make no sense at all (i.e. compare pure recompile, and sitting days and code stuff, deep inside of internals of all of this, while there is some stuff to fix still).

Quote:

IBrowse has been using datatypes forever with no problems with displaying or speed.


Core of IBrowse totaly outdated, and once (if imagine) anyone will add all that support of bloated modern things to it, everything will tells, including usage of datatypes. Ibrowse fast, because have no support of what make other browsers be slower.

Besides, we both know that png.datatype on os4 for sure outdated in compare with all the time in develop libpng.

In other words, even, and if, its still make no sense to remove as its just not worth of it.


Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@All
Some news:

After fixing of some usual moments, it runs, generate fontconfig, show window and happy crashes on sqlite3 functions. In end it turns that my pure recompiled sqlite3.8.2 as posix based pure like this:

./configure --build=i686-pc-cygwin --host=ppc-amigaos --disable-shared --enable-static --disable-dynamic-extensions CFLAGS='-DSQLITE_OMIT_WAL=1 -Os'

didn't works. Once i link with HansJoerg's sqlite 3.7.5 i have no crashes (or even if i link with my old sqlite3).

Sadly i do not remember now what library (or odyssey itself?) ask for new version of sqlite3, so i just currently link with Hans one, and at moment we can skipthat till more major problems not sorted.

@Fab
are you make any specific changes in sqlite3 to make it works ?

@All
So, after sqlite crash fixed, i have working main window. But, here is another problem which i think related to my current os4 compiler and all that tasty changes in terms of adding "nullptr".

I.e. some files before just do not compiles on my gcc, and bring all sort of erros about "nullptr".


I.e. file Source/Webcore/accecebility/AccessebilityNodeObject.cpp

Do not compiles before with such errors:


/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cppIn member function 'WebCore::HTMLLabelElement* WebCore::AccessibilityNodeObject::labelForElement(WebCore::Element*) const':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1105errorno match for ternary 'operator?:' in 'enclosingLabel.WebCore::ElementAncestorIterator<WebCore::HTMLLabelElement>::<anonymous>.WebCore::ElementIterator<ElementType>::operator!= [with ElementType = WebCore::HTMLLabelElement](((const WebCore::ElementIterator<WebCore::HTMLLabelElement>&)((const WebCore::ElementIterator<WebCore::HTMLLabelElement>*)(& labelAncestors.WebCore::ElementAncestorIteratorAdapter<ElementType>::end [with ElementType = WebCore::HTMLLabelElement]().WebCore::ElementAncestorIterator<WebCore::HTMLLabelElement>::<anonymous>)))) ? (WebCore::HTMLLabelElement*)enclosingLabel.WebCore::ElementAncestorIterator<WebCore::HTMLLabelElement>::<anonymous>.WebCore::ElementIterator<ElementType>::operator* [with ElementType = WebCore::HTMLLabelElement]() : nullptr'

In file included from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:363,
                 
from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:37:
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.hIn constructor 'WebCore::ElementAncestorIterator<ElementType>::ElementAncestorIterator(ElementType*) [with ElementType = WebCore::Element]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:147:   instantiated from 'WebCore::ElementAncestorIterator<ElementType> WebCore::ElementAncestorIteratorAdapter<ElementType>::begin() [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:986:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:97errorno matching function for call to 'WebCore::ElementIterator<WebCore::Element>::ElementIterator(std::nullptr_t&, WebCore::Element*&)'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:105notecandidates areWebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*, ElementType*) [with ElementType WebCore::Element]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:94note:                 WebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*) [with ElementType WebCore::Element]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:38note:                 WebCore::ElementIterator<WebCore::Element>::ElementIterator(const WebCore::ElementIterator<WebCore::Element>&)
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.hIn constructor 'WebCore::ElementAncestorIterator<ElementType>::ElementAncestorIterator() [with ElementType = WebCore::Element]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:153:   instantiated from 'WebCore::ElementAncestorIterator<ElementType> WebCore::ElementAncestorIteratorAdapter<ElementType>::end() [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:986:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:87errorno matching function for call to 'WebCore::ElementIterator<WebCore::Element>::ElementIterator(std::nullptr_t&)'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:105notecandidates areWebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*, ElementType*) [with ElementType WebCore::Element]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:94note:                 WebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*) [with ElementType WebCore::Element]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:38note:                 WebCore::ElementIterator<WebCore::Element>::ElementIterator(const WebCore::ElementIterator<WebCore::Element>&)

In file included from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:37:
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.hIn function 'ElementTypeWithConst* WebCore::findElementAncestorOfType(const WebCore::Element&) [with ElementTypeWithConst = WebCore::HTMLLabelElement]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:213:   instantiated from 'WebCore::ElementAncestorIteratorAdapter<ElementType> WebCore::ancestorsOfType(WebCore::Element*) [with ElementType = WebCore::HTMLLabelElement]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1103:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:184errorcannot convert 'std::nullptr_t' to 'WebCore::HTMLLabelElement*' in return

In file included from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:363,
                 
from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:37:
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.hIn constructor 'WebCore::ElementAncestorIterator<ElementType>::ElementAncestorIterator(ElementType*) [with ElementType = WebCore::HTMLLabelElement]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:147:   instantiated from 'WebCore::ElementAncestorIterator<ElementType> WebCore::ElementAncestorIteratorAdapter<ElementType>::begin() [with ElementType = WebCore::HTMLLabelElement]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1104:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:97errorno matching function for call to 'WebCore::ElementIterator<WebCore::HTMLLabelElement>::ElementIterator(std::nullptr_t&, WebCore::HTMLLabelElement*&)'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:105notecandidates areWebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*, ElementType*) [with ElementType WebCore::HTMLLabelElement]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:94note:                 WebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*) [with ElementType WebCore::HTMLLabelElement]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:38note:                 WebCore::ElementIterator<WebCore::HTMLLabelElement>::ElementIterator(const WebCore::ElementIterator<WebCore::HTMLLabelElement>&)
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.hIn constructor 'WebCore::ElementAncestorIterator<ElementType>::ElementAncestorIterator() [with ElementType = WebCore::HTMLLabelElement]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:153:   instantiated from 'WebCore::ElementAncestorIterator<ElementType> WebCore::ElementAncestorIteratorAdapter<ElementType>::end() [with ElementType = WebCore::HTMLLabelElement]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1105:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:87errorno matching function for call to 'WebCore::ElementIterator<WebCore::HTMLLabelElement>::ElementIterator(std::nullptr_t&)'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:105notecandidates areWebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*, ElementType*) [with ElementType WebCore::HTMLLabelElement]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:94note:                 WebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*) [with ElementType WebCore::HTMLLabelElement]
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:38note:                 WebCore::ElementIterator<WebCore::HTMLLabelElement>::ElementIterator(const WebCore::ElementIterator<WebCore::HTMLLabelElement>&)

In file included from /usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:37:
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.hIn constructor 'WebCore::ElementIterator<ElementType>::ElementIterator(const WebCore::ContainerNode*) [with ElementType = WebCore::Element]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementChildIterator.h:80:   instantiated from 'WebCore::ElementChildIterator<ElementType>::ElementChildIterator(const WebCore::ContainerNode*) [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementChildIterator.h:133:   instantiated from 'WebCore::ElementChildIterator<ElementType> WebCore::ElementChildIteratorAdapter<ElementType>::end() [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:426:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:99errorcannot convert 'std::nullptr_t' to 'WebCore::Element*' in initialization
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.hIn function 'ElementTypeWithConst* WebCore::findElementAncestorOfType(const WebCore::Element&) [with ElementTypeWithConst = WebCore::Element]':
/
usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:195:   instantiated from 'WebCore::ElementIterator<ElementType>& WebCore::ElementIterator<ElementType>::traverseAncestor() [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementAncestorIterator.h:105:   instantiated from 'WebCore::ElementAncestorIterator<ElementType>& WebCore::ElementAncestorIterator<ElementType>::operator++() [with ElementType = WebCore::Element]'
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/accessibility/AccessibilityNodeObject.cpp:986:   instantiated from here
/usr/local/amiga/odyssey-r155188-1.23/Source/WebCore/dom/ElementIterator.h:184errorcannot convert 'std::nullptr_t' to 'WebCore::Element*' in return



So i had to replace nullptr in that file on NULL, as well as do the same replaces in the ElementAncestorIterator.h and ElementIterator.h. But while that can looks logical, its still wrong when it come to c++ and all that overloading of everything (see google, it can be ok for some cases, but still can't for another, expectually for c++ and overloading).

Another error come from Source/Webcor/dom/ConainerNode.cpp, and while a bit different, still about the same nullptr, and still i had to replace it on NULL too to make it compiles (which is also can be just wrong):

Quote:

ContainerNode.cpp:671: error: cannot convert 'std::nullptr_t' to 'WebCore::Element*' in initialization
ContainerNode.cpp:671: error: cannot convert 'std::nullptr_t' to 'WebCore::Element*' in initialization



In other words, in those fils i do that changes to make it compiles on my gcc (i.e. nullptr on null).

Source/Webcore/dom/ElementAncestorIterator.h
Source/Webcore/dom/ElementIterator.h

Source/Webcore/dom/ContainerNode.cpp:
Source/Webcore/dom/element.cpp
Source/Webcore/dom/spacesplitstring.cpp
Source/Webcore/history/cachedpage.cpp
Source/WebCore/html/HTMLFieldSetElement.cpp
Source/WebCore/html/HTMLFrameSetElement.cpp
Source/WebCore/html/HTMLLegendElement.cpp
Source/WebCore/style/StyleResolveTree.cpp


I use gcc 4.4.3, while fab use 4.4.5. I do not know why i have those errors, i assume because of gcc differences, dunno.. Strange thing, is that this "nullptr" used in all other parts of webcore, and dindn't bring any errors or warning. Webkit even have nullptr.h and nullptr.cpp files, where there is special defines of nullptr for compiler which do not have it, and while it works for all parts, as i say for those files which i quote it didn't , and to make it compiles i had to replace it like this. Maybe 4.4.5 gcc deal with it normally, dunno.

Going deep inside of c++ webkit code are of course mess, and i do not know a shit there. So only idea i have for now, its build latest version from adtools (is it 4.4.5 as well ?) and try to build it.

I of course think about chaing those nullptr on something like (void *)0 , so to make it "like nullptr" or making some things like done in the google by ppls who have same kind of problems (i.e. make template/class/etc for it), but just do not know if that right to make those hacks-shmaks, while all should just compiles as it.

Visually now, its all crashes with null-pointer once i start to works with pages (db-click on some forms, etc). Even can reproduce it in "About:" page, just by clicking on credits part : click on unfold them fine, then clicking to fold them back : crash is coming.

Crash looks like this:

Crash log for task "owb"
Generated by GrimReaper 53.16
Crash occured in module owb at address 0x7F860CB0
Type of crash
DSI (Data Storage Interruptexception

Register dump
:
GPR (General Purpose Registers):
   
000000000 64D5EB70 DEADBEEF 00000000 00000000 00000001 64D5EE3C 00000001 
   8
00000000 64F8C2E0 6455D13C 64D5EC00 00000798 64F8A740 00000000 00000000 
  16
00000000 00000226 00000156 00000000 64D5EC8C 64D5EDA8 64D5ECB4 64D5EE3C 
  24
64D5EC9C 64D5EC58 64D5ECF4 64D5EC28 00000000 64D5EC2C 64E9774C 64D5EB70 


FPR 
(Floating Point RegistersNaN Not a Number):
   
0:              nan                0                0                0 
   4
:                0                0                1             -374 
   8
:             -524              550                1              551 
  12
:       4.5036e+15                0                0                0 
  16
:                0                0                0                0 
  20
:                0                0                0                0 
  24
:                0                0                0                0 
  28
:                0                0                0                0 

FPSCR 
(Floating Point Status and Control Register): 0xA2002100


SPRs 
(Special Purpose Registers):
           
Machine State (msr) : 0x0200F030
                Condition 
(cr) : 0x85027002
      Instruction Pointer 
(ip) : 0x7F860CB0
       Xtended Exception 
(xer) : 0x0000FFFF
                   Count 
(ctr) : 0x63641710
                     Link 
(lr) : 0x6371FDA8
            DSI Status 
(dsisr) : 0x636416E8
            Data Address 
(dar) : 0x6360796C

Symbol info
:
Instruction pointer 0x7F860CB0 belongs to module "owb" (PowerPC
Symbol_ZN6icu_4922RuleBasedBreakIterator9followingEi 0x44 in section 1 offset 0x023AEC8C

Stack trace
:
    
_ZN6icu_4922RuleBasedBreakIterator9followingEi()+0x44 (section 1 0x23AEC8C)
    
ubrk_following_49()+0x38 (section 1 0x23A863C)
    
_ZN7WebCore18textBreakFollowingEPNS_17TextBreakIteratorEi()+0x2c (section 1 0xD76290)
    
_ZN7WebCore16findWordBoundaryEPKtiiPiS2_()+0x5c (section 1 0xD754E4)
    
_ZN7WebCoreL17startWordBoundaryEPKtjjNS_33BoundarySearchContextAvailabilityERb()+0x78 (section 1 0x3C8BD4)
    
_ZN7WebCoreL16previousBoundaryERKNS_15VisiblePositionEPFjPKtjjNS_33BoundarySearchContextAvailabilityERbE()+0x780 (section 1 0x3D23E8)
    
_ZN7WebCore11startOfWordERKNS_15VisiblePositionENS_9EWordSideE()+0x148 (section 1 0x3D2FFC)
    
_ZN7WebCore16VisibleSelection52setStartAndEndFromBaseAndExtentRespectingGranularityENS_15TextGranularityE()+0x51c (section 1 0x3C4808)
    
_ZN7WebCore16VisibleSelection8validateENS_15TextGranularityE()+0x4c (section 1 0x3C61F8)
    
_ZN7WebCore16VisibleSelection22expandUsingGranularityENS_15TextGranularityE()+0x3c (section 1 0x3C724C)
    
_ZN7WebCore12EventHandler34selectClosestWordFromHitTestResultERKNS_13HitTestResultENS_24AppendTrailingWhitespaceE()+0x2f0 (section 1 0x6E2DF4)
    
_ZN7WebCore12EventHandler31selectClosestWordFromMouseEventERKNS_28MouseEventWithHitTestResultsE()+0x58 (section 1 0x6E32D4)
    
_ZN7WebCore12EventHandler32handleMousePressEventDoubleClickERKNS_28MouseEventWithHitTestResultsE()+0x50 (section 1 0x6E336C)
    
_ZN7WebCore12EventHandler21handleMousePressEventERKNS_28MouseEventWithHitTestResultsE()+0x3e4 (section 1 0x6E8FD4)
    
_ZN7WebCore12EventHandler21handleMousePressEventERKNS_18PlatformMouseEventE()+0x840 (section 1 0x6EA74C)
    
_ZN14WebViewPrivate17onMouseButtonDownE12IntuiMessage()+0xb8 (section 1 0xE0D08)
    
_ZN7WebView17onMouseButtonDownE12IntuiMessage()+0x124 (section 1 0xB92E4)
    
_ZL22handleMUIM_HandleEventP6IClassPmP16MUIP_HandleEvent()+0xaf8 (section 1 0x16CF8)
    
_ZL8dispatchP6IClassPmP4_Msg()+0x47c (section 1 0x1DADC)
    
CustomClassDispatcher()+0xa0 (section 1 0x41B4)
    
native kernel module intuition.library.kmod+0x0001824c
    native kernel module intuition
.library.kmod+0x00018470
    native kernel module intuition
.library.kmod+0x0000832c
    native kernel module intuition
.library.kmod+0x00007fe0
    SendIMsgs
()+0x378 (section 1 0x76900)
    
m_Window_Input()+0x9f4 (section 1 0x7B768)
    
m_Application_NewInput()+0x784 (section 1 0x25228)
    
ApplicationDispatcher()+0x544 (section 1 0x28ED8)
    
native kernel module intuition.library.kmod+0x0001824c
    native kernel module intuition
.library.kmod+0x00018470
    native kernel module intuition
.library.kmod+0x00008300
    _ZL8dispatchP6IClassPmP4_Msg
()+0x164 (section 1 0xF248)
    
CustomClassDispatcher()+0xa0 (section 1 0x41B4)
    
native kernel module intuition.library.kmod+0x0001824c
    native kernel module intuition
.library.kmod+0x00018470
    native kernel module intuition
.library.kmod+0x00008448
    native kernel module intuition
.library.kmod+0x00008088
    _Z9main_loopv
()+0x178 (section 1 0x444)
    
main()+0x164 (section 1 0x1148)
    
native kernel module newlib.library.kmod+0x000020a4
    native kernel module newlib
.library.kmod+0x00002d54
    native kernel module newlib
.library.kmod+0x00002ee8
    _start
()+0x170 (section 1 0x16C)
    
native kernel module dos.library.kmod+0x00024cd0
    native kernel module kernel
+0x0006acd0
    native kernel module kernel
+0x0006ad50

PPC disassembly
:
 
7f860ca8801f0028   lwz               r0,40(r31)
 
7f860cac7c080378   mr                r8,r0
*7f860cb080080160   lwz               r0,352(r8)
 
7f860cb42f800000   cmpwi             cr7,r0,0
 7f860cb8
419e0164   beq-              cr7,0x7F860E1C



While crash point out on icu, i still think problem is with nullptr changes, as its all about changes in the ElementItterator.h (and crashes are in the TextBreakIterator function of webcore which then crasehs on same function in ICU itself) and related files which do not compiles as it.

Besides crashlog point out on null-pointer crash as well (r8=0x000000) which can mean exactly all that changes and that there is those situations when nullptr is must, and null can't be. I fear if i will made some replacements (like (void *)0), it still will have bad side-effects because of all those overloads and c++ crappos.

Damny damn ! Any ideas suggestion for fast fix so we can check youtube ?:)


Edited by kas1e on 2014/2/2 7:22:24
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@kas1e

Ok you are crosscompiling so maybe it's a silly question, but we doesn't have an updated GCC to try ?
For example latest YAM builds are compiled with GCC 4.7.1, Thore or Damato should have it i think ..

Try to check on: http://sourceforge.net/projects/adtools/

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@kas1e

nullptr is a C++11 extension which replaces NULL with a more strictly typed replacement.

So perhaps your g++ doesn't support C++11 ?

I don't know what version of gcc brings that support in.

Judging by this it would be 4.6

https://bugzilla.mozilla.org/show_bug.cgi?id=777511

The suggestion there is to do

#define nullptr __null


BTW your crash is not because r0 in 0x00000000 it's because r8 is 0x00000000.

Can you not get the line number of the crash?

Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@kas1e

If the old sqlite port you have works fine, you can just keep it. A newer one isn't required.

Regarding your nullptr issue, you'd need a newer GCC (and more recent WebKit will definitely need a newer one since they use more and more C++11 features), but for this particular revision (r155188), you can just replace it with 0. Your crash issue is most likely unrelated to this, and probably caused by ICU somehow.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@samo79
Quote:

Ok you are crosscompiling so maybe it's a silly question, but we doesn't have an updated GCC to try ?

I just need to buld last one from adtools, which easy, but is last thing i want to do, as new crosscompiler as usual will bring some new bugs with which need to deal again.


Quote:

I know where adtools placed of course :) Just build new compiler now will mean recompile of whole odyssey again, as well as it will bring new bugs in new compiler which i didn't have in current one (usual stuff) and it will need again some time.

@broadblues
Quote:

nullptr is a C++11 extension which replaces NULL with a more strictly typed replacement.

So perhaps your g++ doesn't support C++11 ?


It is support it. There is -std=gnu-0x and -std=c++0x which make it works. Whole Odyssey builds with it now. As well, as i says in all other places nullptr works fine in webkit, its just in those particular files it didn't compiles.

Quote:

The suggestion there is to do
#define nullptr __null


In google there is bunch of another suggestions as well, but, if check google more deeply, they says that you can't in all the cases replace it on 0 or NULL, expectually when c++ do overloading of all stuff.

There is good pdf which explain differences with null and nullptr: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1601.pdf

After reading of which nullptr =! null for sure.


Quote:

BTW your crash is not because r0 in 0x00000000 it's because r8 is 0x00000000. Can you not get the line number of the crash?


What you mean by "can you not get the line number of the crash" ? How i can't get it, if :

7f860cb0: 80080160 lwz r0,352(r8)

mean relative access to r8 and registers dump show r8 as 0x00000000 too. (edit: fixed typo in previous post about r0).

@Fab
Quote:

Regarding your nullptr issue, you'd need a newer GCC (and more recent WebKit will definitely need a newer one since they use more and more C++11 features),


I think i will build 4.4.5 to have all the same as you then.


Quote:

but for this particular revision (r155188), you can just replace it with 0.


That what i do before. Also , in one place i had to replace 0 on nullptr back. And nullptr used in those files no everytime the same. In some its just return nullptr, in some its ? something : nullptr, and co.

Quote:

Your crash issue is most likely unrelated to this, and probably caused by ICU somehow.


But crash point out on iterators (where i do those changes), as well as it point on those relative null pointers when crashes, as well as i tried libicu and with libicudatastub.a , and with full libicudata.a as static and all changes in libicu i do, its build it like:

./configure --build=i686-pc-cygwin --host=ppc-amigaos --with-cross-build=/usr/local/amiga/icu/source/icu_os4 --disable-shared --enable-static --disable-tests --disable-samples --disable-debug CFLAGS='-static -mlongcall' CXXFLAGS='-static -mlongcall' LIBS=-lunix

Then i also have to undef some TZNAME define (in pputl.c or something), and as i on cross-compiler i also build x86 version of libicu in another place to have those "bins" which used to generate stuff, and put them instead of ppc ones to aos4 build so be able to compile and generate everything.

That all i do, and its the same as i do before (at least my notes says so for previous versions).

In other words, seems only way to go now its build new compiler from adtools (and meet with new bugs from it, of course :) ). At least it should deal with compiling issues with nullptr, and if bug will be still here, then it will point out on icu itself indeed and then will try to rebuild icu natively on os4.

@All
That all will take some time, probably few days.


Edited by kas1e on 2014/2/2 7:26:53
Edited by kas1e on 2014/2/2 7:35:05
Edited by kas1e on 2014/2/2 7:43:43
Edited by kas1e on 2014/2/2 7:45:59
Edited by kas1e on 2014/2/2 7:47:04
Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
@kas1e

If you build the current adtools 4.7.x branch with gcc 4.8.x you will need to apply a small patch.

http://www.amigans.net/modules/xforum ... t_id=86806#forumpost86806

You will need to downgrade texinfo to before v5 as well.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@kas1e
Quote:

What you mean by "can you not get the line number of the crash" ? How i can't get it, if :


By using addr2line on the stack trace or a more recent GrimReaper ofcourse, not from the diassembly obviously.

And, without reading you link to see if there are more differences, the difference between nullptr and 0 is that mullptr invokes the pointer based overloaded function and 0 the integer (if the function is overloaded to differentiate) whether that also applies to NULL which is (void *)0L I dont know. Most of the time that should be okay. You could save yourself the time of building a gcc compiler by checking where the code crashes first!






Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Mick
Quote:

You will need to downgrade texinfo to before v5 as well.


There was commits 482-483 from SBA : "Fixed to allow building with latest texinfo tools", imho they deal with.

@broadblues
I know how to use crashlogs :) but i will start from new compiler because i need it soon or later. Better to do it now, and exclude from todo list (for future versions of Odyssey as well).

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@kas1e

From your stack trace, it doesn't look related to these small nullptr/0 changes at all... It's really about ICU. It's not that unusual to have crashes that points to null pointers, you know... It doesn't mean it's related to these nullptr changes.

A wild guess would be ICU fails to find some of its data files, and since it's so well designed, it doesn't check for errors and crashes. So if you want to make a quick test, just change findWordBoundary to something void, and see what happens.


And about this nullptr issue, i really just replaced with 0 where needed in my port. I just didn't include this change in released sources because you may not have needed it, if you have compiled it with a newer gcc, i didn't want to change webkit sources there without reason.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Fab
Quote:

A wild guess would be ICU fails to find some of its data files


I just reuse your data files from 1.23. So it should find all datafiles imho and all should works ?

Can you just post your configure line for libicu so i can be sure i build it same as you ? You for sure make no single change in libicu ? Not a single/simple one ?

Quote:

It's not that unusual to have crashes that points to null pointers, you know... It doesn't mean it's related to these nullptr changes.


I build libicu without changes just like you says, as well as i reuse your datafiles from 1.23. How it can not find datafiles then ?

Quote:

So if you want to make a quick test, just change findWordBoundary to something void, and see what happens.


Ok, will check it tomorrow.


Quote:

And about this nullptr issue, i really just replaced with 0 where needed in my port. I just didn't include this change in released sources because you may not have needed it, if you have compiled it with a newer gcc, i didn't want to change webkit sources there without reason.


Omiga1200 ! i was in hope that your sources 1:1 the same as you release, and because of that make assumption that if sources have ppc-morphos-gcc-4.4.5 then sources ready to build for exactly that..

Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@kas1e

Well, you should run that snoopdos-like tool to check if ICU really looks for these files in progdir:resource/icublah/ dir? If you didn't specify this path anywhere in your icu build, it's extremely unlikely they will be found magically by ICU. :)

Go to top

  Register To Post
« 1 2 3 (4) 5 6 7 ... 72 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )



Polls
Running AmigaOS 4 on?
AmigaOne SE/XE or microA1 12% (26)
Pegasos2 3% (8)
X5000 22% (48)
X1000 14% (30)
A1222 8% (19)
Sam 440/460 18% (40)
Classic PowerPC Amiga 2% (6)
WinUAE emulation 7% (16)
Qemu emulation 9% (21)
Total Votes: 214
The poll closed at 2025/12/1 12:00
7 Comments


Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project