testing the Uemis code [was Re: UEMIS-bug fix: fixing the dialog message when the memory us full]

Guido Lerch guido.lerch at gmail.com
Thu Sep 17 03:13:06 PDT 2015


2015-09-16 19:43 GMT+02:00 Guido Lerch <guido.lerch at gmail.com>:

> Hi Dirk
> I'll digest this later, I am on the road now.
>
> I might send you and Linus a special patch that writes down the Uemis and
> files to disc.
> As said I tested with two computer and both worked fine and fast.
> If the download is slow it typically means that we cannot match the log
> entries to the dive details and typically you run out of memory with no
> results.
> My hope is that with that special patch I see how different out dive logs
> and dive details are and amend the algorithm.
>
>
> G. Lerch
>
>
> Mittwoch, 16. September 2015 16:34 +0200 von Dirk Hohndel <
> dirk at hohndel.org>:
>
> Good morning Guido...
>
> On Wed, Sep 16, 2015 at 09:02:11AM +0200, Guido Lerch wrote:
> > > My results were not as good as Linus'
> > > After 8h connected to a charger it finally came back to life.
> > >
> > > When trying to download (empty dive file, so start from the oldest
> dive)
> > > it loads the first set of dives and then ping-pongs between details
> for #2
> > > and details for #3 back and forth and back and forth until the memory
> is
> > > full.
> >
> > This is exactly what happened to me with the old code where the offset
> was
> > calculated,
> > I completely re-did that part and tested it on 2 different Uemis computed
> > which worked like a charm.
>
> That's the problem with trial and error bug fixing / coding. We don't
> understand exactly how the two different ids are related. I think they
> possibly aren't at all. So you need to figure out the offset by trial and
> error. With the three Uemis SDA that I had access to the offset was always
> fixed, but I don't even know if that is true.
>
> Here is the relevant excerpt from the debug log (I can send you the whole
> log if you think there's anything else in there that's interesting, but I
> don't think there is
>
> d_u_i after download and parse start 3 end 12 newmax 12 progress 0.19
> ::w req.txt
> "n076800000054getDive{90d179077baa3186643ea3d84ac93499{notempty{3{{{"
> :tr n0769 (after seeks)
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS768.TXT
> "1mn{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{"
> :tr n0770 (after seeks)
> added
> "{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{3{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-13T07:24:32{dive_no{int{3{logfilenr{int{5{date{ts{2014-05-13T16:22:53{duration{float{58.000000{depth{int{1466{altitude{int{1005{decoindex{int{-99{consumption{int{12{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8"
> to buffer - new length 510
> buf |object_id{int{3{remote_object_id{int{0{sync_id{in|
> reading details for #
>  3
>  {dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{3{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-13T07:24:32{dive_no{int{3{logfilenr{int{5{date{ts{2014-05-13T16:22:53{duration{float{58.000000{depth{int{1466{altitude{int{1005{decoindex{int{-99{consumption{int{12{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS769.TXT
> "1meVisibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float"
> added
> "Visibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float{0.000000{u8BCD{int{0{u8Light{int{0{u8Camera{int{0{u8BottomTankType{int{0{u8TravelTankType{int{0{u8DecoTankType{int{0{u8ScubaSet{int{0{u8Other{string{
> {divespot_id{int{-1{buddies{notes{string{
> {{{{00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
> to buffer - new length 1019
> :r: (null)
> ::w req.txt
> "n077000000054getDive{90d179077baa3186643ea3d84ac93499{notempty{2{{{"
> :tr n0771 (after seeks)
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS770.TXT
> "1mn{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{"
> :tr n0772 (after seeks)
> added
> "{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{2{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-12T03:39:37{dive_no{int{2{logfilenr{int{4{date{ts{2014-05-12T12:32:36{duration{float{64.000000{depth{int{1718{altitude{int{996{decoindex{int{-52{consumption{int{11{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8V"
> to buffer - new length 510
> buf |object_id{int{2{remote_object_id{int{0{sync_id{in|
> reading details for #
>  2
>  {dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{2{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-12T03:39:37{dive_no{int{2{logfilenr{int{4{date{ts{2014-05-12T12:32:36{duration{float{64.000000{depth{int{1718{altitude{int{996{decoindex{int{-52{consumption{int{11{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8V
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS771.TXT
> "1meisibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float{"
> added
> "isibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float{0.000000{u8BCD{int{0{u8Light{int{0{u8Camera{int{0{u8BottomTankType{int{0{u8TravelTankType{int{0{u8DecoTankType{int{0{u8ScubaSet{int{0{u8Other{string{
> {divespot_id{int{-1{buddies{notes{string{
> {{{{000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
> to buffer - new length 1019
> :r: (null)
> ::w req.txt
> "n077200000054getDive{90d179077baa3186643ea3d84ac93499{notempty{3{{{"
> :tr n0773 (after seeks)
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS772.TXT
> "1mn{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{"
> :tr n0774 (after seeks)
> added
> "{dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{3{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-13T07:24:32{dive_no{int{3{logfilenr{int{5{date{ts{2014-05-13T16:22:53{duration{float{58.000000{depth{int{1466{altitude{int{1005{decoindex{int{-99{consumption{int{12{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8"
> to buffer - new length 510
> buf |object_id{int{3{remote_object_id{int{0{sync_id{in|
> reading details for #
>  3
>  {dive{1.0{dive-conditions{1.0{dive-gear{1.0{dive-buddies{1.0{computer_id{int{20719{user_id{int{2{object_id{int{3{remote_object_id{int{0{sync_id{int{
> {deleted{bool{false{ctime{ts{2014-05-13T07:24:32{dive_no{int{3{logfilenr{int{5{date{ts{2014-05-13T16:22:53{duration{float{58.000000{depth{int{1466{altitude{int{1005{decoindex{int{-99{consumption{int{12{gas{int{1{water{int{1{divetype{int{0{diveactivity{int{0{training{int{0{conditions{u8Clouds{int{1{u8Deposit{int{1{u8Wind{int{1{u8Waves{int{1{u8Current{int{1{u8
> ::t /run/media/hohndel/UEMISSDA/ANS/ANS773.TXT
> "1meVisibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float"
> added
> "Visibility{int{1{gear{u8DiveSuit{int{0{u8DiveSuitType{int{0{u8SuitThickness{int{0{f32Weight{float{0.000000{u8BCD{int{0{u8Light{int{0{u8Camera{int{0{u8BottomTankType{int{0{u8TravelTankType{int{0{u8DecoTankType{int{0{u8ScubaSet{int{0{u8Other{string{
> {divespot_id{int{-1{buddies{notes{string{
> {{{{00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
> to buffer - new length 1019
> :r: (null)
> ::w req.txt
> "n077400000054getDive{90d179077baa3186643ea3d84ac93499{notempty{2{{{"
>
>
weird debug output, you have logfilenr 5, then logfilenr 4 then again
logfilenr 5 ....
anyway, I think I understand what the difference is with your and my offset
and will send a patch soon.

>
> And repeat at nausea.
>
> > Ca you do me a favour and switch on UEMIS debugging and send me the dump
> > files ? This will help me to analyse how your object_id and logfile_nr
> > differ from
> > mine which will help fixing the matching that obviously doesn't work on
> you
> > Uemis.
>
> On this one (I think this is the third one I had, Linus now has the forth
> one, the first two are both dead and I returned them to Uemis) the delta
> is 2. On one of mine the delta was 0 (that was the first one which lead to
> all kinds of unhealthy assumptions in the initial code that I wrote which
> worked for basically no one but me :-) ), on the other it was 3 IIRC. I
> don't know what it is on Linus'
>
> > > Cancelling the download from the dialog doesn't appear to work, either.
> > > Subsurface is simply hung when doing that.
> >
> > A bad on my side that I'll fix.
>
> I saw that you sent a patch for that and another cleanup patch. I will
> review the patches (this test was done with yesterday's master) and apply
> them unless something seems totally wrong.
>
> /D
>
>


-- 
Best regards,
Guido
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150917/e2c79618/attachment.html>


More information about the subsurface mailing list