Shop OBEX P1 Docs P2 Docs Learn Events
BST question/issue — Parallax Forums

BST question/issue

photomankcphotomankc Posts: 943
edited 2009-11-25 05:49 in Propeller 1
I was using and really liking BST for my propeller projects but lately I keep running into an issue. After a couple of compiles, when the pop-up shows up just before the code is loaded to the Prop BST locks up good. Some message box eventually appears behind the 'Knight Rider' window, for lack of a better term. I can't see what it says because I can't see the the title bar to move it. If you dismiss the hidden dialog then every few seconds another window spawns into the task bar and disappears. The only way to get past this is to kill the process and restart. The worst part is that this keeps nailing me as I'm testing unsaved changes so I lose my work each time it happens. So for now I just can't really use it. I was wondering if this is known issue or if there is anything I can do to fix it if possible.

I'm on Windows, both on Vista and Windows 7. This happens on both systems each using different PropPlugs and programming different boards.
«1

Comments

  • BradCBradC Posts: 2,601
    edited 2009-11-04 19:59
    photomankc said...
    I was using and really liking BST for my propeller projects but lately I keep running into an issue. After a couple of compiles, when the pop-up shows up just before the code is loaded to the Prop BST locks up good. Some message box eventually appears behind the 'Knight Rider' window, for lack of a better term. I can't see what it says because I can't see the the title bar to move it. If you dismiss the hidden dialog then every few seconds another window spawns into the task bar and disappears. The only way to get past this is to kill the process and restart. The worst part is that this keeps nailing me as I'm testing unsaved changes so I lose my work each time it happens. So for now I just can't really use it. I was wondering if this is known issue or if there is anything I can do to fix it if possible.

    Not a known issue, but need more information.

    What worries me is you are losing your work. bst takes great care to save an autorecovery file prior to each compile for all unsaved tabs. If it's not popping back up and telling you its recovering files when you next load it then there is a problem there I need to look at. I know Vista and Windows 7 do incredibly un-intuitive things in the background with files supposed to be saved in user profiles, but I have no idea why it would not be saving the autorecovery file. It should scream loudly if it can't do that.

    Can you do a search of your filesystem for a file called '.bst.recover' ?

    I don't own Vista, or Windows 7 to test on. Which version of bst are you running?

    Can you reproduce the problem using simple test code or is it dependent on the code you are developing a the moment?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-04 21:40
    When I can get an opportunity I can get some of that info for you. I will say it seems to happen mostly on my Thermostat project which is a relatively complex project with several objects nested togther. I don't remember it doing this with some of the other small projects so I may have to try it out there. Once or twice it did seem to pop back in with my changes but there are as many occasions when it does not.

    Another tidbit would be that my development work is on a shared network mapped drive. I have several computers I work from so that is a must to me rather than code scattered about on each system. That may play into it. I have BST stored on that mapped drive and always just ran the executable from there.

    BST is version 0.18.4

    I'll look for the recover files when I get home.
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-11-05 02:04
    I've run into this on Ubuntu, but i thought it was a USB issue...
    photomankc said...
    When I can get an opportunity I can get some of that info for you. I will say it seems to happen mostly on my Thermostat project which is a relatively complex project with several objects nested togther. I don't remember it doing this with some of the other small projects so I may have to try it out there. Once or twice it did seem to pop back in with my changes but there are as many occasions when it does not.

    Another tidbit would be that my development work is on a shared network mapped drive. I have several computers I work from so that is a must to me rather than code scattered about on each system. That may play into it. I have BST stored on that mapped drive and always just ran the executable from there.

    BST is version 0.18.4

    I'll look for the recover files when I get home.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • localrogerlocalroger Posts: 3,452
    edited 2009-11-05 02:54
    photomankc, I know it's convenient but it's a really, really bad idea to use a network mapped drive for any application that expects an actual local disk. There are many failures that can and frequently do occur on network drives that never occur on local hardware, such as starting a process successfully and totally losing communication or having a comms timeout in the middle. I know it should work, I know it's a bug in the application that shouldn't be there, but I've learned the hard way that it's just a bad idea. Work from local storage and save to the network when you're done.
  • BradCBradC Posts: 2,601
    edited 2009-11-05 04:22
    localroger said...
    photomankc, I know it's convenient but it's a really, really bad idea to use a network mapped drive for any application that expects an actual local disk. There are many failures that can and frequently do occur on network drives that never occur on local hardware, such as starting a process successfully and totally losing communication or having a comms timeout in the middle. I know it should work, I know it's a bug in the application that shouldn't be there, but I've learned the hard way that it's just a bad idea. Work from local storage and save to the network when you're done.

    I use and test bst on networked drives on Linux, MacOS and Windows. My entire test suite lives on a server that is accessed by SMB on Win32 and OSX, and NFS on Linux, so bst does not in any way rely on a local disk. Prior to each release, bst and bstc compiles and loads over 1800 spin files on each platform over the network, so I hope it's not that [noparse]:)[/noparse]

    More info would be helpful. If you think it might be an issue with a code error causing bst to die (it will come back and just say the compile failed but not give any errors in the error window) then if you could send me the code so I can reproduce it locally I can get it fixed.

    If you do ever get a compile die, save your work and restart the IDE. Cleaning up a thread after a segfault is somewhat dicey sometimes. I do the best I can, but there are limits.

    I am _incredibly_ concerned that you are losing work though, as I've put a massive amount of effort into what I thought was a very reliable recovery mechanism. I even have menu items and special code defines to cause compiler and IDE explosions specifically to test the recovery code on all the platforms.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-05 05:56
    Try as I might I couldn't reproduce it tonight, of course. I have not been able to locate any recover files. I did have the compiler crash message on one of my smaller projects but the IDE didn't lock up and I was able to save restart. No other errors tonight.
  • BradCBradC Posts: 2,601
    edited 2009-11-05 06:36
    photomankc said...
    Try as I might I couldn't reproduce it tonight, of course. I have not been able to locate any recover files. I did have the compiler crash message on one of my smaller projects but the IDE didn't lock up and I was able to save restart. No other errors tonight.

    If you get a compiler crash I'd *really* appreciate a copy of the code that causes it. Can't fix it if I don't know about it.

    Of course, due to bst only archiving code that can actually compile, you can't use the archive function to zip up code that causes a crash so you need to do it by hand.

    That is one of the major issues I hope to resolve for 0.19.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2009-11-05 12:37
    I have had the hidden window behind Knight rider. For some reason When I try to load the EEROM on my latest Blade2/PropCOMM board, although the serial comms to the VDU half is disconnected by links, the compile finishes, the ram is loaded and then whilst the EEPROM Is being loaded, with about one third of the circles lit up, the window pops up behind and everything feezes. CTRL_ALT_DEL time. It does do a recovery, as far as I can tell.

    ·Perhaps the Knight rider could pop up somewhere else?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • BradCBradC Posts: 2,601
    edited 2009-11-05 13:07
    Ok, I've just uploaded 0.18.5-Pre1-test1 in the snapshots directory. This is absolute bleeding edge stuff and has not been really tested outside my Linux box, but I've put knight rider in the upper left hand corner to free up the center of the screen.

    This does have a couple of crashers fixed since 0.18.4 and one recently since 0.18.5-pre1
    www.fnarfbargle.com/bst/snapshots

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • BradCBradC Posts: 2,601
    edited 2009-11-05 13:11
    Whoops.. forgot to bump the version number.. give it 5 for a new upload

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-05 14:22
    BradC said...


    If you get a compiler crash I'd *really* appreciate a copy of the code that causes it. Can't fix it if I don't know about it.


    I'll get that to you shortly. It's not a 100% deal. I compiled and loaded RAM numerous times before I got one where it froze just prior to loading RAM. Clicking Knight Rider caused it to continue on but with "Compiler Crash" in the output pane. After that one incident it never did it again. I'll send you the source I was working on later.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2009-11-05 22:04
    My problem with EEPROM programming was My Fault. I had put in a bank of four pullup resistorss reversed, giving wierd problems. The crash that happened did leave BST in a worst state than Proptool which complained but got on with it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • BradCBradC Posts: 2,601
    edited 2009-11-05 23:52
    Toby Seckshund said...
    My problem with EEPROM programming was My Fault. I had put in a bank of four pullup resistorss reversed, giving wierd problems. The crash that happened did leave BST in a worst state than Proptool which complained but got on with it.

    Any chance you can give me a description of how you set it up so I can similarly break one of my proto boards and use that to reproduce the fault?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • BradCBradC Posts: 2,601
    edited 2009-11-06 10:59
    Toby Seckshund said...
    My problem with EEPROM programming was My Fault. I had put in a bank of four pullup resistorss reversed, giving wierd problems. The crash that happened did leave BST in a worst state than Proptool which complained but got on with it.

    Ok, so I've managed to make eeprom program/verify errors by shorting the SDA/SCL pins on the eeprom while the propeller is talking to it.

    I can't get it to play up on Linux. Are you using Windows?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2009-11-06 11:32
    Brad

    I like your commitment. Breaking hardware to prove software, very noble. Stupid, but noble all the same. I'll do the hardware errors and leave you to the software magic.

    What I had was a 4 x 10k SIL resistor strip (5 pins total) that should have pulled up P28, P29, P30 and P31 with the common going to VDD. By putting it in the wrong way around I had the common going to P31 and 10Ks going to VDD, P28, P29 and P30. The Prop's ram loaded ok but the EEPROM bit failed, serial comms was a bit wierd too·(I wonder why). This BST in limbo with a centre popup hiding behind Knight rider, CTRL_ALT_DEL.

    I was in no way complaining, just trying to report a poss bug/problem.



    And another thing ...· any chance of #def's and its matching partner "lighting up" like brackets do ???

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • BradCBradC Posts: 2,601
    edited 2009-11-06 12:03
    Toby Seckshund said...
    Brad

    I like your commitment. Breaking hardware to prove software, very noble. Stupid, but noble all the same. I'll do the hardware errors and leave you to the software magic.

    What I had was a 4 x 10k SIL resistor strip (5 pins total) that should have pulled up P28, P29, P30 and P31 with the common going to VDD. By putting it in the wrong way around I had the common going to P31 and 10Ks going to VDD, P28, P29 and P30. The Prop's ram loaded ok but the EEPROM bit failed, serial comms was a bit wierd too (I wonder why). This BST in limbo with a centre popup hiding behind Knight rider, CTRL_ALT_DEL.


    Stupid as it may sound, I don't mind breaking hardware if it will help me reproduce / fix a bug in my software. Having said that I've not broken anything yet, just upset it temporarily with a poke from a blunt needle. I get upset when I get poked with needles too.

    I do have 5 spare QFP props here, flux in the fridge and my hot air rework station is waiting at the UPS depot for me, so I am now equipped to fix it if I break it anyway.
    Toby Seckshund said...


    And another thing ... any chance of #def's and its matching partner "lighting up" like brackets do ???

    I'm investigating that bit it's going to require I add quite a bit more intelligence to the highlighter. It's on the todo list, but I can't guarantee when I'll get to it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-06 13:11
    Alright,
    The code that crashed the other night is attached to this post.

    http://forums.parallax.com/forums/default.aspx?f=21&m=399198
  • photomankcphotomankc Posts: 943
    edited 2009-11-07 16:33
    Alright, I got finally got to see what the error message was last night using your newest BST with Knight Rider moved. The error is "Loader Crashed". It locks up right as it goes to load the program into RAM. Heres the whole thermostat project that has been causing it to barf so regularly:
  • BradCBradC Posts: 2,601
    edited 2009-11-07 17:08
    photomankc said...
    Alright, I got finally got to see what the error message was last night using your newest BST with Knight Rider moved. The error is "Loader Crashed". It locks up right as it goes to load the program into RAM. Heres the whole thermostat project that has been causing it to barf so regularly:

    Excellent, at least I know what I'm chasing now. I can't reproduce this on Linux at all. I'll have to borrow a 'doze box and see if I can break it on there.

    OSX and linux share the same serial loader code as they are both POSIX compliant. Windows pretends to be POSIX compliant but breaks things enough that I need a completely different code path, and I don't test it as heavily as the others as I don't own a copy of Windows.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.

    Post Edited (BradC) : 11/7/2009 5:22:15 PM GMT
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2009-11-07 18:26
    Apologies, Brad, I didn't confirm that it was Windoze I was using.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • BradCBradC Posts: 2,601
    edited 2009-11-09 08:41
    Ok, this is a Windows specific bug caused by shifting focus in the application. Just to let you know I've not forgotten about it, I just had to beg a 'doze box with Vista to test with.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • BradCBradC Posts: 2,601
    edited 2009-11-09 10:11
    Just uploaded a new test version bst-0.18.5-Pre1-test2.

    This has a fairly significant rework of the load error handling code.

    Toby, I think your error was different to photomankc.

    Either way, the end result for both errors was the dialog box hiding behind the knight rider box because of a dud order I had in the error handling code.

    It was not actually a crash. On windows, if any menu is activated (like when you hit F10 while it's loading - it activates the application menu) the application stops responding to GUI messages until the menu is cleared (esc/F10/mouse click/etc...). This was causing the service thread to timeout and thus the crash message. Now, in the same situation, the GUI will still freeze until you click or whatever, but the underlying thread knows whether this is a crash or a GUI freeze and does the right thing.

    Now, the load code properly closes the knight rider window before reporting the error, and rather than a generic "load error" it will actually tell you what went wrong.

    In either case, rather than a ctrl-alt-del, a simple <enter> would have dismissed the dialog, but we could not see that as it was hidden. For this release I've left the knight-rider dialog up in the top corner, but it should *always* disappear prior to any form of error box popping up.

    Give it a whirl. I have the Windows box for another couple of days if it's still a problem.

    Linux and Mac users, no need to upgrade, but it will give you better error reports if you want them.

    <warning> Bleeding edge, relatively untested code than has not been through any QA.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-12 15:55
    I still get the Loader Crash error message but I do believe the knight-rider disappeared first but after dismissing the pop-up the app locked up and that was all-she-wrote. I'm probably going to just have to stick to the PropTool. I'll miss the the expandable and collapseable functions though. When it comes time to make a final EEPROM image I can use yours to shave out the unused code from other objects which is nice. I just can't work with it in active development while I'm compiling and testing at the same time.
  • BradCBradC Posts: 2,601
    edited 2009-11-12 23:58
    photomankc said...
    I still get the Loader Crash error message but I do believe the knight-rider disappeared first but after dismissing the pop-up the app locked up and that was all-she-wrote. I'm probably going to just have to stick to the PropTool. I'll miss the the expandable and collapseable functions though. When it comes time to make a final EEPROM image I can use yours to shave out the unused code from other objects which is nice. I just can't work with it in active development while I'm compiling and testing at the same time.

    Ok, so I'm going to keep trying.

    Using F10 or F11?

    Prop Plug?

    bst-0.18.5-Pre1-test2?

    Tried another USB cable?

    32 or 64 bit Windows?

    The timeout on the loader crashes message is 10 seconds of no-response. Is it actually waiting 10 seconds?

    Do you have double-baudrate downloads enabled ? (Compiler options dialog)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • BradCBradC Posts: 2,601
    edited 2009-11-13 02:21
    Just uploaded a new test version bst-0.18.5-Pre1-test3.

    This has a significant rework in the keypress handling.

    On Vista, it looks like the first F10 keypress was bringing up the compiler and also the application menu at the same time, jamming things right up. I've found a reliable way of preventing the application menu coming up on the first F10 keypress.

    This problem never manifested itself on XP (which is what I test the Win32 version on).

    I still can't make the loader crash however. photomankc, I've compiled and loaded your attached code above to RAM and EEPROM about 100 times and not run into an issue on 32 Bit Vista Home Premium. If you can still reliably make it crash without much effort, I'll keep bashing away until we can solve it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.

    Post Edited (BradC) : 11/14/2009 3:21:11 AM GMT
  • photomankcphotomankc Posts: 943
    edited 2009-11-13 02:21
    Using f10

    PropPlug, 2 different plugs

    bst-0.18.5-Pre1-test2

    Happens with any USB cable

    Both 32 and 64bit Vista and Win7

    Yes, it does seem to wait 10 seconds.· In the meantime the Prop resets and starts over.

    No Double Baud Rate is not enabled.

    Some type of blank pop-up fires off when I start the app too sometimes.· Closing it via the red X then loads up the IDE.
    ·
  • photomankcphotomankc Posts: 943
    edited 2009-11-13 02:23
    I'll give it more runs after the weekend. Going to spend a little quality time in the woods hunting Bambi this weekend.
  • BradCBradC Posts: 2,601
    edited 2009-11-13 02:24
    photomankc said...
    U
    Some type of blank pop-up fires off when I start the app too sometimes. Closing it via the red X then loads up the IDE.

    I've just seen this. The "blank pop up" actually is supposed to say "It appears we are recovering X files". I don't yet know why it is not displaying the contents of the message.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • photomankcphotomankc Posts: 943
    edited 2009-11-13 02:28
    That makes sense. It brought up the recovery file on that load. I do seem to be getting those regularly at this point so that is working.
  • BradCBradC Posts: 2,601
    edited 2009-11-13 04:15
    Just uploaded a new test version bst-0.18.5-Pre1-test4.

    Solved the blank dialog issue on Vista. There appear to be some not-insignificant oddities with Vista that don't exist with XP. <shrug>

    Added a metric ton of extra debugging and error handling surrounding the serial loader to try and get a useful error. Can now pull the USB lead out mid-load and get a message rather than a lock up.

    Added the same handling to the serial terminal so when you pull the USB lead out while it's connected it won't do nasty things.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
Sign In or Register to comment.