Page 31 of 104
Posted: Sat Jul 15, 2006 4:46 pm
by Shannara
Ok, did as was required. It started the compiler, then crashed, no errors nothing, in japbe which is in debug mode, etc. ..
Any other ideas?
Steps to reproduce ...
01. Install Windows XP
02. Install all of the latest updates for Windows XP
03. Install PureBasic 3.94 in one directory.
04. Install PureBasic 4.0 in another directory.
05. Install Japbe for PB 3.x in one directory.
06. Install Japbe for PB 4.x in another directory.
07. Configure each japbe to point to the appropriate compiler version directory.
08. For each PB compiler directory, place in sciLexer.dll.
09. Install SocketTools Library Edition.
10. Install the SocketTools Library Edition PureBasic support files.
11. Download
http://www.unformed.com/st.zip and extract somewhere on your computer.
12. Extract the Japbe sources into the japbe for pb4 directory.
13. Run Japbe for pb 3, and load the japbe sources ala japbe.pb.
14. Press F6 to run the japbe sources in debug mode.
15. Now take that running japbe and load up the st sources, try the server.pb first.
16. Now press F6, and you will get the following, every time ...
http://www.unformed.com/japbe-bug.jpg
Posted: Mon Jul 17, 2006 8:11 am
by gnozal
From what I can see in
http://www.unformed.com/japbe-bug.jpg , it's not a jaPBe crash, it's a Purebasic compiler crash !
PBCompiler-jaPBe.exe is a patched PBCompiler.exe (see PatchPB.pbi) : 'Polink' is replaced by 'Folink'.
Posted: Mon Jul 17, 2006 4:19 pm
by Shannara
So it's a japbe patched pb compiler crash? That would explain why the bug only happens with japbe and not the pb ce.
Ok, since it crashes on something modified by pb, but only afterwards what's the best way to debug that sucker?
(edit): Ok, when I get home tonight, I'll look at that pbi, and try to clone the patching process it does with the pb compiler, hopefully be able to run it through a debugger to see what the heck is going on. I'll give you my results in a few hours as I am really hoping to get this bug cleared off the list
jaPBe rules hardcore for both ease of use, speed and just down right awesome. SocketTools rules as it provides much needed functionality. The ability to use these two together in XP would be a nice dream
Anyways, I'll post back in a bit.
Posted: Tue Jul 18, 2006 2:20 am
by Shannara
Ok, I removed the f replacement, still crashes. I did a return of true and tried a false one at the beginning, still crashes ... hrm ..
Isnt there a way around this from patching PB? And why patch PB compiler itself instead of leaving it alone?
Posted: Tue Jul 18, 2006 9:23 am
by gnozal
Shannara wrote:Ok, I removed the f replacement, still crashes. I did a return of true and tried a false one at the beginning, still crashes ... hrm ..
Isnt there a way around this from patching PB? And why patch PB compiler itself instead of leaving it alone?
I think GPI added this patching thing because the patched compiler starts a pseudo linker (Folink) wich adds some functionnality like resources and stuff. I don't know if this is still necessary with the new Purebasic (never studied this part of the sources).
Posted: Fri Jul 21, 2006 12:11 pm
by nicolaus
@gnozal
I have one question about plugins for jaPBe.
In the orginal IDE of PB you have in the config section for tools the Argument "%EXECUTABLE%".
But in jaPBe i cant found this argument so how i can have the path to the last createt executable?
THX
Nico
Posted: Fri Jul 21, 2006 3:18 pm
by gnozal
nicolaus wrote:@gnozal
I have one question about plugins for jaPBe.
In the orginal IDE of PB you have in the config section for tools the Argument "%EXECUTABLE%".
But in jaPBe i cant found this argument so how i can have the path to the last createt executable?THX
Nico
At the moment, you can't (no variable %EXECUTABLE).
But you can get the temporary executable name (chosen by PBCompiler) in \Compilers\Communication.msg after you do F5/F6.
crash
Posted: Thu Jul 27, 2006 11:41 am
by denise_amiga
1.- open japbe
2.- import(return)
3.- ---crash---
pd. config: all default.
os: winxp sp2
version: jaPBe 3.6.7.548
Re: crash
Posted: Thu Jul 27, 2006 1:25 pm
by gnozal
denise_amiga wrote:1.- open japbe
2.- import(return)
3.- ---crash---
pd. config: all default.
os: winxp sp2
version: jaPBe 3.6.7.548
Can't reproduce the problem here.
If I open jaPBe, type 'import' + Return, I get this :
Anyway, I made a little change and I have uploaded a new version, could you test it ?
Download Last BETA [EXE only]
http://people.freenet.de/gnozal/jaPBeForPB400_beta.zip
Posted: Thu Jul 27, 2006 4:52 pm
by denise_amiga
i test it new beta (549) and it´s ok

no crash
thx
pd: sorry for my english
Posted: Thu Jul 27, 2006 9:35 pm
by Shannara
Thank you for the update.
The good news? The patched compiler no longer crashes when using socket tools.
The bad news? The compiler now terminates with absolutely no warning.
Is there any chance to just bypass the patching of the pb compiler entirely?
Posted: Thu Jul 27, 2006 10:20 pm
by Kiffi
Hello gnozal,
Code: Select all
Enumeration
#button1
#button2
#button3
EndEnumeration
i want to duplicate the two lines with button2 and button3, so i selected this
lines. Then i press Ctrl+C once and Ctrl+V twice,
this is, was jaPBe wrote:
Code: Select all
Enumeration
#button1
EndEnumeration #button2
#button3
#button2
#button3
Strange, isn't it?
Greetings ... Kiffi
Posted: Fri Jul 28, 2006 7:36 am
by gnozal
Kiffi wrote:Strange, isn't it?

Greetings ... Kiffi
Strange indeed
Looks like I forgot some debugging code

Please test
http://people.freenet.de/gnozal/jaPBeForPB400_beta.zip
Kiffi wrote:Is there any chance to just bypass the patching of the pb compiler entirely?
Probably ; you may just loose some resource functionalities.
A fast way to find out : you can try it (not tested).
Download the sources, open PatchPB.pbi, and in procedure PatchPB() just comment lines 22 to 41, and recompile jaPBe.
Code: Select all
; For i=1 To len
; ;lcclnk.exe
; If *buf\b=#LinkerFirstChar1 Or *buf\b=#LinkerFirstChar2
; If CompareMemoryString(*buf,#Linker,#True,10)=0
; *buf\b='f' ; <-------------- PATCH IS HERE
; EndIf
; EndIf
; ; If *buf\b='p' Or *buf\b='P'
; ; If CompareMemoryString(*buf,"PureBasic v",#True,11)=0
; ; *ver.BYTE=*buf+11
; ; PBVersion$=""
; ; While *ver\b<>0 And *ver\b<>13 And *ver\b<>10 And *ver\b<>'-'
; ; PBVersion$+Chr(*ver\b)
; ; *ver+1
; ; Wend
; ; PBVersion$=Trim(PBVersion$)
; ; EndIf
; ; EndIf
; *buf+1
; Next
Posted: Fri Jul 28, 2006 4:42 pm
by Shannara
As mentioned a few posts up, that didnt change anything

Still crashes, but was worth a shot

Posted: Fri Jul 28, 2006 11:29 pm
by Kiffi
Hello gnozal,
gnozal wrote:Please test
perfect! Now it works like expected. Thanks a lot!
Greetings ... Kiffi